Ben's

conntrack-tools project 본문

리눅스

conntrack-tools project

Ben Ko (SINCE 2013) 2013. 1. 21. 16:06
728x90

■ 참고링크
   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@fw-007 ~]# wc -l /proc/net/nf_conntrack
7437 /proc/net/nf_conntrack

■ conntrack table flush 전/후 비교

[root@fw-007 ~]# wc -l /proc/net/nf_conntrack
8523 /proc/net/nf_conntrack                  =====> flush 전

[root@fw-007 ~]# wc -l /proc/net/nf_conntrack
737 /proc/net/nf_conntrack                    =====> flush 후 몇분 경과

■ 참고로 커널에서는 nf_conntrack 모듈을 쓰던 ip_conntrack 모듈을 쓰던 호환성을 위해 두개다 똑같이 관리를 해주네요
   (즉, conntrack -F 해주면 두개 table 이 다 적용된다는 얘기입니다.)

[root@fw-007 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 하는걸 검토중입니다.

'리눅스' 카테고리의 다른 글

robots.txt  (0) 2013.01.21
프로세스당 버추얼메모리 사이즈 제한  (0) 2013.01.21
디스크 hotswap 기능의 진실  (0) 2013.01.21
tcping-0.1(패킷 로스 체크)  (0) 2013.01.21
powernow-k8 off 방법 및 CPU 개별 off 방법  (0) 2013.01.21