![Правила iptables исчезают при ручном добавлении правила nat в файл iptables-persistent](https://rvso.com/image/717736/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%20iptables%20%D0%B8%D1%81%D1%87%D0%B5%D0%B7%D0%B0%D1%8E%D1%82%20%D0%BF%D1%80%D0%B8%20%D1%80%D1%83%D1%87%D0%BD%D0%BE%D0%BC%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0%20nat%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%20iptables-persistent.png)
Я заметил, что около двух третей правил, которые я указал, /etc/iptables/rules.v4
перестали отображаться sudo iptables -S
после добавления nat
правила. (Я изолировал исчезновение, добавив это одно правило.) У меня установлены fail2ban и iptables-persistent. Куда идут мои правила iptables?
/etc/iptables/rules.v4
# Generated by iptables-save v1.6.0 on Sat Feb 10 14:34:17 2018
*filter
:INPUT DROP [1858:197791]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2564:302408]
-A INPUT -p tcp --match multiport --dports 22:23 -j ACCEPT
-A INPUT -p tcp --match multiport --dports 50000:50999 -j ACCEPT
-A INPUT -p udp --match multiport --dports 120:121 -s 999.999.999.999 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 122 -s 999.999.999.999 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 123 -s 999.999.999.999 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i veth0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o veth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-t nat -A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Feb 10 14:34:17 2018
sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N f2b-sshd
-N f2b-vsftpd-iptables
-A INPUT -p tcp -m multiport --dports 23 -j f2b-vsftpd-iptables
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A f2b-sshd -j RETURN
-A f2b-vsftpd-iptables -j RETURN
решение1
У вас есть ':INPUT DROP' в rules.v4 и '-P INPUT ACCEPT' в sudo iptables -S
выводе. Выглядит слишком по-разному, как будто вы забыли перенастроить пакет iptables-persistent после изменения правил.
Реконфигурацияiptables-постоянныйнеобходимо после каждого изменения правил с помощью команды:
sudo dpkg-reconfigure iptables-persistent
Я предлагаю три шага: 1) Четкие правила.
# delete all current rules and user chains
iptables -F
iptables -X
# global policy (target by default)
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
2) Определите правила еще раз. 3) Перенастройте iptables-persistent.