IPTables FTP Passive Mode 설정 - vsftp 설정

FTP 접속시에 Active mode(활성), Passive Mode(비활성) 두가지 모드가 있는데 Active 경우는 일반적인 경우 21번 포트를 사용하지만 Passive Mode 에서는 LIST 등의 명렁을 위해 하나의 포트가 더 필요합니다. 이 해당 포트를 일정 범위로 지정 후에, iptables 에서 해당 포트를 오픈해서 사용하는 것이 좋습니다.

1. vsftpd 설정

[root@mail ~]# vi /etc/vsftpd/vsftpd.conf

pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50100

[root@mail ~]# /etc/init.d/vsftpd restart

2. iptables 설정

[root@mail ~]# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 21 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50000:50100 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 50000:50100 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

[root@mail ~]# service iptables restart 

출처 : http://ihelpers.x2soft.co.kr/programming/tipntech.php?CMD=print&IDX=690&source=overture



주로 접속하는 기기가 사설아이피의 경우 Active mode(활성) 모드일 경우 접속이 되지 않거나

접속후에 리스트가 아무것도 표시 되지 않는 문제가 있습니다. 

이럴경우 Passive Mode 모드로 변경해주면 해결이 됩니다. 


위는 vsftp를 Passive Mode로 설정하는 방법입니다.






인터넷에 아무리 찾아봐도

 # setsebool -P ftp_home_dir=1  

이렇게 설정해 주면 된다고 하는데....


근데 내가 설치한 CentOS 6.X 버전에서는 저 명령어 주면 그대로 먹통이 됩니다. 


이곳 저곳 열심히 찾다가 다른 해결법이 있어 메모겸 올려둡니다.




[root@적샷굿샷~]# setsebool allow_ftpd_full_access on

[root@적샷굿샷~]# service vsftpd restart


이렇게 하면 잘 접속되네요. '-' 


왜 잘되는지는 모르겠습니다. 

파일질라 클라이언트로 접속시엔 저 명령어 후에도 접속은 되지만 폴더, 파일 리스트가 여전히 안보이네요.

이제 파일질라와 빠이 빠이 해야 할때가 왔나 봅니다.





+ Recent posts