■ 참고링크
http://netfilter.org/projects/conntrack-tools/downloads.html
http://translate.google.co.kr/translate?hl=ko&langpair=en%7Cko&u=http://timanovsky.wordpress.com/2009/04/10/tuning-linux-firewall-connection-tracker-ip_conntrack/
http://firstboos.tistory.com/entry/snort-inline-%EC%A0%95%EB%A6%AC-%EC%8B%9C%EC%9E%91
http://ubuntuforums.org/showthread.php?t=1688263
http://elenoa.tistory.com/101
http://antmeetspenguin.blogspot.com/2011/01/high-performance-linux-router.html#!/2011/01/high-performance-linux-router.html
■ 개요: linux 의 방화벽에서 stateful firewall rule 이 사용될 경우 ip_conntrack or nf_conntrack table 이 관리되게 되는데
많이 관리하면 할수록 성능저하를 가져오게 됩니다. 이럴때 conntrack table 을 flush 하여 초기화 할수 있는 방법이 있어서 소개하고자 합니다.
■ conntrack table flush 방법
conntrack-tools 설치후 conntrack -F
■ conntrack-tools 설치방법
- 주의!: 최신버전인 1.2.1을 설치하려면 커널버전 3.4.0 이상을 사용해야 합니다.
(To support the nfnetlink_cttimeout subsystem, you will have to install 3.4.0 or later)
- 그래서 저는 1.0.1 버전을 설치하였습니다.
- 요구사항: libnetfilter_conntrack-1.0.1, libmnl-1.0.3, libnfnetlink-1.0.0 선 설치 필요
- 설치과정
1. [/etc/ld.so.conf] 수정후 ldconfig로 적용
---------------------------------------------------
/lib
/lib64
/opt/dell/srvadmin/dataeng/bin
/opt/dell/srvadmin/hapi/bin
/opt/dell/srvadmin/oma/bin
/opt/dell/srvadmin/omsa/bin
/opt/dell/srvadmin/rac5/bin
/opt/dell/srvadmin/rac5/libs
/opt/dell/srvadmin/shared/bin
/opt/dell/srvadmin/sm
/opt/dell/srvadmin/sm/dellvl
/usr/lib
/usr/lib64
/usr/local/mysql/lib/mysql
/usr/local/lib ===> 추가
include ld.so.conf.d/*.conf
---------------------------------------------------
2. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ; ./configure && make && make install
[root@test ~]# wc -l /proc/net/nf_conntrack
7437 /proc/net/nf_conntrack
■ conntrack table flush 전/후 비교
[root@test~]# wc -l /proc/net/nf_conntrack
8523 /proc/net/nf_conntrack =====> flush 전
[root@test ~]# wc -l /proc/net/nf_conntrack
737 /proc/net/nf_conntrack =====> flush 후 몇분 경과
■ 참고로 커널에서는 nf_conntrack 모듈을 쓰던 ip_conntrack 모듈을 쓰던 호환성을 위해 두개다 똑같이 관리를 해주네요
(즉, conntrack -F 해주면 두개 table 이 다 적용된다는 얘기입니다.)
[root@test tmp]# wc -l /proc/net/nf_conntrack;wc -l /proc/net/ip_conntrack
975 /proc/net/nf_conntrack
975 /proc/net/ip_conntrack
■ 결론: 오래된 table 정보로 인해서 장애 처리시 혼선이 발생하기 때문에 하루에 한번씩 정도 flush 해주는게 좋을듯 함