vsftpd за NAT'ом (Error: 227 entering passive mode + 500 illegal port command)

28.12.2017

При подключении Total Commander'ом к FTP получил следующее:

pic1

pic1

Методом проб и ошибок, понял, что проблема именно в фаерволе (Iptables).

Мне помог скрипт для обнуления правил iptables - этот вариант НЕ требует доп. правил в vsftpd.conf, но, по факту, это эквивалентно полному отключению фаервола. Для меня это было приемлемо, т.к. роутер (который собственно и NAT'ил) разрешал доступ к машине с vsftpd только для адресов из белого списка.


В интернете нашлось много решений, но все они сводились к пробрасыванию доп портов на машину и добавлению в крнфиг (mcedit /etc/vsftpd/vsftpd.conf):

 
pasv_enable=YES
pasv_min_port=50800
pasv_max_port=50900

Более расширенный вариант:

 
seccomp_sandbox=NO
allow_writeable_chroot=YES
pasv_address=<(public ip) or (AWS public domain or DNS)>
pasv_enable=Yes
pasv_min_port=30000
pasv_max_port=30100

Также добавлению правил в mcedit /etc/sysconfig/iptables

 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 50800:50900 -j ACCEPT

Но мне этот вариант не помог.


Пометки: vsftpd - Illegal PORT command, 227 entering passive mode, 500 illegal port command
Яндекс.Метрика