web-dev-qa-db-ja.com

OpenVPNルーター-VPNで255.255.255.255ブロードキャストを伝播する方法は?

LANゲームをリモートでプレイするために使用しているopenVPNが設定されたdd-wrtルーターがあります。

ネットワークの詳細:

remote site LAN: 192.168.10.0/23
router LAN IP: 192.168.11.1
LAN DHCP range: 192.168.11.1-254 (same for VPN clients)

私たちがプレイしているゲームは、ブロードキャストパケットを使用してサーバーを特定しています。問題は、ブロードキャストがVPNに送信されても​​、ルーターがクライアントからリモートサイトのLAN内のホストにブロードキャストを取得していないことです。逆もまた真であり、リモートLANからのブロードキャストはVPNクライアントに到達していません。

これは255.255.255.255ブロードキャストアドレスでのみ発生します。クライアント側でネットワークをスニッフィングしましたが、192.168.11.255への「通常の」ブロードキャストを確認できます。

非トラバースパケットの例(ソースはVPNクライアント):

192.168.11.24   255.255.255.255 UDP Source port: 28960  Destination port: 28961

トラバースパケットの例(VPNクライアントでスニッフィングによってキャッチされます。ソースはリモートLANのホストです):

192.168.11.25   192.168.11.255  UDP Source port: 60978  Destination port: 32414

これらのパケットをブロードキャストするようにルーターを構成するにはどうすればよいですか?

これはルーティング、iptables、またはopenVPNの修正ですか?

編集:VPNはブリッジモード(タップ)で構成されています。

1

2台のルーター(クライアントとサーバー)をopenVPNに接続することで、これを機能させることができました。openVPNでは、tap0インターフェイスが両側でイーサネットにブリッジされています。

VPNインターフェイスを介して255.255.255.255を伝播しないことは、おそらくブリッジングがないために、Windowsクライアントでのみ問題になる可能性があるようです。

0

OpenVPNはおそらくtunモードに構成されています。これは、レイヤー3で機能し、サブネット間でブロードキャストを伝播しません。

tapモードに切り替える必要があります。このモードは、レイヤー2で機能し、ブロードキャストを伝播します。 tapモードで行う必要があるのは、br0などのブリッジインターフェイスを作成し、物理的なeth0tap0をそれに接続することです。次に、br0にIPが割り当てられ、br0から送信されたブロードキャストは、スイッチであるかのように、それに接続されているすべてのものに到達します。

DD-WRTインターフェースがほとんどの作業を処理してくれると思います。それが、その要点です。

3
LawrenceC

ブロードキャストはルーティングされません。これはOpenVPNの問題ではありません。これは、IPの仕組みです。

OpenVPNがレイヤー3モード(別名tun)で構成されている場合、OpenVPNはルーターのように機能し、ブロードキャストは渡されません。

オプションは、ブリッジ(別名タップ)をセットアップして、ブロードキャストを転送するレイヤー2ネットワークを形成することです。しかし、dd-wrtでこれを機能させるためにあなたが何をしなければならないのかわかりません。

ところで、dd-wrtの代替案を検討したいと思うかもしれませんが、ほとんどのルーターのリリースは4年以上更新されていません。これは、ハートブリードやおそらくシェルショックなど、多くのセキュリティバグが蓄積されていることを意味します。ファームウェアイメージが1か月以上古い場合は、アップグレードするか、代替を探す時期です。

2
Zoredache