特定の接続を明示的に許可するようにVPNサーバーのufwファイアウォール/ iptableルールをどのように設定しますか?

特定の接続を明示的に許可するようにVPNサーバーのufwファイアウォール/ iptableルールをどのように設定しますか?

VPNに接続したいです。 VPNトンネル(VPNサーバーを除く)に接続が入ったり出たりしないように、ufwファイアウォールまたはiptablesを有効にしたいと思います。 ufwやiptablesを使ってこれを得る方法を教えてください。 VPN接続のみが許可されているようです。

答え1

きれいなiptables構成で:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -N VPN
iptables -A INPUT -i $vpn -j VPN
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o $vpn -j VPN
iptables -A OUTPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A VPN -j ACCEPT

$ vpnをVPNクライアントによって生成されたインターフェイスに置き換えます。受信パケットのポリシー:

  • -i lo -j ACCEPTループバックでパケットを受け入れる
  • -m conntrack --ctstate RELATED,ESTABLISHED確立された接続を受け入れます。
  • -i $vpn -j VPNVPNインターフェイスからの着信パケットは、-N VPNVPNのすべてのポリシーを定義できる新しく作成された()VPNチェーンによって処理されます。対応するラインとOUTPUTチェーンの対応するラインからパケットを確実に受け入れることができますが、この方法は論理的にはっきりしていると思います。
  • -j REJECT --reject-with icmp-host-prohibited他のすべてを拒否します。
  • -A FORWARD -j REJECT --reject-with icmp-host-prohibitedまた、すべての転送要求を拒否します。

関連情報