RTX1210 で DHCP リース時間を強制する方法
RTX1210 の DHCP サーバ機能を利用して、リース時間を強制する方法を紹介します。
RTX シリーズのルータでは expire
と maxexpire
の2つの設定を適用 することで、クライアントの要求に関わらずリース時間を制限することができます。
DHCP リース時間の決定方法
IP アドレスのリース時間は DHCP サーバにより指定されますが、クライアント側が リース時間の希望を出す ことも認められています。
ルータ指定のリース時間を超えている端末が発見されて原因を調査したところ、上記のRFC仕様があることを知りました。対策として後述の設定を適用しています。
expire と maxexpire の違い
RTX シリーズのルータには、リース時間に関する設定項目が2つ存在します。
expire
: デフォルトのリース時間- クライアントからの要求が特になければこのオプションで指定した時間が適用されます。
maxexpire
: リース時間の上限- クライアントからリース時間の要求があった場合でも、このオプションで指定した時間を上回ることはできません。
設定前後の比較
スコープ設定の末尾に maxexpire
を追加して検証しました。
dhcp scope 1 10.0.xxx.10-10.0.xxx.199/24 gateway 10.0.xxx.1 expire 2:00 maxexpire 2:00
設定前(expire 2:00
のみ)→ 24時間
1: eth0:
inet 10.0.xxx.91/24 brd 10.0.xxx.255 scope global dynamic eth0
valid_lft 86400sec preferred_lft 86400sec
設定後(expire 2:00
, maxexpire 2:00
)→ 2時間
1: eth0:
inet 10.0.xxx.91/24 brd 10.0.xxx.255 scope global dynamic eth0
valid_lft 7200sec preferred_lft 7200sec
クライアントの環境に関わらず最大2時間のリースとなったことが確認できます。
参考記事
DHCP の仕様および、ルータの設定コマンドについて下記資料を参考にしました。
まとめ
- RTX1210 で DHCP リースの最大時間を制限しました
- DHCP のリース時間はクライアント側から要求されることがあります
- 完全に制御したい場合は
expire
に加えてmaxexpire
も設定が必要です