Firewalld でプロトコル トラフィックを有効にするにはどうすればよいでしょうか?

Firewalld でプロトコル トラフィックを有効にするにはどうすればよいでしょうか?

IPsec のプロトコル 50 (esp) トラフィックを許可する必要があります。

できます:

iptables -A INPUT -p esp
iptables -A OUTPUT -p esp

代わりにfirewalldでこれを実行するにはどうすればよいですか?

答え1

これには、(かなり単純な)リッチルールを使用する必要があります。

例えば:

firewall-cmd --zone=vpnendpoint --add-rich-rule="rule protocol value=esp accept"

答え2

この投稿は、firewalld の新しいバージョンでは廃止されています。

私がこの投稿を見ている時点(2023-01-21)で誰かがこの投稿にアクセスした場合、firewalld には esp の定義があるため、これらのより複雑なルールを実行する必要はもうありません...

firewall-cmd --add-protocol=esp

答え3

私は決して iptables や firewalld の専門家ではありませんが、次のようなものが機能するように思えます。

firewall-cmd --permanent --direct --add-rule filter INPUT -p esp -j ACCEPT
firewall-cmd --permanent --direct --add-rule filter OUTPUT -p esp -j ACCEPT

ゾーンなどがすべて設定されている場合、の代わりに--zoneおよびオプションを使用して実行することもできます。--add-rich-rule--direct

関連情報