이렇게 수정하고, libnfnetlink는 make에 install까지 무난하게 통과했다. 그런 다음, conntrack-tools의 (컴파일도 아니고!) configure에서 오류가 발생한다.
checking for LIBNFNETLINK... Package libnfnetlink was not found in the pkg-config search path. Perhaps you should add the directory containing `libnfnetlink.pc' to the PKG_CONFIG_PATH environment variable No package 'libnfnetlink' found no configure: error: Cannot find libnfnetlink >= 0.0.25
난 깔았다구, 친구; 혹시나 해서 libnfnetlink에서 Makefile을 뒤져서 pkg-config 관련 install을 다시 한번 진행했다.
음.. 진행되고, /usr/local/lib/pkgconfig/libnfnetlink.pc 파일도 존재하는데 역시나 configure는 실패한다. 두번째, set으로 PKG_CONFIG_PATH 환경변수를 찾아봤는데, 음 없다. 이것을 세팅하고,
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
다시 한번 도전. 음 이번에는 넘어가는듯 했지만..
checking pkg-config is at least version 0.9.0... yes checking for LIBNFNETLINK... Unknown keyword 'URL' in '/usr/local/lib/pkgconfig/libnfnetlink.pc' no configure: error: Cannot find libnfnetlink >= 0.0.25
... 나 안할래; /usr/local/lib/pkgconfig/libnfnetlink.pc 파일을 열어봤다.
checking for LIBNFNETLINK... yes checking for LIBNETFILTER_CONNTRACK... Package libnetfilter_conntrack was not found in the pkg-config search path. Perhaps you should add the directory containing `libnetfilter_conntrack.pc' to the PKG_CONFIG_PATH environment variable No package 'libnetfilter_conntrack' found no configure: error: Cannot find libnetfilter_conntrack >= 0.0.81
이번에는 libnetfilter_conntrack을 설치. configure 전에 PKG_CONFIG_PATH를 다시 한번 export하고, (소스는 수정 안했고;) 컴파일 하고 install 한 후에 /usr/local/lib/pkgconfig/libnetfilter_conntrack.pc (맞나?) 파일을 수정. 다시 URL 라인을 제거 해 준 후. 다시 conntrack_tools에서 configure... 오 이번에는 깔끔하게 성공! (당연한거 아닌가;) install까지 한 후에.. 이제 실행!
linux# conntrack conntrack: error while loading shared libraries: libnetfilter_conntrack.so.1: cannot open shared object file: No such file or directory
당연한건 아닌가보다. ldconfig에 shared library 경로를 추가하고 다시 한번 실행. 그러나..
linux# conntrackd --help Linux kernel version must be >= 2.6.18 linux# uname -a Linux localhost.localdomain 2.6.9-42.EL.1.smp #1 SMP Tue Jan 2 02:25:11 KST 2007 x86_64 x86_64 x86_64 GNU/Linux linux#
.. 네 그런데 왜 깔리셨나요? 어쨌든 이 길은 아닌가보다. 다시 한번 검색해보았다. 아니나다를까..
아 네;; 그러니까 RH-Firewall-1-INPUT 체인의 state - 룰이 ipt_state 모듈을 로딩하고, 이 모듈은 다시 ip_conntrack 모듈을 로딩하게 된다는 것이고, 그러니까 iptable 룰에서 state - 룰들을 다 뺀다면 ip_conntrack 모듈이 로딩되지 않는다는 의미인것.. 인가보다;