回答:
firewall-cmdコマンドを使用します。
デフォルトゾーンでOpenVPNまでファイアウォールを開くと仮定して、次のコマンドを実行します。デフォルト以外のゾーンで実行している場合は--zone=<zone>、コマンドに追加します。
注:public外部に面したネットワークアダプターにデフォルトゾーンを使用すると、ループバックインターフェイスもマスカレードされる可能性があり(firewalld実行しているバージョンによって異なります)、アクセスされるサービス(mySQLなど)を実行している場合に問題が発生する可能性がありますローカル。
まず、現在開いているものをリストします。
# firewall-cmd --list-services
http https ssh
次に、openvpnサービスを追加します。
# firewall-cmd --add-service openvpn
success
簡単なチェック:
# firewall-cmd --list-services
http https openvpn ssh
上記で動作するようにopenvpnなりますが、テストすることができます。ただし、再起動しても長続きしません。永続的にするには、--permanentオプションを追加します。
# firewall-cmd --permanent --add-service openvpn`
success
この最後のコマンドは次の再起動までポートを開かないため、両方のコマンドを使用する必要があることに注意してください。
最後に、マスカレードを追加します。
# firewall-cmd --add-masquerade
success
そして、再起動後に永続的にします:
# firewall-cmd --permanent --add-masquerade
success
それを確認します:
# firewall-cmd --query-masquerade
yes
着信OpenVPN接続がインターネットに面した接続とは異なるゾーンにある場合、マスカレードは後者にあるはず--zone=<zone>であり、--add-masqueradeコマンドでオプションを使用する必要があることに注意してください。
/lib/firewalld/services/ます。あなたの場合、それはopenvpn.xmlそのディレクトリ内にあります。ユーザー定義サービスが入り/etc/firewalld/servicesます。openvpnのデフォルトポートはUDP/1194です。
publicゾーンの場合、ループバックインターフェイスをマスカレードします。以前はデフォルトゾーンをに設定していたexternalため、表示されている問題に直面することはありませんでした。サービスとアダプターを別のゾーンに移動して、それが役立つかどうかを確認してください。教えてください:-)