Ubah dhclient untuk mencoba kembali mengambil alamat IP

10

Ternyata raspberry pi tidak berusaha sangat keras untuk mendapatkan alamat IP dengan dhcp, selama listrik mati, rpi saya boot lebih cepat dari server dhcp, dan tidak pernah mendapat alamat IP. Dalam situasi seperti itu, rpi tampaknya akan di-boot, tetapi itu tidak mendapatkan alamat IP, dan saya tidak pernah melihat permintaan dhcp darinya sampai saya reboot lagi.

dhclient dijalankan seperti itu:

dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

Saya tidak dapat menemukan cara untuk mengubah argumen menjadi dhclient, argumen -1 mungkin penyebabnya. Bagaimana saya bisa membuat permintaan raspberrypi saya coba lagi dhcp sampai mendapat balasan?

Sunting: ini tentang distro "wheezy" Raspbian.

tidak
sumber
1
Masalah yang sama dengan wifi. Jika Wifi Router aktif saat startup semuanya berjalan baik, bahkan dengan router restart. Tetapi jika router dimatikan ketika raspberry mulai tidak pernah mendapatkan IP. Salam
Saya juga memiliki masalah yang sama. Namun, saya tidak tahu bagaimana dhclient dijalankan. Apakah ada konfigurasi atau apakah saya perlu melakukan sesuatu untuk itu?
Kangkan

Jawaban:

7

Hapus -1argumen dari baris perintah Anda, lalu edit timeoutdan retrynilai /etc/dhclient.confsesuai keinginan Anda. Anda dapat melihat halaman manual ( man dhclient.conf) untuk lebih jelasnya.

Munkeh
sumber
Masalahnya adalah, seperti yang dikatakan, saya tidak dapat menemukan cara untuk mengubah baris perintah dhclient, tampaknya secara ajaib entah bagaimana dimulai saat boot oleh sesuatu di paket ifupdown .deb sebagai sesuatu yang mem-parsing file / etc / network / interfaces
no
@nos Anda perlu menemukan skrip init jaringan. Saya tidak ingat di mana itu berada begitu saja.
Alex Chamberlain
@Alex Chamberlain Ternyata baris perintah untuk memulai dhclient dikodekan dalam biner / sbin / ifup. Jadi saya sedang mencari solusi alternatif pada saat ini.
no
Maaf soal itu. Lagi pula, distro apa itu? Aneh mereka akan memasukkan kode yang sulit ke dalam biner. Dari segi solusi, Anda bisa menambahkan beberapa baris ke rc.local untuk mematikan proses dhclient yang ada dan kemudian memulai sendiri dengan args khusus, dll.
Munkeh
Editet pos - Saya menggunakan rasbpian
nos
1

Apa isi dari / etc / network / interfaces Anda?

Saya mengasumsikan ada eth0 otomatis karena DHCP permintaan DHCP saat boot.

Bagaimana jika Anda mengubahnya untuk allow_hotplug eth0? Itu harus bereaksi terhadap perubahan pada antarmuka (kabel dimasukkan / dihapus), jika saya memahaminya dengan benar.

(Semua ini hanya tebakan saya yang berpendidikan).

Gruffalo
sumber
Tip ini berfungsi sangat baik untuk saya: memungkinkan hot-plugging, dan mempercepat waktu boot. Tetapi harus dituliskan sebagai "allow-hotplug eth0".
user27164
0

Ada solusi yang diberikan di sini oleh Jeroen: https://bugs.launchpad.net/raspbian/+bug/1125066

Saya telah menyiapkan solusinya dan reboot - sepertinya ok saat ini. Akan mengkonfirmasi jika masalah teratasi dalam pembaruan setelah pengujian untuk sementara waktu.

Inilah solusinya:

Solusinya adalah membuat skrip wrapper dengan mengganti nama / sbin / dhclient ke / sbin / dhclient-bin dan tetapi teks di bawah ini di / sbin / dhclient dan kemudian chmod ke 777:

#!/bin/sh
/sbin/dhclient-bin -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
Andy Boura
sumber