Шлюз на 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-сервер, работающий на нестандартном порту?
> Шлюз на Debian 7.11 (3.2.0-4-686-pae), iptables v1.4.14.Про Debian 7.11 не припомню, хочешь README от Slackware 7.1?
> Про Debian 7.11 не припомню, хочешь README от Slackware 7.1?Да. Буду признателен.
у nf_conntrack_ftp есть параметр ports, можно попробовать добавить нестандартный.
Говорят вот так можноmodprobe nf_conntrack_ftp ports=your_port
> Говорят вот так можно
> modprobe nf_conntrack_ftp ports=your_portТут говорят, что использование опций модуля является не рекомендуемым и устаревшим способом:
https://home.regit.org/netfilter-en/secure-use-of-helpers/
«iptables -A PREROUTING -t raw -p tcp --dport 2121 -d 1.2.3.4 -j CT --helper ftp
Therefore, the use of the module options is NOT recommended anymore – please use the CT target instead.»
Поэтому и захотел попробовать новый способ.
> https://home.regit.org/netfilter-en/secure-use-of-helpers/
> «iptables -A PREROUTING -t raw -p tcp --dport 2121 -d 1.2.3.4 -j
> CT --helper ftpВыглядит логичнее конечно, вот только любопытно работает ли
> Выглядит логичнее конечно, вот только любопытно работает лиПока не удалось завести.
Через опции модуля работает. А через -j CT нет. (может быть я конечно неправильно правило сделал, но для убедительности сделал несколько различных правил)
>> Выглядит логичнее конечно, вот только любопытно работает ли
> Пока не удалось завести.
> Через опции модуля работает. А через -j CT нет. (может быть я
> конечно неправильно правило сделал, но для убедительности сделал несколько различных правил)А что за мазохизм с ftp мучиться??
есть гораздо более удобные альтернативы, например sftp, или scp...
И шифрование стойкое из коробки, и прочие плюшки-ватрушки...
> А что за мазохизм с ftp мучиться??
> есть гораздо более удобные альтернативы, например sftp, или scp..."
Медленные они, когда тебе надо швырнуть пару гигабайт разномастных файлов на (или с) не сильно мощное железо - дело идёт в разы медленнее, чем при использовании простого ftp без шифрования
"