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/25
と 192.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 で対応.ノート参照.)