web-dev-qa-db-ja.com

ルールファイルに--multiportオプションがある場合、debian buster / sidでiptables-restoreが失敗しました

/etc/iptables/rule.v4ファイルに多くのルールが含まれています。以下は、問題が発生した行です。

-A INPUT -p tcp -m multiport --dports 22 -j ACCEPT
-A INPUT -p udp -m multiport --dports 16384:32768 -j ACCEPT

iptables-restoreを実行しようとすると、以下のエラーで失敗しました

root@rs-dal:/etc/iptables# iptables-restore rules.q
iptables-restore v1.8.2 (nf_tables): multiport needs `-p tcp', `-p udp', `-p udplite', `-p sctp' or `-p dccp'
Error occurred at line: 26
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
root@rs-dal:/etc/iptables# 

なぜ失敗するのですか?同じルールがDebian Jessieで正常に機能しました。

また、以下のようにルールを変更したところ、うまくいきました。

-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p udp --dport 16384:32768 -j ACCEPT

iptables -Lを確認したところ、これらのルールは以下のように正常に適用されました。

ACCEPT     udp  --  anywhere             anywhere             udp dpts:16384:32768
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

私が現在持っているルールが有効な構文であるかどうか?

以下は私のOSの詳細です

root@rs-dal:/etc/iptables# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux buster/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
1
Karthik

ユーザーA.B.としてBusterが使用するnftablesiptablesの間の非互換性に問題があることを指摘します。互換性のあるバージョン間でiptables-restoreを使用して復元するiptablesルールを保存するための最良の方法。

問題のある行を削除し、ルールを復元します。

iptables-restore < rules.q

ルールを構成に再度追加して、以下を保存します。

iptables -A INPUT -p tcp -m multiport --dports 22 -j ACCEPT
iptables-save > rules.q

ここで、もう一度復元してみてください。

iptables-restore < rules.q

iptables -Lを使用して、すべてのルールが適用されていることを確認します。

2
kemotep