Bagaimana membuat dhclient melupakan penyewaan DHCP terakhirnya?

28

Apa yang saya coba capai adalah mendapatkan awal-awal, sewa DHCP keadaan-nol yang berarti memaksa dhclientmelalui proses penemuan dan konfigurasi penuh (DHCPDISCOVER – DHCPOFFER-DHCPREQUEST-DHCPACK sebagai lawan dari siklus DHCPREQUEST – DHCPACK yang menggunakan pintasan yang menggunakan diingat alamat). Saya perlu ini untuk men-debug masalah konfigurasi jaringan.

Saya telah mencoba:

  • memerah sewa saat ini dengan dhclient -r, memutuskan koneksi Network Manager saat ini;
  • membunuh sisa dhclientdan dnsmasqproses;
  • /var/lib/dhcp/direktori pembersihan , yang seharusnya berisi database sewa klien;
  • sudo restart network-manager.

Tetapi bahkan setelah langkah-langkah ini saya lihat di log DHCPDISCOVER segera diikuti oleh DHCPREQUEST entah bagaimana masih mengingat alamat.

Jelas, OS menyimpan alamat entah bagaimana lagi, dan saya sudah kehabisan ide. Adakah bantuan dari komunitas?

ulidtko
sumber
Apakah Anda mengetahuinya. Saya juga mengalami masalah yang sama. Ada file sewa di bawah NetworkManager juga. Saya juga menghapusnya. Untuk beberapa alasan masih mengambil alamat lama.
gudge

Jawaban:

18

Ini melakukan trik untuk saya (untuk eth0, lari dari sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
Anton Kiselev
sumber
1
Ketika saya melakukan ini, saya mendapat sewa baru, tetapi alamat IP tampaknya tidak digunakan oleh sistem. Jika saya mencoba dan melakukan ping nama atau alamat IP terkait itu gagal. Jika saya gunakan ifconfiguntuk memeriksa alamat saat ini, saya dapat menemukan itu.
TafT
Mengubah rmbagian membuat ini berhasil untuk saya (tanpa ini sewa sebelumnya digunakan dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient* ; dhclient -v eth0
:)
6

Program Klien DHCP menulis sewa ke file. Hapus saja file dan mulai ulang networkmanager.

/var/lib/dhcp/dhclient.leases

Di sinilah sewa disimpan, di komputer saya.

thethourtheye
sumber
2

Apa yang Anda lihat bukan mesin Anda mengingat IP. Di syslog Anda melihat DISCOVER REQUEST OFFER ACK namun ini tidak sesuai urutan yang terjadi. Ini benar-benar pergi DISCOVER PENAWARAN PERMINTAAN ACK untuk mengkonfirmasi ini Anda dapat mengendus lalu lintas antara PC dan server DHCP upstream. Anda mengirim DISCOVER server mengirim kembali PENAWARAN dan Anda mendapatkan IP dari PENAWARAN untuk PERMINTAAN Anda

Namun Anda melakukan segalanya dengan benar, ketika Anda melakukan "dhclient -r" dhclient akan mengirim RELEASE unicast dan beberapa ISP hanya menerima paket multicast ke server DHCP mereka, jadi RELEASE itu tidak pernah sampai di sana, sejauh server khawatir sewa Anda masih valid, sehingga memberi Anda IP yang sama di PENAWARAN.

Mat
sumber
Terima kasih untuk itu! Saya tidak pernah mengerti mengapa log selalu menunjukkan DISCOVER, REQUEST, OFFER, ACK; sebagai urutan tidak pernah masuk akal. Hanya dengan mengetahui bahwa itu tidak benar-benar apa yang terjadi menempatkan saya jauh di depan dalam mencari masalah saya sendiri. Jadi, mesin saya mendapatkan DHCPOFFERIP yang tidak saya inginkan, dan kemudian berkata "OK", tetapi jika saya memaksanya untuk mencoba mendapatkan yang lain, maka server berkata DHCPNACK, dan saya berakhir tanpa jaringan sama sekali. Di tebakan, reservasi di server adalah untuk MAC yang salah.
Auspex
Satu-satunya hal yang dapat saya pikirkan, Anda dapat mencoba adalah mengubah "hwaddress ether xx: xx: xx: xx: xx: xx: xx" di / etc / network / interfaces jika ISP Anda memungkinkan Anda untuk mengubah mac Anda tanpa harus menelepon mereka dan memberi tahu mereka, dan modem kabel Anda tidak mengganti mac on the fly, maka server akan melihat Anda sebagai orang baru dan memberi Anda sewa ip kosong.
Matt
Masalahnya adalah bahwa itu adalah memberi saya IP kosong. Dan saya mencoba memaksanya untuk memberi saya yang seharusnya disediakan, karena DNS eksternal menunjuk ke yang itu! Jadi, saya mengirim admin jaringan alamat MAC yang sebenarnya, dan bertanya apakah dia benar-benar memesan IP untuk MAC itu.
Auspex
1

Biasanya, dhclient -rharus melakukan trik; tetapi jika itu tidak berhasil untuk Anda, saya menemukan solusinya di sini :

+ Perbarui alamat IP satu kali:

Catatan: Dalam contoh ini kita akan menggunakan antarmuka eth0. Antarmuka harus dikonfigurasikan agar DHCP berfungsi dan berjalan.

  • Buka terminal dan lakukan sudo suroot.
  • Ketik ifconfiguntuk menunjukkan alamat IP saat ini yang Anda terima dari DHCP.
  • Ketik dhcpcd -kuntuk mengirim sinyal yang sesuai ke dhcpcd (Anda mungkin harus menginstal dhcpcd dengan melakukan apt-get install dhcpcd).
  • Sekarang bawa antarmuka kembali dengan mengetik ifup eth0.
  • Ketik ifconfiguntuk menampilkan alamat IP baru.

Ada juga bagian tentang memperbarui alamat IP setiap saat, tetapi deskripsi untuk distro berbasis RPM (berbeda dengan distro berbasis Debian seperti Ubuntu).

Semoga ini bisa membantu :)

Mohammad Sayyid
sumber