web-dev-qa-db-ja.com

クライアントの静的リース(IPアドレス)を強制的にすぐに更新/変更するにはどうすればよいですか?

私のルーターはdd-wrtを実行し、DHCPクライアントに静的リースを割り当てます。クライアントはすべてDHCPを使用します。

最近、クライアントに割り当てたいIPアドレスを変更しました。ただし、クライアントは自動的に更新されません。すべてのクライアントはLinuxです。 「dhclient-r」を使用しても違いはないようです。クライアントはoldアドレスを保持します(クライアントとルーターを再起動しない限り)。

私は過去に他のルーター(Netgearなど)でこれと同じ問題を抱えていました。以前はNetgearのファームウェアの問題だと思っていましたが、ルーターで静的リースが変更されたときにIPアドレスが更新される正しい手順やルールがわからないと思います。私はいくつかの説明を求めています。

すべて(ルーターとすべてのクライアントを含む)をオフにしてから、ローターを起動してからクライアントを起動すると、すべてが正しいIPアドレスを取得することがわかりました。だから私は状況を解決する方法を知っています。しかし、それを除けば、リースの期限が切れるのを十分に待っても、アドレスは変更されていないようです。デバイスがルーターに接続されている限り、割り当てられた後はIPアドレスは変更されないようです。

私はさまざまな状況でこの動作を見てきました(主にNetgearルーターで)。 IPが最初に動的に割り当てられたのか静的に割り当てられたのかは問題ではないようです(DHCP静的リース)。すべてがまだ実行されている間は更新されません。

基本的に、IPアドレスを新しいスキームに更新するために、ネットワーク上のすべてのクライアントをシャットダウンしなければならないのは本当に苦痛だと思います。誰もがこれについての洞察を持っています。よく理解できれば、もっと便利な対処法が見つかるといいですね。

(この問題は軽微ですが、何年もの間私を悩ませてきました。今回は、同じように対処するのではなく、何か新しいことを学びたいと思っています。)

2
MountainX

DHCPサーバーは、それ自体が存在するネットワークセグメントに対して権限があるとは見なしていないため、DHCPNAKを送信していないようです。これにより、クライアントは古いリースを削除して初期化状態になります。同じセグメントに2つのDHCPサーバーがないと仮定して、dd-wrtを権限のあるものに構成すると、リースが削除され始めます。

1
Kyle Jones

DHCPクライアントがすでに接続されている場合は、手動で削除する必要があるという回答がオンラインでいくつか見つかりました。 http://www.dslreports.com/forum/r19261599-DD-WRT-Unable-to-set-static-ip-address-wotj-DD-WRT-firmware

それはうまくいきませんでしたが、ルーターのプラグを抜いて再接続し、すべてのリースを無効にして、クライアントに新しいリースを要求するように強制しました。それはたまたま私のために働いた。

1
1mike12

デバイスを変更し、静的リースのMACアドレスを更新する必要があったときに、この厄介な問題がかなりの期間発生しました。

ルーターの再起動は常に機能しましたが、最も洗練されたソリューションではありません。

私にとってのトリックは、DHCPクライアントに行き、2つの関連する静的リースを削除することでした。

enter image description here

これにより、DHCPサーバーは古い静的リースを「忘れ」、新しいクライアントが再起動/要求IPアドレスを取得すると正しいものを取得するようです。

1
Hagay Goshen