手动将 nat 规则添加到 iptables-persistent 文件时,iptables 规则会消失

手动将 nat 规则添加到 iptables-persistent 文件时,iptables 规则会消失

我注意到,在我添加一条规则后,我指定的规则中约有三分之二/etc/iptables/rules.v4不再显示。(我将消失的原因归结为添加这条规则。)我安装了 fail2ban 和 iptables-persistent。我的 iptables 规则去哪儿了?sudo iptables -Snat

/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

您在 rules.v4 中有 ':INPUT DROP',而在输出中有 '-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。

相关内容