작업환경
- 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 하는 것도 알아두자.
'Skills > Network' 카테고리의 다른 글
리눅스에서 TCPDump를 이용하여 Wireshark(PCAP)파일로 분할 패킷 캡쳐방법 (0) | 2015.03.18 |
---|---|
VPN 터널 - GRE 프로토콜 47 패킷 설명 및 사용 (0) | 2014.08.06 |
IP 터널 개요 (0) | 2014.08.06 |
SSH Tunneling 사용하기 (0) | 2014.08.06 |
Packet Sniffer Code in C using Linux Sockets (BSD) – Part 2 (0) | 2014.07.31 |
댓글