NVR500のDHCPサーバで静的割当と動的割当のレンジを分ける

YAMAHA NVR500 の DHCP サーバ機能において,同一ネットワーク内に静的割当用レンジと動的割当用レンジを分けて設定する方法についてのメモ.

ネットワーク内の一部アドレスを DHCP の静的割当用に予約したい場合,dhcp scope lease type SCOPE_NUM bind-only で静的割当のみの DHCP スコープを定義できる. 一方で動的割当を行う場合には, bind-priority を指定した DHCP スコープも必要となる. NVR500 では DHCP スコープを複数定義できるが,同一ネットワークに複数の DHCP スコープを定義できない. そのため,同一ネットワーク内に静的割当用スコープと動的割当用スコープのどちらも設定することは単純にはできない.

一つの DHCP スコープで静的割当と動的割当のレンジを分ける方法として,静的割当用のアドレスのすべてを dhcp scope bind で予約する方法がある. しかし,ダミーの割当コマンドを数十行以上設定することは,設定をする際もコンフィグを読む際にもしんどい気持ちになる.

そこで,同一ネットワーク内に静的割当用スコープと動的割当用スコープを設定する方法を考えた. ネットワーク内に複数の DHCP スコープを定義するためには,DHCPスコープのネットワークを,実際に運用しているネットワークのサブネットとすればよい. config の関連個所は以下のようになる.

ip lan1 address 192.168.100.1/24

dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope lease type 100 bind-only fallback=101
dhcp scope lease type 101 bind-priority
dhcp scope 100 192.168.100.2-192.168.100.126/25
dhcp scope 101 192.168.100.129-192.168.100.254/25
dhcp scope bind 100 192.168.100.2 ethernet 00:00:5e:00:53:00
dhcp scope option 100 subnet_mask=255.255.255.0 router=192.168.100.1 dns=192.168.100.1
dhcp scope option 101 subnet_mask=255.255.255.0 router=192.168.100.1 dns=192.168.100.1

LAN のネットワークは 192.168.100.0/24 だが, DHCP スコープを定義する際に 192.168.100.0/25192.168.100.128/25 の二つのサブネットに分けている. ただし,暗黙の DHCP オプションではサブネットマスクとして 255.255.255.128 が送られてしまうため,DHCP オプションを明示的に指定した. また,ネットワークアドレスとブロードキャストアドレスは DHCP の貸出用には使えないため, 192.168.100.127, 192.168.100.128 は除外される.

なお,最近の機器/ファームウェアの組み合わせでは,同一ネットワークに対し複数の DHCP スコープを定義できるため,リプレースも視野に入れたい.(RTX830, RTX1210, RTX1220, NVR510, NVR700W で対応.ノート参照.)