Intereting Posts
Есть ли еще один короткий способ определить, находится ли элемент в списке vim, отличном от `index (L, item)`? Установка ftp без доступа в Интернет на RHEL 6 скрипт bash Как захватить stdout запущенного процесса, перенаправленного на / dev / null Настройка подключения к WPA2 Enterprise (PEAP / MSCHAPv2) с двухуровневым сертификатом Linux Fedora: как открыть файл со случайным приложением Как узнать, какие беспроводные протоколы использует моя сетевая карта? Смягчение замешательства при работе с подобными средами на нескольких серверах дождитесь завершения подключения autossh Создать архив tar, разбитый на блоки максимального размера Получить имя модели блока и производителя от псевдо-fs SELinux: chcon для типа, ls -Z показывает еще один Зашифрованный своп не активируется на Ubuntu Настройте xfreerdp, чтобы всегда передавать некоторые параметры инструмент командной строки для удаления выбранных тегов из mp3-файлов

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.