OpenBSD 5.8でDHCPDを実行していますが、奇妙な問題が発生しました。
/etc/dhcpd.confのリース時間を次のように設定しました。
max-lease-time 7200;
default-lease-time 7200;
2時間でなければなりません。
dhcpd.leasesファイルを確認すると、次のようになります。
lease 172.24.186.224 {
starts 5 2018/07/31 07:17:03 UTC;
ends 5 2018/07/31 19:17:03 UTC;
hardware ethernet b4:f6:1c:27:4f:a4;
uid 01:b4:f6:1c:27:4f:a4;
client-hostname "Apple";
}
この12時間のリース時間は、tcpdumpを実行してWiresharkを使用して分析するときにも確認されます。 (dhcpd.leasesファイルには、私が説明できない24時間レンタルもあります。)
「最上位」構成または特定のサブネットに対して最大リース時間とデフォルトリース時間を設定しようとしましたが、成功しませんでした。
ここで何が起こっているのでしょうか?
答え1
私は解決策を見つけました。
これは特定のOpenBSDバージョンのバグのようです。
答え2
新しいリース期間のデフォルト値(ネットワークブロックのローカルであるかグローバルであるかにかかわらず)は、dhcpd
設定後(サービスが再起動される)、新しく発行されたリースにのみ影響します。
以前のアクティブなリースは設定の変更(場合によっては)よりも優先され、古いデフォルトは期限切れになるまで表示されます。
したがって、今日の19:07 UTC以降にのみ表示されたMACのリースは、構成したばかりの短期間のリースを受け取ります。
時間が経過する前に異なる動作をするには、リースを削除する必要があります。
注:テストシステムの場合は、リースファイルをゼロバイトに切り捨てるか、「lease {」と「}」の間の行を編集できます。後ろにdhcpd
デーモンを停止します。