iptables를 이용한 DNAT?
안녕하세요~ 밑에 SNAT에 관한 질문을 올렸던 사람입니다.
일단 실제적인 질문을 하기전에 전반적인 상황을 설명드릴게요.
-------------------------------------------------------------------------
★Utilities
=GNS3 0.7
=VMware 7.1
★Topology
(ISP)
...|
...|
(F/W)---(DMZ)
...|
...|
(TRZ)
★Firewall
=O/S:CentOS 5.5(on VMware)
=eth0
-IP:211.242.XXX.AAA/24
-ISP로 빠지는 인터페이스.
=eth1
-IP:192.168.1.1/24
-Trusted Zone(TRZ)로 연결된 인터페이스. 보안상 사설 IP를 사용.
=eth2
-IP:20.20.10.1/24
-DMZ로 연결된 인터페이스.
★DMZ
=Cisco c3660(on GNS3)
=FastEthernet 0/0
-IP:20.20.10.2/24
=서버라고 여기는 라우터.
★TRZ
=Cisco c3660(on GNS3)
=FastEthernet 0/0
-IP:192.168.10.2/24
=코어레이어라 여기는 라우터.
----------------------------------------------------------------------------
현재 토폴로지에서 DMZ를 웹서버라고 가정해보겠습니다. 외부 인터넷 환경에서 웹서버로 접속하려면
웹서버는 공인 IP를 가지고 있어야 합니다. 그런데, 현재 실험환경상 쓸 수 있는 IP대역이 211.242.
XXX.0/24 밖에 없습니다.(이 대역안에서 대략 20개 정도의 IP를 쓸 수 있습니다.) 이 대역중 하나인
211.242.XXX.AAA/24를 방화벽 eth0에 부여한 상태입니다.
즉, 정리해보면 SNAT를 해줄 수 있는 IP가 211.242.XXX.AAA/24 밖에 없는거죠. 라우터나 멀티레이어
스위치같은 L3 장비들과는 달리, 리눅스에서 SNAT를 해줄 때엔 오직 인터페이스에 부여되어 있는 IP만
가능하다고 합니다. 따라서 웹서버를 1:1로 NAPT시킬 수 없는 상황인데요..
이제 질문입니다!
1. 라우터나 MLS에서는 인터페이스에 부여되지 않은 IP라 하더라도, 대역이 같고 가용한 IP일 경우
NAPT가 가능합니다. 리눅스에서도 그렇게 할 수 있는지요?
2. iptables로 DNAT를 해주었을 경우 될 가능성이 있나요? 또, 그렇게 하려면 어떤 식의 명령어를
주어야 하나요?
- 20.* 은 공인 아이피
- 20.* 은 공인 아이피 블럭입니다. 내부 네트웍으로 쓰면 20.*은 접속 못해요.
- 파이어월 인터페이스에 SNAT할 주소도 추가하세요.
그냥 공인아이피의
그냥 공인아이피의 특정 포트(80)으로 오는 연결은 DMZ서버에 DNAT하세요.
iptables에서 pair된 연결에 대한 것은 아마 알아서 snat 해줬던걸로 기억합니다.
혹은 특정 ip를 dmz랑 매치 시키려면 윗분 얘기처럼 그 아이피를 외부 인터페이스에 추가하세요.
인터페이스에 여러 아이피 넣을 수 있습니다.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
감사합니다!
Secondary IP로 해결봤습니다 :)
댓글 달기