BLOGTIMES
2016/03/26

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

  Tips networking  rtseries 
このエントリーをはてなブックマークに追加

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 でワンライナーを書きました。

$ ruby -e 'puts ARGV[0].split(".").map{|n| "%02X" % n }.join(",")' '24.192.168.200.192.168.100.254' 18,C0,A8,C8,C0,A8,64,FE

あとはこんな感じで DHCP オプション設定してやれば OK でした。

dhcp scope option 1 249=18,C0,A8,C8,C0,A8,64,FE

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8370
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン