DebianボックスでOpenVPNサーバーを実行しています。私がやりたいのは、そのOpenVPNサーバーに接続されているクライアント間のすべてのトラフィックをブロックすることです。
サーバーのローカルIPは10.10.10.1で、クライアントは10.10.10.2-10.10.10.8のIPを取得します。
Iptablesを使用してみましたが、クライアント間のトラフィックがtun0を離れることがないため、ブロックできません。
私に何ができる?インターフェイス内のトラフィックをブロックできるiptablesルールはありますか? (tun0)
client-to-clientは[〜#〜] not [〜#〜] server.confで有効になっていますが、何らかの理由で、ユーザーは引き続き相互にpingを実行し、相互に通信できます。
サーバーのopenvpn構成で「client-to-client」オプションがオンになっているようです。 openvpnはデフォルトでクライアント間トラフィックをルーティングしないため、削除する必要があります。
これがopenvpnのmanページからのテキストです:
クライアントからクライアントへ
OpenVPNサーバーモードは単一のtunまたはtapインターフェースを介して複数のクライアントを処理するため、事実上ルーターです。 --client-to-clientフラグは、OpenVPNに、クライアントから発信されたすべてのトラフィックをTUN/TAPインターフェイスにプッシュするのではなく、クライアントからクライアントへのトラフィックを内部的にルーティングするように指示します。
このオプションを使用すると、各クライアントは現在接続されている他のクライアントを「認識」します。それ以外の場合、各クライアントにはサーバーのみが表示されます。カスタムのクライアントごとのルールを使用してトンネルトラフィックをファイアウォールで保護する場合は、このオプションを使用しないでください。
サーバーにルールを追加して、クライアント間のすべてのトラフィックをブロックします。例:
Sudo iptables -I FORWARD --src 10.8.0.0/24 --dst 10.8.0.0/24 -j DROP