본문 바로가기
  • AI (Artificial Intelligence)
Skills/Network

iptables 를 이용한 Port Forwarding 설정하기

by 로샤스 2014. 8. 6.

작업환경

  • CentOS

System 설정

아래의 명령을 실행하여 sysctl.conf 파일을 편집합니다.

1
vi /etc/sysctl.conf

아래와 같이 net.ipv4.ip_forward 값을 1 로 변경합니다. 재부팅시에 적용이 됩니다.

1
net.ipv4.ip_forward = 1

아래의 명령을 이용하여 직접 Kernel 변수를 수정할 수 있습니다.

1
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables 설정

MASQUERADE 설정

1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Network Interface (eth0) 을 통한 Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport ${port} -j DNAT --to ${IP:Port}

특정 IP 를 통한 Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport ${Port} -j DNAT --to-destination ${IP:Port}

Local Port Forwarding

1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport ${Port} -j REDIRECT --to-port ${Port}












출처 : http://blog.beany.co.kr/archives/2157


사실.. 위 설정에 대해서는 다 알고있다.

NAT 서버를 설정하면서 수없이 해보았던 건데.. 참 정리가 잘된거 같아서 옮겨왔다.


위에 내용중에 추가할 부분은 반드시 service iptables stop (iptables를 멈춘 후) 한 후 추가하고,

다 추가한 후 service iptables save 그리고 마지막으로 service iptables start 를 하는 것이다.


그리고 가끔. selinux 로 인해서 적용이 안될경우가 있으니 disable 하는 것도 알아두자. 













댓글