Intereting Posts
Вкладка «Терминатор Flash» на выходе или завершении процесса Какой особый символ может быть эхом расширяться до моей домашней папки? Как задавать поля пароля debconf? dig @nameserver не работает Как играть в HTTP-поток музыки через SSH? chown не работает в смонтированном разделе Отключить sendmail_submit-компонент sendmail на FreeBSD 11.0 В каком пакете находится этот диалог с возможностью поиска? Mac OS X LDAP-запрос через dscl дает разные результаты для одного и того же пользователя с одним и тем же источником данных Стоит ли использовать параллельные процессы вместо forking в цикле for? Нет возможности создания нового файла в centos 7 gui Почему значение переменной не изменяется внутри backticks? Как найти источник нереста? Команда для загрузки группы папок с общими именами с использованием sftp Удалите несколько строк после соответствия шаблону, но только после соответствия шаблону

Iptables разрешить входящий FTP

Я хочу разрешить входящий FTP-трафик.

CentOS 5.4:

Это мой файл /etc/sysconfig/iptables .

 # Generated by iptables-save v1.3.5 on Thu Oct 3 21:23:07 2013 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [133:14837] -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT -A INPUT -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -p tcp -m tcp --sport 20 -j ACCEPT COMMIT # Completed on Thu Oct 3 21:23:07 2013 

Кроме того, по умолчанию модуль ip_conntrack_netbios_n загружается.

 #service iptables restart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ] 

Но проблема не в том, что модуль, как я пытался разгрузить его и до сих пор не повезло.

Если я отключу iptables, я могу перенести мою резервную копию с другой машины на FTP. Если iptables применяется, то передача не удалась.

Вашему FTP-серверу нужен канал для передачи данных. Порт 21 используется для установления соединения. Поэтому для обеспечения возможности передачи данных вам потребуется также включить порт 20 . См. Следующий конфигуратор

Сначала загрузите следующий модуль, чтобы убедиться, что пассивные соединения ftp не отклоняются

 modprobe ip_conntrack_ftp 

Разрешить FTP-подключения к порту 21 входящего и исходящего

 iptables -A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate ESTABLISHED,NEW -j ACCEPT -m comment --comment "Allow ftp connections on port 21" iptables -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 21" 

Разрешить FTP-порт 20 для активных подключений входящих и исходящих

 iptables -A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow ftp connections on port 20" iptables -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 20" 

Наконец, разрешить пассивный входящий трафик FTP

 iptables -A INPUT -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Allow passive inbound connections" iptables -A OUTPUT -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow passive inbound connections" 

Подробнее о проблемах с FTP и брандмауэром см. По адресу : http://slacksite.com/other/ftp.html#active

Изменить: добавлено NEW к правилу ввода порта 21.

Я видел такие обширные правила уже в нескольких блогах и т. Д. И задавался вопросом, почему бы просто не использовать

 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 

вместе с модулем nf_conntrack_ftp . Это более краткий и читаемый, что, как правило, хорошо, особенно с брандмауэрами …

FWIW, похоже, что в ядре 4.7 произошло изменение, так что вам нужно либо установить net.netfilter.nf_conntrack_helper=1 через sysctl (например, поместить его в /etc/sysctl.d/conntrack.conf ), либо использовать

 iptables -A PREROUTING -t raw -p tcp --dport 21 -j CT --helper ftp 

(подробнее см. здесь )

Полагаю, добавление NEW исправлено.

Теперь, мой файл iptables выглядит так.

 # Generated by iptables-save v1.3.5 on Thu Oct 3 22:25:54 2013 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [824:72492] -A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 20:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT -A INPUT -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 20:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT COMMIT # Completed on Thu Oct 3 22:25:54 2013 

Ввод его в качестве ответа, поскольку слишком много символов не допускаются в комментарии .. Большое вам спасибо за вашу помощь.

FTP-клиент:

 lsmod | grep ftp modprobe nf_conntrack_ftp lsmod | grep ftp iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 20 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 

FTP-сервер:

  lsmod | grep ftp modprobe nf_conntrack_ftp lsmod | grep ftp iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 1024: --dport 1024: -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 20 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT 

Для переключения между пассивным и активным режимами на стороне клиента

  ftp> passive Passive mode on. ftp> passive Passive mode off.