iptables 이용한 DNAT ?
작성자 정보
- 보안 작성
- 작성일
컨텐츠 정보
- 3,171 조회
- 0 추천
- 목록
본문
안녕하세요
iptables 이용한 DNAT 질문입니다.
리눅스는 페도라 3.0 입니다. (커널 2.6.9-1.667)
iptables 관련 커널 컴파일은 하지 않았습니다.
iptables 소스로 다운 받아서 사용하였습니다
버젼은 1.3.3 입니다
저희집은 유동ip입니다
리눅스 서버 => eth0 공인(ip 58.233.146.207) 사설 eth1 (ip 192.168.1.3)
서브컴 1(윈도우) => 랜카드 (ip 192.168.1.2)
cisco => 192.168.1.254 포트 23
포트포워딩을 구축생각
----->(eth0) 리눅스 서버 (eth1) ------- 스위치 ------- 서브컴 192.168.1.2
------- cisco 192.168.1.254 : 23
외부에서 cisco 라우터에 접속을 할라면 리눅스 서버에 접속해서 다시 telnet으로 cisco 장비에 접속을 해야되는데
DNAT 이용해서 리눅스 서버 58.233.146.207:9999 접속하면 192.168.1.254:23 으로 포트포워딩되게 하고 싶은데 자꾸 않되네여..
책보고 만든 셀 스크립트입니다.
[root@root sh]# cat nat.sh
#!/bin/sh
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -d 58.233.146.207 -p TCP --dport 9999 -j DNAT --to 192.168.1.254:23
iptables -t nat -A PREROUTING -d 192.168.1.3 -p TCP --dport 9999 -j DNAT --to 192.168.1.254:23
iptables -t nat -A PREROUTING -d 192.168.1.3 -p TCP --dport 8888 -j DNAT --to 192.168.1.2:80
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1번째는 58.233.146.207:9999 들어오는 패킷들은 192.168.1.254:23 (시스코 장비)
2번째는 192.168.1.3:9999 들어오는 패킷들은 192.168.1.254:23(시스코 장비)
3번째 192.168.1.2:8888 들어오는 패킷들은 192.168.1.2:80(서브컴에 웹페이지)
4번째는 마스커레이딩 NAT를 했습니다.
[root@root sh]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere 58.233.146.207 tcp dpt:9999 to:192.168.1.254:23
DNAT tcp -- anywhere 192.168.1.3 tcp dpt:9999 to:192.168.1.254:23
DNAT tcp -- anywhere 192.168.1.3 tcp dpt:8888 to:192.168.1.2:80
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@root sh]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
1번째 SecureCRT 프로그램으로 58.233.146.207 포트 9999 적고 엔터시 접속이 않되네여
telnet 58.233.146.207 9999 cmd 창에서 해도 접속이 않되네여
그래서 혹시 서브컴에서는 리눅스서버(eth1) 이 들어오는 트래픽이니깐 2번째줄 3번째줄을 추가하고 SrcureCRT 프고르램으로 192.168.1.3 9999 적고 엔터시 접속이 않되고
telnet 192.168.1.3 9999 해도 접속이 않됩니다
그리고 웹브라우저에서 192.168.1.3:8888 해도 192.168.1.2:80 웹서비스가 열리지가 않습니다
제가 뭐 잘 못 적었나여?
4번째 마스커레이딩은 잘 동작합니다..
혹시 밑에 제가 글을 남겼는데 patch-o-matic-ng 나 iptable 에서 커널 컴파일이 DNAT 관련 이 커널에 컴파일이 않되서 그런가여..
페도라 3.0 설치된 커널로 테스트 하고 있습니다.
어디서 부터 차근차근 접급을 해야할지 모르겠습니다
답변 부탁드립니다
관련자료
-
이전
-
다음