web-dev-qa-db-ja.com

Centos 7でiptablesの代わりにFirewalldを使用するようにOpenVPNを構成する

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.
15
Fxbaez

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オプションを使用する必要があることに注意してください。

33
garethTheRed