![Windows または Linux でブロードキャスト フラグを変更するにはどうすればよいでしょうか?](https://rvso.com/image/668028/Windows%20%E3%81%BE%E3%81%9F%E3%81%AF%20Linux%20%E3%81%A7%E3%83%96%E3%83%AD%E3%83%BC%E3%83%89%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%20%E3%83%95%E3%83%A9%E3%82%B0%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
ご存知のとおり、クライアントがDHCPサーバーからIPv4アドレスを取得する場合、4種類のパケットが関係します。これらは以下の画像で確認できます(マイクロソフトのウェブサイト)。
データ リンク層 (OSI モデルの第 2 層) の観点から見ると、クライアントからサーバーに送信されるフレームは常にブロードキャスト (DISCOVER と REQUEST) ですが、他の 2 つは、broadcast-flag
クライアントによるオプションの設定に応じてブロードキャストまたはユニキャストになります。
このフラグは、次のコマンドを使用して Cisco IOS で変更できることがわかっています。
R(config)# [no] ip dhcp-client broadcast-flag
私の質問は、このフラグを Windows または Linux でどのように変更できるかということです。
ちなみに、私は好奇心からこれを知りたいだけで、特別な必要性はありません。Windows と Linux でテストしたところ、このフラグは 0 に設定されており、これらのフレームはユニキャストで送信されることが分かりました。
答え1
それはドキュメントを読むだけで簡単に学べます:
引用元man dhcpd.conf
:
常時放送 フラグ;
DHCP プロトコルと BOOTP プロトコルはどちらも、DHCP クライアントと BOOTP クライアントが BOOTP メッセージ ヘッダーのフラグ フィールドにブロードキャスト ビットを設定することを要求します。残念ながら、一部の DHCP クライアントと BOOTP クライアントはこれを行わないため、DHCP サーバーからの応答を受信しない場合があります。関連するスコープに対してこのフラグを 'on' に設定することで、DHCP サーバーが常にクライアントに応答をブロードキャストするように設定できます。関連するスコープは、条件文内、クラスのパラメータ、またはホスト宣言のパラメータとして存在します。ネットワーク上で過剰なブロードキャスト トラフィックが発生しないように、このオプションの使用をできるだけ少数のクライアントに制限することをお勧めします。たとえば、Microsoft DHCP クライアントではこの問題は発生しないことが分かっています。OpenTransport および ISC DHCP クライアントでも同様です。
クライアント側(man dhclient
):
-B
要求パケットに BOOTP ブロードキャスト フラグを設定すると、サーバーは常に応答をブロードキャストします。