DHCPリースを更新するにはどうすればよいですか?


56

再起動する前に、DHCPリースを解放および更新するにはどうすればよいですか?GUIとターミナルメソッドを知っていると便利です。

特に、管理者特権を必要とせずにこれを行う方法があるかどうかを知りたいです。

回答:


18

システムトレイのネットワークドロップダウンセレクターで、既に接続しているネットワークを押すことができます。これにより、ネットワークマネージャーはDHCPサーバーからの新しいリースを要求します。

代替テキスト

(これは有線ネットワークでも動作しますが、PPP接続(モバイルブロードバンド)では動作しないと思います)


47

端末でdhcpリースを更新するには:

sudo dhclient -r; sudo dhclient

10
sudo service networking restartより良い方法だと思います。dhclient3を搭載した11.10のボックスでは、あなたが提案したことはうまくいきませんでした。代わりに、私は終わった2つの 1:実行しているDHCPクライアントdhclient3と1 dhclient。参照してくださいubuntuforums.org/showthread.php?t=1868368
アダムMonsen

@AdamMonsenネットワークサービスの再起動はNetworkManagerで実際に機能しますか?
rakslice

1
ネットワークを再起動@AdamMonsenは私のためのDHCPリースを更新していないようだ
dogmatic69

sudo service network-manager restartUbuntu 13.10では、64ビットデスクトップはネットワーク関連のものを適切に再起動し、DCHPリースを更新するようです。(askubuntu.com/a/230751/2273から)
アダムモンセン

4
デバッグに知っておくと便利です。Ubuntu14.04ではsudo service network-manager restart、DHCPからのIPリースを完全に更新しませんでした。それはただのDHCP Requestパケットを送りますDiscover。リースを更新したいだけなら十分ですが、DHCPをデバッグしている場合は、元のソリューションを使用します。
ゲルロス

31

私の場合、更新するカードを指定する必要がありました。

最初に現在のIPアドレスをリリースします。

sudo dhclient -r eth0

その後、IPアドレスを更新します

sudo dhclient eth0

3
これは、複数のインターフェイスがある場合の正しい答えです。
Tek

良い方法:コマンドをANDで結合します- sudo dhclient -r enp7s0 && sudo dhclient enp7s0(ethネットワークデバイスで置き換えます)
bshea

この答えを編集してこれらを結合してください。これらを別々に試してリモートボックスを開始しました。
グラハムラッセル

8

Maverickにはnmcli、ネットワークマネージャーへのコマンドラインインターフェイスが付属しています。

リースを更新するように指示する簡単な方法はありませんが、実行しています:

nmcli con

接続リストを取得し、実行します:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

接続を停止し、バックアップします。代わりにデバイスで同様のことを行うことができる場合があります。

接続リストにはすべての接続が含まれているように見えるため、これはおそらくPPTPおよびVPN接続でも機能します。


1
私のDHCPサーバは、まだ(私は静的割り当てを有効にするためにリリースを強制しようとしている)...そこにリースを示した
ゲルト・ファンデンベルク

8

これはUbuntu 12.04 LTSで機能します。

sudo service network-manager restart

それを行うと、Network Managerは新しいDHCPリースを要求します。

dhclient古いdhclientプロセス(Network Managerによって管理されていないプロセス)が自然に問題を起こし、都合の悪いときにランダムなポイントでネットワーク設定を誤って再構成するため、手動で(再)起動することを好みます。


1
Ubuntu 16.04でも引き続き関連します。dhclient -rそれ以外の場合は、成功した終了コードで何もしません。:-(
studog

これは18.04で正常に機能しました!
Roel Van de Paar

3

あなたがにしている場合はsystemdGUIなしでのUbuntuのベース・バージョン(つまり、サーバのバージョン)、これはDHCPのリースを更新する方法です。

sudo systemctl restart systemd-networkd

注:静的に構成されたインターフェイスまたはコンソールを介して接続しない限り、DHCPリースを更新するインターフェイスを介して接続している場合、接続が切断される可能性があります。


私はこれをdhcpdump他の端末で聞いてテストしていました。うまくいかないようでしたdhclient
パブロA

1

Maverick Meerkat Beta 1にアップグレードしたばかりですが、まだデバッグしていない標準のバニラeth0構成で何かが壊れました。迅速で汚い回避策は

sudo dhclient

(すでに死んでいる可能性のある)クライアントが既に存在していることを認識し、新しいリースを取得します。

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

これは修正ではなく、単なるハックです。何が悪かったのかがわかったらフォローアップします。


1

を介してこの特定の機能が不足してnmcliいるため、最善のCLIソリューションは、新しいインスタンスを起動するのではなく、NetworkManagerが管理するdhclientインスタンスをリリースして強制終了することです。NMは、NMインフラストラクチャ全体を再起動する必要を回避して、自動的に再起動します。

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v -冗長にする
  • -r -リリースおよびシャットダウン
  • -pf -NMのインスタンスのPIDファイル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.