<S_NAT, D_NAT:고정 IP 사용환경에서 사용>
현재 제가 쓰고 있는 네트워크 환경이 사설 IP 환경이기 때문에 192.168.10.0 네트워크 대역을 공인IP
대역이라 가정하고 적용합니다.
S_NAT : 내가 나갈 때 필요한 NAT(내가 이용하기 위해) Iptables –t nat –I [A] POSTROUTING –o [나가는 인터페이스] –s [나가려는 src IP] –j SNAT --to [밖으로 나갈 때 쓸 공인 IP] [root@jo:~]#ip addr add 192.168.10.188/24 dev eth0 à 앞으로 NAT로 쓸 IP
[root@jo:~]#ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:a9:92:8a brd ff:ff:ff:ff:ff:ff inet 192.168.10.181/24 brd 192.168.10.255 scope global eth0 inet 192.168.10.188/24 scope global secondary eth0 inet6 fe80::20c:29ff:fea9:928a/64 scope link valid_lft forever preferred_lft forever
[root@jo:~]#iptables -I INPUT -p icmp -j ACCEPT à ping 되게 풀어준다.
[root@jo:~]#iptables -t nat -I POSTROUTING -o eth0 -s 192.168.100.100 à [메일서버(반대편 다른 서버)]IP] : 192.168.100.100
내가 사용하기 위한 NAT 일명 source NAT [root@jo:~]#iptables -t nat -I POSTROUTING -o eth0 -s 192.168.100.100 -j SNAT --to 192.168.10.188 à SNAT 연결 |
Ping test
[메일서버(반대편 다른 서버)]IP : 192.168.100.100] [root@woo:~]#ping 192.168.10.188 à 새로 만들어준 NAT IP로 ping test PING 192.168.10.188 (192.168.10.188) 56(84) bytes of data. 64 bytes from 192.168.10.188: icmp_seq=1 ttl=64 time=0.136 ms 64 bytes from 192.168.10.188: icmp_seq=2 ttl=64 time=0.711 ms 64 bytes from 192.168.10.188: icmp_seq=3 ttl=64 time=9.98 ms 64 bytes from 192.168.10.188: icmp_seq=4 ttl=64 time=0.194 ms |
cat /proc/sys/net/ipv4/ip_forward à 혹시 ping 안되면 확인 출력 값이 "1"이어야 한다. "0"이면 echo "1" > /proc/sys/net/ipv4/ip_forward |
D_NAT : 남이 들어올 때 필요한 NAT(내가 서비스 해주기 위해 즉, 남이 이용하는 것) [BIND서버, 방화벽서버_ip:192.168.10.181]에서 [root@jo:~]#iptables -t nat -I PREROUTING -d 192.168.10.188(공인IP) –j DNAT --to-destination 192.168.100.100
Xshell:\> ssh 192.168.10.188 22 à 이제는 공인 IP로 접속이 된다. |
<MASQUERADE:유동 IP 사용환경에서 사용>