Windows 7 以降のすべてのネットワーク インターフェイスで IPv4 UDP ブロードキャストを強制します。
最新リリースをダウンロードします。
Windows を使用している場合は、グローバル ブロードキャスト アドレス255.255.255.255
(利用可能なすべてのネットワーク インターフェイス) に送信された IPv4 UDP ブロードキャスト パケットが、実際には、システム。
これは、BSD ソケットの Windows ネットワーク実装では、そのようなパケットが最も優先度の高いインターフェイス (「デフォルト」インターフェイス) にのみ配信可能であるとみなされるためです。ネットワーク インターフェイスの優先順位は、(通常は) システムによって自動的に割り当てられるメトリック値によって決定されます。メトリック値が最も低いインターフェイスが、最も優先度の高いインターフェイスになります。通常、これは PC がインターネット (またはホーム ルーター) に接続するためのインターフェイスです。 PowerShell で次のコマンドを実行すると、Windows によってすべてのネットワーク インターフェイスに割り当てられたメトリック値を確認できます。
Get-NetIPInterface
この動作の理論的根拠が何であれ、他のすべてのネットワーク インターフェイスがグローバル UDP ブロードキャスト パケットを受信できなくなるという重大な意味があり、そのようなパケットが適切に配信されることに依存している場合、特定のアプリケーションで接続の問題が発生することになります。
これがどう関係するのでしょうか?標準サブネット 192.168.179.0/24 のローカル エリア ネットワークと、サブネット 100.100.100.0/24 の VPN に接続されている PC を考えてみましょう。この PC 上では、VPN クライアントもアクセスする必要があるサービスが実行されており、このサービスは通信にグローバル UDP ブロードキャスト パケットに依存しています。
当然のことながら、Windows でこの問題を解決する唯一の方法は、両方のネットワークをブリッジすることです。ただし、ブリッジングを行うと、LAN 全体が VPN 経由で接続されている相手に公開されることになるため、ブリッジングは非常に望ましくありません。
BROADcast は、プライマリ (「優先」ルートとも呼ばれます) に配信されたグローバル UDP ブロードキャスト パケットをキャプチャし、Windows が通過することを決定した他のすべての適切なネットワーク インターフェイスに単純に中継することで、この問題をうまく解決します。
上のスクリーンショットでは、BROADcast は実際の LAN アドレス10.10.10.100
(優先ルートでもある) に配信されたグローバル UDP ブロードキャスト パケットをキャプチャし、それらを VPN アドレス100.100.100.1
に中継しています。 BROADcast が実行されていない場合、パケットは10.10.10.100
にのみ配信されたままとなり、ネットワークの VPN セグメントは完全に無視されます。
この機能に大きく依存するソフトウェアの例には、LAN チャット アプリケーション、一部のマルチプレイヤー ビデオ ゲーム、コラボレーションに使用されるその他の分散アプリケーションなどがあります。
注: BROADcast を実行するには管理者権限が必要です。これは、生のソケットを使用して UDP パケットをキャプチャする必要があり、これは昇格されたアカウントでのみ許可されるためです。
BROADcast はコンソール アプリケーションです。 Windows サービスとしてバックグラウンドで実行することもできます。
グローバル UDP ブロードキャスト パケットの中継を開始します。
broadcast.exe -b
-d
追加すると、詳細な診断メッセージが表示されます (トラブルシューティングに役立ちます)。
broadcast.exe -b -d
ブロードキャスト パケットは、デフォルトのネットワーク インターフェイスを除くすべてのネットワーク インターフェイスに配信されます。 BROADcast を正常に終了するには、 Ctrl+C を使用します。
ボーナス機能として、BROADcast では任意のインターフェイスをデフォルト (または優先) インターフェイスにすることができます。これは、デフォルトにしたいインターフェイスの現在のメトリック値を取得し、それを他のインターフェイス メトリック値に加算して、すべての中で最も低いメトリック値にすることによって行われます。
BROADcast.exe -i " Interface " -m
-m
引数を指定せずにコマンドを再度実行すると、すべてのメトリック値の変更が元に戻され、システム管理の自動値が復元されます。
BROADcast.exe -i " Interface "
「インターフェース」は、Windows コントロール パネルの「ネットワークと共有センター」セクションで検索 (および変更) できるネットワーク インターフェース名です。 Win+R を押して開くと、すぐにアクセスできます。
%windir%explorer.exe shell:::{992CFFA0-F557-101A-88EC-00DD010CCC48}
BROADcast を Windows サービスとしてインストール (またはアンインストール) するには、適切な引数を使用して BROADcast を呼び出します。
broadcast .exe [install | uninstall]
BROADcast リポジトリには、TAP デバイスを使用して OpenVPN サーバーを起動した後に BROADcast を実行するためのサンプル OpenVPN 構成とスクリプトが含まれています。
OpenVPN の開始/停止スクリプト機能を使用して BROADcast を開始する場合は、BROADcast と同様に、OpenVPN も管理者権限で実行する必要があることに注意してください。
このため、代わりに Windows サービスとして BROADcast を個別に開始することを強くお勧めします。
BROADcast や UDP ブロードキャストとは直接関係はありませんが、もう 1 つの便利な Windows ネットワークの要点は ForceBindIP です。
UDP プロトコルの修正を提供する BROADcast とは異なり、ForceBindIP は、アプリケーションが自動的に選択するネットワーク インターフェイス (多くの場合、ユーザーが選択したものではない) ではなく、特定のネットワーク インターフェイスに強制的にバインド (またはリッスン) することにより、TCP プロトコルに同様の修正を提供します。欲しい)。
高品質のソフトウェアを作成するのは難しく、時間がかかります。 BROADcast が役に立ったと思ったら、☕ を買ってください!