.

140520_침입차단시스템_SNAT & DNAT

by 담배맛구마

NAT(사설 IP <-> 공인 IP)


1:1 NAT

사설IP 1 : 공인IP 1

사설IP당 공인IP하나씩 주는건데 잘안써

1:n NAT

사설IP 多 : 공인IP 1

예) 192.168.0.xxx  <->  49.1.218.118 이걸 공유기가 해주고 있다.

SNAT

FW 및의 다수의 사설IP들이 외부로 나갈때 FW의 외부IP로 변환해서 통신하는 방법

외부IP가 사설일경우에는 또 공인IP로 바꿔줘야 된다. 즉 공유기에서도 NAT를 한번 더 해줘야 한다

iptables -t nat -A POSTROUTING -s 네트워크대역 -o etho -j SNAT --to 방화벽외부IP

외부 인터페이스를 꼭 지정해줘야 한다. -- to또한 같이

iptables -t nat -A POSTROUTING -s 네트워크대역 -o etho -j MASQUERADE

타겟으로 MASQUERADE로하면 --to를 지정안해줘도된다. 방화벽외부IP가 dhcp일 경우 계속 변하므로 이렇게하면 편해진다.

nat chain

PREROUTING

외부에서 들어오는 것

POSTROUTING

나가는거(SNAT)


DNAT

외부 사용자가 내부네트워크로 접속

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to [내부사용자IP : PORT]

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to [내부사용자IP : 21]

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to [내부사용자IP : 21]

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to [내부사용자IP : 21]

이렇게 서버는 다른데 포트는 똑같을떄는 PNAT(Port NAT) 또는 포트포워딩을 사용한다. 외부에서 들어오는 포트에 대해서 구분함

iptables -t nat -A PREROUTING -p tcp --dport 801 -i eth0 -j DNAT --to [내부사용자IP : 21]

iptables -t nat -A PREROUTING -p tcp --dport 802 -i eth0 -j DNAT --to [내부사용자IP : 21]

iptables -t nat -A PREROUTING -p tcp --dport 803 -i eth0 -j DNAT --to [내부사용자IP : 21]

※ /etc/resolv.conf에서 nameserver설정볼수있어

/etc/sysconfig/network-scripts/ifcfg-eno....

에서 DNS=...말고 DNS1=... 으로 해줘야 정확하게 들어가

반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기