PassivePorts 60000 61000
был определен в proftpd.confnf_nat_ftp
и nf_conntrack_ftp
загружен на хозяин запуск контейнераiptables внутри контейнера содержит
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT
Почему Passive mode
работает только тогда, когда я явно открываю пассивные порты с помощью
-A INPUT -p tcp -m tcp --dport 60000:61000 -j ACCEPT
? Разве это не должно автоматически управляться nf_conntrack_ftp
вспомогательный модуль?
У меня возникла проблема, что после установки lxc вместе с новой версией необходимого ядра linux помощники отслеживания соединений перестали работать. Однако это была проблема не lxc, а ядра, и я мог обойти это, добавив
net.netfilter.nf_conntrack_helper=1
в sysctl.conf. Видимо более новые ядра после 4.7 имеют лучшие способы для настройки помощников (и, вероятно, их использование было бы лучшим ответом на этот вопрос), поэтому net.netfilter.nf_conntrack_helper = 0 теперь по умолчанию, см. Вот.