
Fedora Server 35 を実行している VPS 上に OpenVPN サーバーをセットアップしようとしています。VPN をセットアップして動作させていますが、ファイアウォールのセットアップで問題が発生しています。
ファイアウォールを管理するのは今回が初めてで、Linux ネイティブでもありませんが、学ぼうとしています。CentOS インスタンスのガイドに従いましたが、CentOS は廃止されたため、Contabo の Fedora イメージを選択しました。
このガイドは に依存しておりfirewalld
、私の VPS にはすでに がインストールされ、部分的にセットアップされていたため、私も同じことをしました。firewalld
をオフにすると VPN クライアントが問題なく接続されるため、 が問題であることがわかっています。
2 つのアクティブ ゾーンが設定されていますFedoraServer
。trusted
ゾーンFedoraServer
は VPS イメージで事前設定されており、デフォルト ゾーンとしてセットアップされています。ガイドに従って設定を変更するには、次のコマンドを使用しました。
firewall-cmd --zone=trusted --add-service openvpn
firewall-cmd --zone=trusted --add-service openvpn --permanent
firewall-cmd --add-masquerade
firewall-cmd --add-masquerade --permanent
VAR=$(ip route get 1.1.1.1 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $VAR -j MASQUERADE
firewall-cmd --reload
現在のゾーン情報は次のとおりです。
[~]# firewall-cmd --info-zone=FedoraServer
FedoraServer (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: no
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[~]# firewall-cmd --info-zone=trusted
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: tun0
sources:
services: openvpn
ports:
protocols:
forward: yes
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
興味深い注意点は、デフォルト ゾーンとして設定すると、 NAT が機能し、インターネットにアクセスできる状態trusted
で VPN に接続できることです。firewalld
これで問題は解決したと言えるでしょう。しかし、私の知識不足により、ゾーンがtrusted
を使用しているため、セキュリティに穴が開いているのではないかと心配していますtarget: ACCEPT
。
StackExchange、Fedora フォーラム、OpenVPN フォーラムのスレッドを数え切れないほど読みましたが、firewalld
ドキュメントも役に立ちませんでした。これを理解するための基礎的なネットワーク知識が不足していると感じており、何を検索すればよいのかもうわかりません。
どのような助け、ヒント、ガイダンスでもいただければ幸いです。
答え1
信頼ゾーンにサービスを追加し、受け入れをドロップに変更することができます。たとえば、openvpnとsshのみを許可するには、次のようにします。
sudo firewall-cmd --zone=trusted --add-service={ssh,openvpn}
sudo firewall-cmd --zone=trusted --set-target=DROP
sudo firewall-cmd --reload
答え2
どうやら正しい方向に進んでいるようで、Fedora 35 での OpenVPN サーバーの構成は順調に進んでいます。主な懸念事項は、ファイアウォール設定が安全であり、不要な穴が残っていないことを確認することです。
あなたの懸念に対処し、いくつかのガイダンスを提供しましょう:
デフォルトゾーン:
目的に応じて異なるゾーンを用意するのはよくあることです。信頼済みをデフォルト ゾーンとして設定することで VPN が機能するのであれば問題ありません。ただし、target: ACCEPT に関する懸念についてはご指摘のとおりです。より安全な構成では、必要なサービスのみにアクセスを制限する必要があります。
FedoraServerゾーン:
FedoraServer ゾーンをデフォルトとして使用する場合は、OpenVPN に必要なトラフィックが許可されていることを確認する必要があります。信頼済みがデフォルトとして設定されている場合に OpenVPN が機能するとおっしゃっていますので、2 つのゾーンの設定を比較すると役立つかもしれません。FedoraServer ゾーンの調整:
FedoraServer ゾーンをデフォルトとして使用する場合は、OpenVPN トラフィックを許可するルールを追加する必要があります。例:
ファイアウォール-cmd --zone=FedoraServer --add-service=openvpn --permanent ファイアウォール-cmd --reload