CentOS 7でfirewalld
を使用してOpenVPNを構成する必要があります。
Centos 6.5でiptablesを使用し、/etc/sysconfig/iptables
に次の行を追加するだけで済みました。
-A POSTROUTING -s "10.0.0.0/24" -o "wlan0" -j MASQUERADE
-A FORWARD -p tcp -s 10.0.0.0/24 -d 0.0.0.0/0 -j ACCEPT
run the command: echo 1 > /proc/sys/net/ipv4/ip_forward
open port 443.
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
オプションを使用する必要があることに注意してください。