dhcpサーバーが応答しないときにdhclientに古いdhcpリースの代わりにdhclient.confの静的リースを使用させるにはどうすればよいですか?

dhcpサーバーが応答しないときにdhclientに古いdhcpリースの代わりにdhclient.confの静的リースを使用させるにはどうすればよいですか?

DHCP サーバーが使用できない場合、特定の IP アドレスをデフォルトで使用するデバイスがあります。

/etc/dhcp/dhclient.confに次の静的リースが設定されています。

timeout 30;

lease {
  interface "eth0";
  fixed-address 192.168.1.254;
  option subnet-mask 255.255.255.0;
  option routers 127.0.0.1;
  expire never;
}

動作しますが、eth0は/var/lib/dh​​cp/のdhclient.eth0.leasesとdhclient.leasesが空の場合にのみこのIPを取得します。

これに対して妥当な理由がない限り、私はdhcpサーバーが応答しないときに古いリースを使用するよりもdhclient.confで静的リースを割り当てることを好みます。これにより、トラブルシューティングプロセスが簡単になり、SSHを介してのみアクセスでき、現在IPが印刷されていないデバイスにアクセスできます。

dhclientのマニュアルと多くのGoogle検索を読みましたが、これを行う方法の組み込み方法や提案が見つかりませんでした。

私が考えた解決策:

1 - dhclient.leasesをクリアして変更できないように権限を設定します。
2 - dhclient.leasesを/ dev / nullに接続して変更できないように権限を設定します。
3 - #1と同じですが、静的dhclient.confリースを設定しません。 、権限を設定する前に手動でdhclient.leasesに追加してください。

答え1

次に、他のすべての方法が失敗したときにIPアドレスを割り当てることが主な目的であるAVAHIがあります。

AVAHIは非現実的な169.254.xxアドレスを配布する必要があります。

RFC 5735は、RFC3927で説明されているように、169.254.0.0/16を「リンクローカル」ブロックとして指定します。たとえば、DHCPサーバーが見つからない場合は、ホストの自動構成に使用されるアドレス範囲です。

https://help.ubuntu.com/community/HowToZeroconf

答え2

私は '/etc/sysconfig/network-scripts/ifcfg-eth0:0'を作成しました:

DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.222.0
NETMASK=255.255.255.0
IPADDR=192.168.222.22
USERCTL=no

これは単にエイリアスを使用して2番目の固定IPをNICにバインドします。私が望むものではありませんが、dhclient.confの内容を理解するまで動作します。

あるいは、この静的目的のために2番目のネットワークインターフェイスカードを接続することもできます。

関連情報