OpenWRT DHCPサーバのOFFERメッセージ応答を遅らせるには

公開 | 更新 

ネットワーク上に存在する複数の OpenWRT ベースの DHCP サーバの優先順位を確実に適用させる方法として、 dnsmasq のdhcp-reply-delayオプションで、 OFFER メッセージ応答を 遅らせる アプローチを試してみました。

冗長化しているDHCPサービスが偏りがち

以前より自宅において、ISP支給のONUに正副2台のOpenWRTルータを繋ぎ、同じLANでネットワークサービスの冗長化を実現、運用してきました(関連記事はこちら)。

図1.OpenWRTルータの簡易冗長化構成

図1.OpenWRTルータの簡易冗長化構成

各ルータのDHCPサーバも配布範囲を分けた上でどちらも稼働させて、簡易的なロードバランスを構成しているのですが、実際はどうもサブルータ(上図のRouter 2)に配布が偏りがち。

ネットワーク上に複数のDHCPサーバが存在する場合、どちらかをプライマリとするよう重み付ける方法に、 Force DHCP オプションがあるのは知られていますが、経験上、思ったように機能してくれないことばかりで、あまり当てにしていません。

図2.OpenWRT DHCPサーバの詳細設定

図2.OpenWRT DHCPサーバの詳細設定

dnsmasqの応答遅延オプション

OpenWRTのDHCPサーバ(IPv4)を担当するdnsmasqには、OFFER応答を遅らせるオプション dhcp-reply-delay が用意されているので、これを使えばサブルータのDHCPサーバの応答を遅らせることで、メインルータによるIPアドレス配布が優先されるようになるはずです。

但し、OpenWRTには相当するオプションが見当たらないことから、

OpenWRTルータの /etc/dnsmasq.conf へ直接記述することにします。

サービスの再起動後、遅らせたいサブルータ側のシステムログを開くと、設定通りに応答遅延が機能していました。

図3.サブルータOFFER応答遅延中

図3.サブルータOFFER応答遅延中

その隙にメインルータが遅延なくDHCP OFFERメッセージを送出、クライアントがこれを採用する様子が、メインルータのログから確認できました。

図4.メインルータIP配布成功

図4.メインルータIP配布成功

この状態で数時間後には完全にDHCPサーバのIP配布がメインルータへ偏るようになりました。

図5.メインルータへIP配布を偏らせる

図5.メインルータへIP配布を偏らせる

 

今回は10秒遅延で試してみましたが、もちろんこれではあまり実用的ではないので、もう少し小さくチューニングしてみるつもりです。

 

created by Rinker
¥2,653 (2024/05/01 20:27:33時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA