질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

DNAT 관련 질문입니다.

작성자 정보

  • 서진수 작성
  • 작성일

컨텐츠 정보

본문

아래 1230번에 질문했던 내용인데요...

알려주신 방법을 했는데도 DNAT 가 동작을 안합니다.

아래에 소스를 올리겠습니다.

아래의 내용중 #######로 둘러싼 부분이 동작을 안하고 있습니다.

다시한번 요약하면

211.237.16.84:3389 로 접속하면 192.168.0.146의 터미널서비스로 접근을 하고

211.237.16.84:3390 으로 접속하면 192.168.0.145의 터미널 서비스로 접근을 하며

211.237.16.84:8900 으로 접속하면 192.168.0.145의 8900번 포트로 접근하며

211.237.16.84:21000 으로 접속하면 192.168.0.3의 FTP로 접근하기를 원하는데

이것들이 동작을 안합니다.

항상 막힐때마다 도와주셔서 너무 감사합니다.

 

#!/bin/bash
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -F
iptables -t filter -F
iptables -t mangle -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#input 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 255.255.255.255/32 -j DROP
iptables -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 169.254.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 192.0.2.0/24 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 224.0.0.0/4 -j DROP
iptables -A INPUT -i eth0 -s 240.0.0.0/5 -j DROP
iptables -A INPUT -i eth0 -s 248.0.0.0/5 -j DROP

#forward 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A FORWARD -i eth0 -s 255.255.255.255/32 -j DROP
iptables -A FORWARD -i eth0 -s 0.0.0.0/8 -j DROP
iptables -A FORWARD -i eth0 -s 169.254.0.0/16 -j DROP
iptables -A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i eth0 -s 192.0.2.0/24 -j DROP
iptables -A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i eth0 -s 224.0.0.0/4 -j DROP
iptables -A FORWARD -i eth0 -s 240.0.0.0/5 -j DROP
iptables -A FORWARD -i eth0 -s 248.0.0.0/5 -j DROP

#output 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -d 255.255.255.255/32 -j DROP
iptables -A OUTPUT -d 0.0.0.0/8 -j DROP
iptables -A OUTPUT -d 169.254.0.0/16 -j DROP
iptables -A OUTPUT -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -d 192.0.2.0/24 -j DROP
iptables -A OUTPUT -o eth0 -d 192.168.0.0/16 -j DROP
iptables -A OUTPUT -d 224.0.0.0/4 -j DROP
iptables -A OUTPUT -d 240.0.0.0/5 -j DROP
iptables -A OUTPUT -d 248.0.0.0/5 -j DROP

iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.1/24 -j ACCEPT
iptables -A INPUT -i eth0 -s 211.237.16.82 -j ACCEPT
iptables -A INPUT -i eth0 -s 211.237.16.83 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 211.237.16.84

##################################################################################################
iptables -t nat -A PREROUTING -d 211.237.16.84 -p TCP --dport 3389 -j DNAT --to 192.168.0.146:3389
iptables -A FORWARD -p tcp -d 192.168.0.146 --dport 3389 -m state --state NEW -j ACCEPT

iptables -t nat -A PREROUTING -d 211.237.16.84 -p TCP --dport 3390 -j DNAT --to 192.168.0.145:3389
iptables -A FORWARD -p tcp -d 192.168.0.145 --dport 3389 -m state --state NEW -j ACCEPT

iptables -t nat -A PREROUTING -d 211.237.16.84 -p TCP --dport 8900 -j DNAT --to 192.168.0.145:8900
iptables -A FORWARD -p tcp -d 192.168.0.145 --dport 8900 -m state --state NEW -j ACCEPT

iptables -t nat -A PREROUTING -d 211.237.16.84 -p TCP --dport 21000 -j DNAT --to 192.168.0.103:20
iptables -A FORWARD -p tcp -d 192.168.0.103 --dport 20 -m state --state NEW -j ACCEPT

##################################################################################################

iptables -A INPUT -p TCP --sport 1024: --dport 21 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p TCP ! --syn --sport 21 --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP --sport 20 --dport 1024: -m state --state RELATED -j ACCEPT
iptables -A INPUT -p TCP ! --syn --sport 1024: --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP --sport 1024: --dport 1024 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p TCP ! --syn --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 --sport 1024:65535 --dport 21 -m state --state NEW -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#iptables -A INPUT -m psd -j DROP
#iptables -A FORWARD -m psd -j DROP

iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

iptables -N icmp_handle
iptables -F icmp_handle
iptables -A icmp_handle -p ICMP --icmp-type echo-reply -j ACCEPT
iptables -A icmp_handle -p ICMP --icmp-type network-unreachable -m limit --limit 1/s --limit-burst 5 -j ACCEPT

iptables -N mac-filter
iptables -A INPUT -j mac-filter
iptables -A mac-filter -m mac --mac-source 00:C0:9F:4A:23:8D -j ACCEPT

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,133 명
  • 현재 강좌수 :  36,172 개
  • 현재 접속자 :  347 명