DebianDebian 升級時的 ip6tables-restore:
Debian 升級時的 ip6tables-restore:RULE_APPEND 失敗(無效參數)
在執行命令時
ip6tables-restore < /etc/iptables/rules.v6
在 Debian 伺服器上,我得到
ip6tables-restore v1.8.2 (nf_tables): line 48: RULE_APPEND failed (Invalid argument): rule in chain ufw-after-input
在那條線上我有
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
這與我
rules.v4
文件中的行相同。還有命令iptables-restore < /etc/iptables/rules.v4
執行沒有問題。
解決錯誤的任何幫助將不勝感激。
編輯1:
問題只發生在最近
apt upgrade
。之前的升級執行順利,沒有任何問題。編輯2:
這就是我通過跑步得到的
netfilter-persistent reload
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables start run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables start ip6tables-restore v1.8.2 (nf_tables): line 48: RULE_APPEND failed (Invalid argument): rule in chain ufw-after-input run-parts: /usr/share/netfilter-persistent/plugins.d/25-ip6tables exited with return code 4
編輯 3
這是文件的內容
/etc/iptables/rules.v6
# Generated by xtables-save v1.8.2 on Thu Aug 20 13:52:30 2020 *filter :INPUT ACCEPT [2541:222427] :FORWARD DROP [0:0] :OUTPUT ACCEPT [1949:481231] :ufw-before-logging-input - [0:0] :ufw-before-logging-output - [0:0] :ufw-before-logging-forward - [0:0] :ufw-before-input - [0:0] :ufw-before-output - [0:0] :ufw-before-forward - [0:0] :ufw-after-input - [0:0] :ufw-after-output - [0:0] :ufw-after-forward - [0:0] :ufw-after-logging-input - [0:0] :ufw-after-logging-output - [0:0] :ufw-after-logging-forward - [0:0] :ufw-reject-input - [0:0] :ufw-reject-output - [0:0] :ufw-reject-forward - [0:0] :ufw-track-input - [0:0] :ufw-track-output - [0:0] :ufw-track-forward - [0:0] :ufw-logging-deny - [0:0] :ufw-logging-allow - [0:0] :ufw-skip-to-policy-input - [0:0] :ufw-skip-to-policy-output - [0:0] :ufw-skip-to-policy-forward - [0:0] :ufw-not-local - [0:0] :ufw-user-input - [0:0] :ufw-user-output - [0:0] :ufw-user-forward - [0:0] :ufw-user-logging-input - [0:0] :ufw-user-logging-output - [0:0] :ufw-user-logging-forward - [0:0] :ufw-user-limit - [0:0] :ufw-user-limit-accept - [0:0] -A INPUT -p tcp -m tcp --dport 587 -j ACCEPT -A ufw-before-input -j ufw-user-input -A ufw-before-output -j ufw-user-output -A ufw-before-forward -j ufw-user-forward -A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input -A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input -A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN -A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] " -A ufw-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_OpenSSH\'" -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_SSH\'" -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 465 -j ACCEPT -A ufw-user-input -p udp -m udp --dport 465 -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 995 -j ACCEPT -A ufw-user-input -p udp -m udp --dport 995 -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 587 -j ACCEPT -A ufw-user-input -p udp -m udp --dport 587 -j ACCEPT -A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw-user-limit -j REJECT --reject-with icmp6-port-unreachable -A ufw-user-limit-accept -j ACCEPT COMMIT # Completed on Thu Aug 20 13:52:30 2020
我通過刪除並重新安裝
netfilter-persistent
和iptables-persistent
包,然後重新載入解決了這個問題。結果,rules.v6
文件的內容被自動重寫和更新。編輯:
文件的新內容
rules.v6
是這樣的:# Generated by xtables-save v1.8.2 on Mon Dec 28 11:50:57 2020 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [6:496] :ufw6-before-logging-input - [0:0] :ufw6-before-logging-output - [0:0] :ufw6-before-logging-forward - [0:0] :ufw6-before-input - [0:0] :ufw6-before-output - [0:0] :ufw6-before-forward - [0:0] :ufw6-after-input - [0:0] :ufw6-after-output - [0:0] :ufw6-after-forward - [0:0] :ufw6-after-logging-input - [0:0] :ufw6-after-logging-output - [0:0] :ufw6-after-logging-forward - [0:0] :ufw6-reject-input - [0:0] :ufw6-reject-output - [0:0] :ufw6-reject-forward - [0:0] :ufw6-track-input - [0:0] :ufw6-track-output - [0:0] :ufw6-track-forward - [0:0] :ufw6-logging-deny - [0:0] :ufw6-logging-allow - [0:0] :ufw6-skip-to-policy-input - [0:0] :ufw6-skip-to-policy-output - [0:0] :ufw6-skip-to-policy-forward - [0:0] :ufw6-user-input - [0:0] :ufw6-user-output - [0:0] :ufw6-user-forward - [0:0] :ufw6-user-logging-input - [0:0] :ufw6-user-logging-output - [0:0] :ufw6-user-logging-forward - [0:0] :ufw6-user-limit - [0:0] :ufw6-user-limit-accept - [0:0] -A INPUT -j ufw6-before-logging-input -A INPUT -j ufw6-before-input -A INPUT -j ufw6-after-input -A INPUT -j ufw6-after-logging-input -A INPUT -j ufw6-reject-input -A INPUT -j ufw6-track-input -A FORWARD -j ufw6-before-logging-forward -A FORWARD -j ufw6-before-forward -A FORWARD -j ufw6-after-forward -A FORWARD -j ufw6-after-logging-forward -A FORWARD -j ufw6-reject-forward -A FORWARD -j ufw6-track-forward -A OUTPUT -j ufw6-before-logging-output -A OUTPUT -j ufw6-before-output -A OUTPUT -j ufw6-after-output -A OUTPUT -j ufw6-after-logging-output -A OUTPUT -j ufw6-reject-output -A OUTPUT -j ufw6-track-output -A ufw6-before-input -i lo -j ACCEPT -A ufw6-before-input -m rt --rt-type 0 -j DROP -A ufw6-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A ufw6-before-input -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j ACCEPT -A ufw6-before-input -m conntrack --ctstate INVALID -j ufw6-logging-deny -A ufw6-before-input -m conntrack --ctstate INVALID -j DROP -A ufw6-before-input -p ipv6-icmp -m icmp6 --icmpv6-type 1 -j ACCEPT -A ufw6-before-forward -p ipv6-icmp -m icmp6 --icmpv6-type 2 -j ACCEPT -A ufw6-before-forward -p ipv6-icmp -m icmp6 --icmpv6-type 3 -j ACCEPT -A ufw6-before-forward -p ipv6-icmp -m icmp6 --icmpv6-type 4 -j ACCEPT -A ufw6-before-forward -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j ACCEPT -A ufw6-before-forward -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j ACCEPT -A ufw6-before-forward -j ufw6-user-forward -A ufw6-after-input -p udp -m udp --dport 137 -j ufw6-skip-to-policy-input -A ufw6-after-input -p udp -m udp --dport 138 -j ufw6-skip-to-policy-input -A ufw6-after-input -p tcp -m tcp --dport 139 -j ufw6-skip-to-policy-input -A ufw6-after-input -p tcp -m tcp --dport 445 -j ufw6-skip-to-policy-input -A ufw6-after-input -p udp -m udp --dport 546 -j ufw6-skip-to-policy-input -A ufw6-after-input -p udp -m udp --dport 547 -j ufw6-skip-to-policy-input -A ufw6-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw6-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw6-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT -A ufw6-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT -A ufw6-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN -A ufw6-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw6-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] " -A ufw6-skip-to-policy-input -j DROP -A ufw6-skip-to-policy-output -j ACCEPT -A ufw6-skip-to-policy-forward -j DROP -A ufw6-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_OpenSSH\'" -j ACCEPT -A ufw6-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_SSH\'" -j ACCEPT -A ufw6-user-input -p tcp -m tcp --dport 465 -j ACCEPT -A ufw6-user-input -p udp -m udp --dport 465 -j ACCEPT -A ufw6-user-input -p tcp -m tcp --dport 995 -j ACCEPT -A ufw6-user-input -p udp -m udp --dport 995 -j ACCEPT -A ufw6-user-input -p tcp -m tcp --dport 587 -j ACCEPT -A ufw6-user-input -p udp -m udp --dport 587 -j ACCEPT -A ufw6-user-input -p tcp -m tcp --dport 25 -j ACCEPT -A ufw6-user-input -p tcp -m multiport --dports 80,143,443,465,587,993 -j ACCEPT -A ufw6-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw6-user-limit -j REJECT --reject-with icmp6-port-unreachable -A ufw6-user-limit-accept -j ACCEPT COMMIT # Completed on Mon Dec 28 11:50:57 2020
導致錯誤的規則不再存在。