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

아래질문에 대한 추가질문입니다.

작성자 정보

  • 서진수 작성
  • 작성일

컨텐츠 정보

본문

NAT 방화벽을 통해서 외부의 ftp서버에 접속하는 중에

알ftp나 파일질라등을 이용해서 접속을 하려고 했습니다.

패시브모드로 접속까지는 성공했는데 디렉토리를 바꾸려고 하니까 에러가 나고

경로를 변경할수 없습니다. 라는 에러메세지와 함께 연결이 끊어져 버립니다.

왜 그런지 고수님들의 조언 부탁드립니다.

알ftp는 버전이 4.1이고 파일질라는 2.2.3입니다.

혹시 몰라서 NAT 소스도 올리겠습니다.

#!/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

 

 

관련자료

댓글 2

주진은님의 댓글

  • 주진은
  • 작성일
웹브라우저에서도 동일한 정상이 있어신가요? 만약 없다면 상당히 골치 아픈 문제가 될것 같구요! 그렇지 안다면 FTP서버 설정이나 환경이 문제가 있는듯합니다. 방화벽하고는 크게 문제 있는것 같지 않습니다.

서진수님의 댓글

  • 서진수
  • 작성일
감사합니다. 알FTP의 문제였습니다. 전송모드를 바이너리로 하면 되는데 알FTP는 무조건 ASCII모드밖에 지원을 안한다고 하네요...메뉴는 있는데 작동안한다는 말을 듣고 좀 어이가 없지만...암튼 너무 감사합니다!!

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  416 명