iptables와 SNAT 관련 질문
글쓴이: croshine / 작성시간: 화, 2010/08/31 - 3:37오후
iptables로 SNAT를 하고자 합니다.
환경
- NIC1(eth0) : 211.242.XXX.AAA/24 (ISP로 빠지는 인터페이스)
- NIC2(eth2) : 192.168.2.1/24 (라우터와 연결된 인터페이스)
- SNAT : 192.168.2.100/32 → 211.242.XXX.BBB/32
그래서 요런 명령어를 쳤습니다.
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 211.242.XXX.BBB
그랬더니... 코넷DNS(168.126.63.1)로 핑이 안가네요..
혼자 골머리를 앓다가 설정을 초기화시키고 요렇게 쳐봤습니다.
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 211.242.XXX.AAA
헉.. 무쟈게 잘 나갑니다. 즉, 정리를 하자면..
인터넷과 연결되어 있는 NIC에 부여된 IP로 SNAT를 하면 잘 나가는데,
같은 대역에다 쓸 수 있는 IP임에도(학원이라 C클래스를 통째로 쓸 수 있습니다.)
211.242.XXX.BBB는 안가네요...
SNAT를 할려면 꼭~! 인터페이스에 부여된 IP로 바꿔야되는건가요?
덤으로.. PREROUTING과 POSTROUTING은 어떤 차이인가요?
고수님들의 도움이 필요합니다~! ^-^
Forums:
하악... 중요한걸 안적었었네요..
운영체제는 CentOS 5.5입니다 ㅜㅜ
인용: SNAT를 할려면
네.
PREROUTING은 라우팅이 결정되기 전, POSTROUTING은 라우팅이 결정된 후 입니다.
따라서 DNAT은 반드시 PREROUTING에서 해 줘야 하고, (라우팅은 목적지ip에 따라 달라질 수 있습니다)
SNAT은 POSTROUTING에서 해 줘야 합니다. (라우팅이 결정된 후에 src ip가 바뀌는 경우, 그리고 masquerading을 생각해보세요)
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
오오오!!
감사합니다~
하지만 그렇다면 전 큰일났다능... ㅠㅠ
댓글 달기