[Bug 830] New: 關於iptables影響服務器性能事宜

bugzilla-daemon at netfilter.org bugzilla-daemon at netfilter.org
Wed Jun 26 22:21:23 CEST 2013


https://bugzilla.netfilter.org/show_bug.cgi?id=830

           Summary: 關於iptables影響服務器性能事宜
           Product: iptables
           Version: unspecified
          Platform: All
        OS/Version: RedHat Linux
            Status: NEW
          Severity: major
          Priority: P5
         Component: iptables
        AssignedTo: netfilter-buglog at lists.netfilter.org
        ReportedBy: higkoohk at gmail.com
   Estimated Hours: 0.0


非常高興今天找到可以發出此問題的地方,請允許我啰嗦幾句。

在使用Linux的iptables時,我發現它會嚴重影響服務器性能,特別是在高壓力服務器上感知明顯。

比如:一臺每秒處理過萬次http請求的web服務器,即使iptables不設置任何規則,你會發現:
1、服務器性能開始下降
2、很快出現 iptables ip_conntrack table full dropping packet

OK,針對 ip_conntrack
表滿的問題,可以調大表,但表越大越慢,根本問題是這些表裏記錄了所有tcp各種狀態!其實我並不關心tcp狀態,只需要ip地址的過濾功能。感覺iptables太重了,有沒辦法輕量化?

另外,我也找到 ip_conntrack 的其他解決辦法:使用 raw 表,開啟 notrack 標記,這樣符合規則的連接就不會被記錄到
ip_conntrack 表,iptables 的性能明顯提升!

但是,開啟了 notrack 功能會影響服務器的正常功能,比如對外進行http請求、dns解析。
所以,生產環境,我們只對服務端口,譬如80開啟notrack,但最終這不是一個好辦法。因為可能有其他端口也需要維護,這件事情就變得非常複雜。

求支援!

-- 
Configure bugmail: https://bugzilla.netfilter.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the netfilter-buglog mailing list