LinuxマシンでOpenVPNを実行しています。 VPNサーバーにはパブリックIPアドレス(x.x.x.x)があり、VPNクライアントには10.8.0.0\24の「tun」デバイスのアドレスが割り当てられています。 NATマスカレード10.8.0.0\24をパブリックIPアドレスにマスカレードするIPTablesルールがあります。
VPNサーバーを実行するには、IP転送を有効にする必要がありました(そのため、net.ipv4.conf.default.forwarding = 1を設定しました)。
...言い換えれば、これはOpenVPNチュートリアルが言うべきことであり、特別なトリックはありません。
これはすべて機能しますが、転送を有効にする部分が心配です。 I thinkマシンは任意のIPアドレスから任意のIPアドレスにパケットを転送しますが、これは適切ではないようです。公的にアクセス可能なIPを持っているので、これは特に悪いです。
不要な転送動作を制限するファイアウォールルールの提案はありますか?どんな答えでも、FORWARDチェーンの1つ以上のIPTablesルールになると思いますが、これが私が行き詰まっているところです。
ありがとう!
転送テーブルにこれらのルールを使用する場合は、問題ありません。
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT
ルールをファイル/ etc/sysconfig/iptablesに入れ、ファイアウォールを再起動できます。コマンドラインの試用は、最初に行います
iptables -F
転送トラフィックのデフォルトの拒否を削除し、上記の3つのルールのそれぞれの前に「iptables」を追加します。
以下は、openvpnゲートウェイで設定したもののサブセットです。
iptables -A FORWARD -i tun0 -o tun0 -j ACCEPT # vpn to vpn
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT # vpn to ethernet
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # ethernet to vpn
これは単なるサブセットであることに注意してください。ルールの残りの部分は標準的なNATのことを行います。