CentOSでfirewalldを実行していて、eth0はデフォルトゾーンにあります。私は通信にサービスにドッカーを使用し、ドッカーでは暗号化を有効にしました。 Dockerはオーバーレイネットワークを作成し、IPSECを使用します。しかし、firewalldはIPSEC接続をドロップします。 IPSECが機能するための約5〜6個のコマンドがあるリンクを見つけました。これらのコマンドを再生すると、問題なく機能します。これらはこのリンクにリストされています https://www.centos.org/forums/viewtopic.php?t=561
Nic eth0がどこにあるかがデフォルトのゾーンであるかわからないため、dmzゾーンを変更する必要があります。マスカレードとポート4500の用途は何ですか?
firewall-cmd --zone=dmz --permanent --add-rich-rule='rule protocol value="esp" accept'
firewall-cmd --zone=dmz --permanent --add-rich-rule='rule protocol value="ah" accept'
firewall-cmd --zone=dmz --permanent --add-port=500/udp
firewall-cmd --zone=dmz --permanent --add-port=4500/udp
firewall-cmd --permanent --add-service="ipsec"
firewall-cmd --zone=dmz --permanent --add-masquerade
マスカレードルールは、システムに発信接続でnatを有効にするように指示します。これは、プライベート内部アドレス指定を使用するネットワークで一般的です。これは、特にipsecに技術的に関連していないルーティングルールです。ポート4500は、片側または両側が他のルーターの背後にあり、独自のルーティング可能なIPアドレスを持っていない場合に、ipsecnatトラバーサルに使用されます。各NICはゾーンに属し、ゾーンはルールで事前構成されています。 internal、dmz、およびpublicは互いにまったく異なります。