Я не могу запретить доступ к FTP для IP-адреса.
Прежде всего мне нужно было все отрицать, поэтому мне понравилось это:
#iptables -F
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP
Затем я открыл FTP:
#modprobe ip_conntrack_ftp
#iptables -A INPUT -p TCP -i eth0 --dport 21 -m state --state NEW -j ACCEPT
#iptables -A INPUT -p ALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -p ALL -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Вышеупомянутое работает, но я все пытался с этим:
#modprobe ip_conntrack
#modprobe ip_conntrack_ftp
#iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 192.168.5.110 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp -s 192.168.5.110 --sport 21 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 192.168.5.110 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -p tcp -s 192.168.5.110 --sport 1024:65535 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp -s 192.168.5.110 --sport 20 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 20 -m state --state ESTABLISHED -j ACCEPT
Теперь мне нужно запретить один IP-адрес, чтобы один компьютер не мог получить доступ к FTP, скажем 192.168.5.9:
#iptables -A INPUT -s 192.168.5.9 -d 192.168.5.110 -p tcp -m tcp --dport 21 -j DROP
Я тоже пробовал это
#iptables -A INPUT -p tcp -s 192.168.5.9 --dport 21 -j DROP
И в iptables -L сказано, что он удаляется, но когда я использую fillezilla, он проходит. Я сбросил порты 20,21,22.
Так почему же соединение разрешено, когда правила должны его отбрасывать?
Здесь важно понимать, что брандмауэр внутри одной таблицы обрабатывается по порядку. Как только совпадение найдено, обработка этой цепочки прекращается и выполняется действие.
Итак, что вам, вероятно, нужно сделать, так это отказаться от ftp с этого IP-адреса до общего правила, разрешающего FTP. В -A
добавляет правило к цепочке. Вы, вероятно, хотите -I
чтобы вставить правило в цепочку. По умолчанию это правило вставлен в верхней части цепочки, когда вы используете -I
, но вы также можете передать число, которое поместит его перед номером указанного вами правила.