- blogs:
- cles::blog

DHCP から静的ルートを配布する



DHCP でアドレスを取得しているマシンにいちいち静的ルートを設定するのが面倒なので、DHCP サーバからルート情報をを配布する情報を調べてみたのでメモ。
† 1つめの罠
今回使っている DHCP サーバは Yamaha の RT シリーズに内蔵されたものなので高度なオプション設定ができました。RT シリーズで使える DHCP オプションの一覧は「DHCPオプション - FAQ for YAMAHA RT Series / TCP/IP」にあります。これによると、121 classless_static_route が使えそうな感じなのですが実はこのオプションは Windows には効きません。実際に効くのは 249*1 の方というちょっとした罠があります。
† DHCP Option 249 の設定方法
2つめの罠はこのオプションの設定がバイナリ(16進数)であること。データの並びは「ゲートウェイのネットマスク長(1オクテット固定),ネットワークアドレス(0~4オクテット可変),ゲートウェイアドレス(4オクテット固定)」を全て16進数にして順に並べる必要があります。ネットワークアドレスの部分が可変長なのがちょっとやっかいですが、オクテットが 0 になる部分が省略される*2と考えればわかりやすいと思います。フォーマットが間違っているとうまく IP アドレスが取得できなくなってしまうので注意が必要です。
具体例を挙げると、192.168.200.0/24 へのゲートウェイが 192.168.100.254 の場合は 24.192.168.200.192.168.100.254 となるので、これを 16 進数変換して 18,C0,A8,C8,C0,A8,64,FE という感じです。また、10.0.0.0/8 へのゲートウェイが 192.168.100.1 の場合は 8.10.192.168.100.1 となるので、これを 16 進数変換して 08,0A,C0,A8,64,01 という感じです。
いちいち変換するのも面倒なので、ruby でワンライナーを書きました。
あとはこんな感じで DHCP オプション設定してやれば OK でした。
- *1: [MS-DHCPE]: DHCPv4 Option Code 249 (0xF9) - Microsoft Classless Static Route Option
- *2: RFC 3442 - The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8370
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110785)
3 . 年次の人間ドックへ(110378)
4 . 2023 年分の確定申告完了!(1つめ)(109926)
5 . 三菱鉛筆がラミーを買収(109824)