LoginSignup
12
10

More than 3 years have passed since last update.

ヤマハルータのDHCP機能でIoT機器に固定IPアドレスを発行する場合の注意

Posted at

DHCPのClient-Identifierオプションが使われる場合、使われない場合

多くのPCやスマートフォンのDHCPクライアント機能が送出するDHCPメッセージは、Client-Identifierオプションを使う形で発行される。私が確認した例では、以下の機器がこのパターンに該当した。

  • Windows10 PC
    • イーサネットインタフェースのドライバは「Realtek PCIe GBE Family Controller」とあった
  • Androidスマートフォン:HTC E11 Life
    • Androidのバージョンは8.0.0

これに対し、IoT機器のDHCPクライアント機能が送出するDHCPメッセージは、Client-Identifierオプションを使わない形で発行されることがある。私が確認した例では、以下のIoT機器がこのパターンに該当した。

  • Google Home Mini
  • Philips hue

接続されている機器のDHCPクライアント機能がClient-Identifierオプションを発行しているかどうかを確認する

ヤマハルータにおいて、接続されている機器のDHCPクライアント機能がClient-Identifierオプションを発行しているかどうかは、show status dhcpコマンドで確認することができる。

接続されている機器のDHCPクライアント機能がClient-Identifierオプションを発行している場合、show status dhcpの当該機器に対する結果は以下のようになる。

割り当て中アドレス: xxx.xxx.xxx.xxx
 (タイプ) クライアントID: (01) 23 45 67 89 ab cd
リース残時間: ...略

IPアドレスに対応するMACアドレスが出力される部分において、タイトルが「(タイプ) クライアントID」となっているのがポイントである。

一方、接続されている機器のDHCPクライアント機能がClient-Identifierオプションを発行していない場合、show status dhcpの当該機器に対する結果は以下のようになる。

割り当て中アドレス: xxx.xxx.xxx.xxx
クライアントイーサネットアドレス: 01:23:45:67:89:ab
リース残時間: ...略

IPアドレスに対応するMACアドレスが出力される部分において、タイトルが「クライアントイーサネットアドレス」となっているのがポイントである。

本題…注意点は何か

ヤマハルータのDHCPサーバ機能において、特定のMACアドレスに対して発行されるIPアドレスを固定するために使われるコマンドはdhcp scope bindである。ところが、このコマンドの書式は、DHCPクライアントがClient-Identifierオプションを発行する場合と発行しない場合で異なるのである。以下にその違いを記す。ここで、xx:xx:xx:xx:xx:xxというのは、対象機器のMACアドレスを指すものとする。

  • 対象機器のDHCPクライアントがClient-Identifierオプションを発行する場合…dhcp scope bind {スコープ番号} ethernet xx:xx:xx:xx:xx:xx
  • 対象機器のDHCPクライアントがClient-Identifierオプションを発行しない場合…dhcp scope bind {スコープ番号} xx:xx:xx:xx:xx:xx

間違った書式のdhcp scope bindを使った場合、指定したMACアドレスに対して指定したIPアドレスが発行されない。

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10