@ka2n

Technology and beer

Wi-Fi中継器を導入したらうまくDHCPでアドレスが振られない不具合に遭遇したがよくわからないまま解決した

作業部屋からAPまでが遠いせいで受信強度が不安定で、速度にも影響が出ていたのでWi-Fi中継器を導入した。

それなりに使えている気がしたのだけど、たまにiPhoneなどでWi-Fiネットワークには接続できているように見えるが、実際はネットワークに繋らない。といいった現象になっているので調べてみた。 iOSの画面上ではDHCPサーバによって割り当てられるはずのIPアドレスがいつまでたっても降ってこない。そのため通信できない状況になっているようだ。

調べてみると以下のような記事をみつけた。

www.buffalo.jp

superuser.com

A client that cannot receive unicast IP datagrams until its protocol software has been configured with an IP address SHOULD set the BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or DHCPREQUEST messages that client sends. The BROADCAST bit will provide a hint to the DHCP server and BOOTP relay agent to broadcast any messages to the client on the client's subnet. A client that can receive unicast IP datagrams before its protocol software has been configured SHOULD clear the BROADCAST bit to 0. The BOOTP clarifications document discusses the ramifications of the use of the BROADCAST bit [21].

RFC 2131 - Dynamic Host Configuration Protocol

なるほど(わからん)、rfc2131によるとDHCPOFFERはユニキャストで送信されることがあるようだ。 中継器はブロードキャストでないとそのパケットを受け取れないので実際のクライアントまでDHCPOFFERを取り次げない。ということかな...?

使っているルーターを調べてみたが、どのオプションにあたるのか全然わからなかった。

15.1.2 RFC2131 対応動作の設定


とりあえず、中継器のIPアドレスだけでも固定割当にしとくかー。と設定した所で、問題なく動くようになってしまった。これが問題を解決しているのかわかっていない。が、元々固定割り当てにするつもりだったので本来は遭遇しない問題なんだろう。。。今は気にしない事にする。