Bagaimana cara memperbarui sewa DHCP saya?

56

Singkat reboot, bagaimana saya bisa melepaskan dan memperbarui sewa DHCP saya? Akan berguna untuk mengetahui metode GUI dan terminal.

Saya terutama ingin tahu apakah ada cara untuk melakukan ini tanpa memerlukan hak admin.

ændrük
sumber

Jawaban:

18

Dalam pemilih tarik-turun jaringan dari baki sistem Anda dapat menekan jaringan yang sudah Anda sambungkan, ini akan membuat manajer jaringan meminta sewa baru dari server DHCP.

teks alternatif

(Ini juga berfungsi untuk jaringan kabel, tetapi saya pikir itu tidak berfungsi untuk koneksi PPP (mobile broadband))

LassePoulsen
sumber
47

Untuk memperbarui sewa dhcp Anda di terminal:

sudo dhclient -r; sudo dhclient
Sebastian Thürrschmidt
sumber
10
Saya pikir sudo service networking restartini cara yang lebih baik. Apa yang Anda sarankan tidak bekerja untuk saya pada kotak 11,10 dengan dhclient3. Sebaliknya, saya berakhir dengan dua klien DHCP yang berjalan: satu dhclient3dan satu dhclient. Lihat ubuntuforums.org/showthread.php?t=1868368
Adam Monsen
@AdamMonsen Apakah memulai kembali layanan jaringan benar-benar berfungsi dengan NetworkManager?
rakslice
1
@AdamMonsen memulai kembali jaringan sepertinya tidak memperpanjang sewa dhcp untuk saya
dogmatic69
sudo service network-manager restartdi Ubuntu 13.10 Desktop 64-bit muncul untuk memulai kembali dengan benar hal-hal jaringan dan memperbarui sewa DCHP saya. (Dari askubuntu.com/a/230751/2273 )
Adam Monsen
4
Berguna untuk diketahui untuk debugging: pada Ubuntu 14.04 sudo service network-manager restarttidak sepenuhnya memperbarui sewa IP dari DHCP. Itu hanya mengirim Requestpaket DHCP bukannya Discover. Jika Anda hanya ingin memperpanjang sewa Anda sudah cukup, tetapi jika Anda men-debug DHCP Anda ingin menggunakan solusi asli.
gerlos
31

Dalam kasus saya, saya harus menentukan kartu mana yang akan diperbarui:

Pertama-tama lepaskan alamat IP saat ini:

sudo dhclient -r eth0

kemudian perbarui alamat IP

sudo dhclient eth0
Daniel Mora
sumber
3
Ini adalah jawaban yang benar jika Anda memiliki lebih dari satu antarmuka.
Tek
Lebih baik: Gabung perintah dengan AND - sudo dhclient -r enp7s0 && sudo dhclient enp7s0(ganti dengan perangkat jaringan eth Anda)
bshea
Harap edit jawaban ini untuk bergabung bersama ini, saya baru saja memulai kotak jauh mencoba ini secara terpisah.
Graham Russell
8

Maverick hadir dengan nmcli, antarmuka baris perintah ke manajer jaringan.

Saya tidak bisa melihat cara sederhana mengatakannya untuk memperpanjang sewa, tetapi menjalankan:

nmcli con

Memberi Anda daftar koneksi, dan menjalankan:

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

Menghilangkan koneksi dan membuat cadangan. Dimungkinkan untuk melakukan sesuatu yang mirip dengan perangkat sebagai gantinya.

Daftar koneksi tampaknya mencakup semua koneksi, jadi ini mungkin akan bekerja dengan koneksi PPTP dan VPN juga.

Mat
sumber
1
Server DHCP saya masih menunjukkan kontrak sewa di sana ... (Saya mencoba memaksa rilis untuk membuat penugasan statis berlaku)
Gert van den Berg
8

Ini berfungsi di Ubuntu 12,04 LTS:

sudo service network-manager restart

Ketika saya melakukan itu, Network Manager meminta penyewaan DHCP baru.

Saya lebih suka ini secara manual (kembali) dimulai dhclientkarena saya punya masalah dengan proses basi dhclient (yang tidak dikelola oleh Network Manager) secara spontan dan salah mengkonfigurasi ulang pengaturan jaringan saya pada titik-titik acak ketika itu paling tidak nyaman.

Marius Gedminas
sumber
1
Masih relevan di Ubuntu 16.04. dhclient -rdiam-diam tidak melakukan apa-apa dengan kode keluar yang berhasil. :-(
studog
Ini bekerja dengan baik pada 18.04!
Roel Van de Paar
3

Jika Anda menggunakan systemdUbuntu berbasis versi tanpa GUI (yaitu versi server) maka ini adalah cara untuk memperbarui penyewaan DHCP:

sudo systemctl restart systemd-networkd

Catatan: Jika Anda terhubung melalui antarmuka yang sewa DHCP-nya diperbarui, Anda mungkin terputus, kecuali jika Anda terhubung melalui antarmuka atau konsol yang dikonfigurasi secara statis.

Pierz
sumber
Saya sedang menguji ini dengan dhcpdumpmendengarkan di terminal lain. Tampaknya tidak berhasil, hanya dhclientjalannya.
Pablo A
1

Baru saja meng-upgrade ke Maverick Meerkat Beta 1, ada sesuatu yang rusak dalam konfigurasi standar vanilla eth0 yang belum saya debug. Solusi cepat dan kotor telah terjadi

sudo dhclient

yang memperhatikan bahwa sudah ada (mungkin sudah mati) klien dan mendapatkan sewa baru:

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.

Ini bukan perbaikan, hanya peretasan. Saya akan menindaklanjuti ketika saya menemukan apa yang menjadi buruk.

msw
sumber
1

Karena tidak memiliki kemampuan khusus ini nmcli, saya percaya solusi CLI terbaik adalah melepaskan dan membunuh instance dhclient yang dikelola oleh NetworkManager, daripada memulai yang baru. NM kemudian akan mengembalikannya lagi secara otomatis, menghindari keharusan me-restart seluruh infrastruktur NM.

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v - membuat verbose
  • -r - lepaskan dan matikan
  • -pf - File pid dari contoh NM
Niklas Holm
sumber