[자답] ftp_data_port=60009 를 vsftpd.conf에 올렸습니다. 파일질라는 접속잘되네요 (여전히 ftp.exe 는 리스팅이 안되고 있습니다.)
안녕하세요 2cpu 유저 여러분
다름이 아니라 현재 공부중인 centos7 에 vsftpd 를 설치하여 세팅을 하고 있습니다. 몇 날 몇일을 계속 보고 있으나, 도저히 답이 나오지 않아 답답한 마음에 문의드립니다 ㅜ.ㅜ
현재 물리적인 구성은 ISP -> IPTIME 공유기 -> ESXI 6.5 -> CENTOS7(VM) 으로 되어있습니다.
CENTOS7 (IP : 192.168.0.101)
FTP PORT : 20021 -> IPTIME 포트 포워딩 : 20004 (외부용)
FIREWALLD 에서 20021, 21, 20, 60100, 60000, 20000 이 TCP로 허용된 상태입니다.
문제는아래와 같습니다.
외부에서 (다른 ISP IP) 붙으면 FTP 까지 접근은 가능하나, 계속 디렉토리를 조회하지 못하는 문제가 있습니다.
내부망 192.168.0.X 와 192.168.0.101이 붙으면 ftp.exe로 붙으면 서로 통신이 잘 됩니다.
하지만 filezilla로 192.168.0.x와 192.168.0.101 이 붙으면 서로 통신이 되지 않습니다.
iptime으로 포트포워딩을 하니 연결까진 되는데 왜 리스팅이 뜨지 않는 것인지 이해가 가질 않습니다.
구글검색을 해보니 ftp data 전송포트 20이 활성화 되지 않았다고 다른포트 20000으로 변경해보니 vsftpd가 기동되지 않더군요
( 변경내역 : connect_from_port_20=YES )
제가 어느곳을 보아야 할 지 잘몰라 글을 올립니다.
아래는 제가 현재 세팅한 vsftp.conf 파일 내용입니다.
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES listen_port=20021 port_enable=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list chroot_local_user=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES # 425 Failed to establish connection error fix pasv_enable=YES pasv_min_port=60000 pasv_max_port=60100 local_root=/var/ftp/pub |
새벽에 글을 적다보니 두서가 많이 없네요.. 정신차리면 다시 다듬도록 하겠습니다.
감사합니다.
pasv_max_port=60100
패시브모드 포트설정이
min - 60000부터
max - 60100까지 입니다.
즉.. 포트포워딩을 60000,60100 이 아닌 60000~60100까지 해주셔야 할꺼 같습니다.
내부망은 외부 포트포워딩과 관련없이 동작하기 때문에 내부망에서는 잘 될껍니다.
이용하는사람이 많지 않다면 패시프 포트는 작게 설정하셔도 괜찮습니다. 60000 ~ 60010 정도?
현재설정에서 파일질라에서 접속모드를 강제로 수동형으로 접속하면 되긴할껍니다.
저도 리눅스에 초짜인지라... 그 이상의 정보는 다른분께 패쓰~ 받아주세용
이게 nf_conntrack_ftp 모듈이 동작할 포트설정하는겁니다.
주요부부은
1. pasv_address 에 외부아이피를 넣는다.
2. pasv_min_port / pasv_max_port 를 지정해서 방화벽에서 연다.
# Passive Mode
pasv_enable=YES
pasv_promiscuous=YES
pasv_address=xxx.xxx.xxx.xxx
pasv_addr_resolve=NO
pasv_min_port=6000
pasv_max_port=6900
port_enable=YES