Шлюз на Debian 7.11 (3.2.0-4-686-pae), iptables v1.4.14.
ip внешнего интерфейса: 1.1.1.1
ip внутреннго интерфейса: 192.168.1.1
Внутри локальной сети работает ftp-сервер, для которого нужно организовать доступ снаружи.
ip ftp-сервера во внутренней сети: 192.168.1.55
Порт ftp-сервера во внутренней сети: 51
Вывод lsmod | grep ftp
nf_nat_ftp 12420 0
nf_conntrack_ftp 12533 2 nf_nat_ftp
nf_nat 17913 2 iptable_nat,nf_nat_ftp
nf_conntrack 43121 9 nf_conntrack_ipv4,nf_nat,iptable_nat,xt_conntrack,xt_state,nf_conntrack_ftp,nf_nat_ftp,xt_CT,nf_conntrack_netlink
Вот так не работает:
iptables -t raw -A PREROUTING --dst 1.1.1.1 -p tcp --dport 55555 -j CT --helper ftp
iptables -t nat -A PREROUTING -i ext --dst 1.1.1.1 -p tcp --dport 55555 -j DNAT --to-destination 192.168.1.55:51
Управляющее соединение открывается, но соденение для потока данных нет. conntrack -E expect ничего не показывает.
Если переделать, чтобы порт ftp-сервер был стандартным (настройки ftp-сервера и настройки iptables), то все работает:
iptables -t nat -A PREROUTING -i ext --dst 1.1.1.1 -p tcp --dport 55555 -j DNAT --to-destination 192.168.1.55:21
Подскажите пожалуйста какие нужны настройки, чтобы сделать доступным ftp-сервер, работающий на нестандартном порту?