My Drive

[CentOS] NFQUEUE 설치 및 설정 본문

linux

[CentOS] NFQUEUE 설치 및 설정

sunnyeo.park 2016. 2. 18. 15:45

iptables 규칙을 이용해 트래픽을 NFQUEUE로 넘겨주면, 콜백형식으로 구현한 코드에서 패킷을 먼저 처리한 후에 내보낼 수 있음. (패킷 분석 및 조작 가능)

ex) 

- 웹페이지의 응답 패킷을 받아서 원하는 내용의 웹페이지가 뜨도록 내용 변조

- 특정 패킷은 drop시켜서 받지 못하도록 



libnetfilter 설치  http://www.netfilter.org/projects/libnfnetlink/downloads.html

>> yum install bzip2

>> tar –xvf libnfnetlink-1.0.1.tar.bz2

>> cd libnfnetlink-1.0.1

>> ./configure --prefix=/usr

>> make

>> make install


libmnl 설치  http://www.netfilter.org/projects/libmnl/downloads.html

>> tar –xvf libmnl-1.0.3.tar.bz2

>> cd libmnl-1.0.3

>> ./configure --prefix=/usr

>> make

>> make install


libnetfilter_queue 설치 http://www.netfilter.org/projects/libnetfilter_queue/downloads.html

>> tar -xvf libnetfilter_queue-1.0.2.tar.bz2

>> cd libnetfilter_queue-1.0.2

>> ./configure --prefix=/usr

configure 에러시

- export PKG_CONFIG_PATH=/usr/lib/pkgconfig

>> make

>> make install



* 코드 작성에 필요한 설명 및 예제 코드

http://www.netfilter.org/projects/libnetfilter_queue/doxygen/index.html


* 컴파일 옵션

- gcc -o [OUTPUT] [SOURCE] -lnfnetlink -lnetfilter_queue


* 공유 라이브러리 에러시

- export LD_LIBRARY_PATH=/usr/lib


* NFQUEUE 속도 느릴시

>> vi /etc/sysctl.conf에 net.ipv4.ip_forward = 1 추가

>> sysctl -p /etc/sysctl.conf


* IPTABLES 설정

- iptables -t nat -A PREROUTING -i enp3s0 -p tcp --sport 80 -j NFQUEUE --queue-num 0


'linux' 카테고리의 다른 글

[CentOS] CentOS7 웹서버 (http, https)  (0) 2016.02.18
[CentOS] CentOS7 MariaDB 5.5 설치  (0) 2016.02.18
[CentOS] CentOS7 Minimal 기본 설정  (0) 2016.02.18
시스템 문제 만들때  (0) 2014.09.29
[Ubuntu] 리눅스 설치 후  (0) 2014.09.29
Comments