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


14

Centos 7でOpenVPNを設定する必要がありますfirewalld

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.

回答:


31

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


firewalldのopenvpnサービスの定義をどのように確認しますか?たとえば、TCP 443でopenvpnが許可されていることをどのように確認できますか?
クリストファー

@Christopher-サービスファイルはにあり/lib/firewalld/services/ます。あなたの場合、それはopenvpn.xmlそのディレクトリ内にあります。ユーザー定義サービスが入り/etc/firewalld/servicesます。openvpnのデフォルトポートはUDP/1194です。
garethTheRed

1
ありがとう。私は問題を抱えていて、それがファイアウォールで保護されていると考えました。上記の手順とは別に行った唯一のことは、追加するサービス名として「openvpn」ではなく「https」を使用することでした。結局のところ、それは問題でファイアウォールで保護されていませんでした。私はただ愚かで、「タップ」の代わりに「チューニング」を使用するようにクライアントを適切に構成するのを忘れていました。上記の指示は完全に機能します。
クリストファー

1
ゾーン全体にマスカレードを追加すると問題が発生しました。これは、localhostで他のサービスを実行しているときに、ループバックインターフェイスへの接続をNATしようとします。マスカレードを10.8.0.0/16に制限したいと思います。どのようにそれを行うことができますか?
クリストファー

1
このバグが原因である可能性があります。基本的に、デフォルトゾーンがpublicゾーンの場合、ループバックインターフェイスをマスカレードします。以前はデフォルトゾーンをに設定していたexternalため、表示されている問題に直面することはありませんでした。サービスとアダプターを別のゾーンに移動して、それが役立つかどうかを確認してください。教えてください:-)
garethTheRed
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.