Змініть dhclient, щоб повторити отримання IP-адреси


10

Виявляється, малиновий пі не дуже намагається отримати IP-адресу за допомогою dhcp, під час відключення електроенергії мій rpi завантажувався швидше, ніж сервер dhcp, і ніколи не отримував IP-адресу. У такій ситуації здається, що rpi завантажується, але він не отримує IP-адресу, і я ніколи не бачу запит dhcp, поки не перезавантажую його знову.

dhclient запускається як такий:

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

Я не можу знайти жодного способу змінити аргументи на dhclient, аргумент -1 може бути винуватцем. Як я можу зробити свої малинові повторні запити dhcp, поки не отримає відповідь?

Редагувати: це стосується розп’янського "хрипкого" дистрибутива.


1
Та ж проблема з wifi. Якщо при запуску Wifi маршрутизатор увімкнений, все вийде навіть із перезапуском маршрутизатора. Але якщо маршрутизатор вимкнений при запуску малини, він ніколи не отримує IP. З повагою

У мене теж є та ж проблема. Однак я не знаю, як управляється dhclient. Чи є якийсь конфігурація чи мені потрібно щось для цього зробити?
Кангкан

Відповіді:


7

Вийміть -1аргументи з командного рядка, а потім відредагуйте значення timeoutта retryзначення /etc/dhclient.confна свій смак. Ви можете подивитися на довідковій сторінці ( man dhclient.conf) для отримання більш детальної інформації.


Проблема полягає в тому, що, як було сказано, я не можу знайти жодного способу змінити командний рядок dhclient, мабуть, магічним чином якимось чином запускається при завантаженні чимось у пакеті ifupdown .deb, як щось розбирає / etc / network / interfaces
Н.З.К.

@nos Вам потрібно знайти сценарій init у мережі. Я не можу пригадати, де це від руки.
Алекс Чемберлен

@Alex Chamberlain Виводить командний рядок для запуску dhclient важко кодується у бінарному файлі / sbin / ifup. Тому я шукаю альтернативні рішення на даний момент.
нос

Вибач за те. У будь-якому випадку, що це за дистрибуція? Дивно, що вони важко кодують речі у бінарний файл. Вирішуючи рішення, ви можете просто додати кілька рядків до rc.local, щоб вбити існуючий процес dhclient, а потім почати свій власний користувацький аргумент тощо.
Munkeh

Editet пост - я використовую rasbpian
NOS

1

Який вміст інтерфейсів / etc / network /?

Я припускаю, що є auto eth0, оскільки він запитує DHCP під час завантаження.

Що робити, якщо ви зміните це на enable_hotplug eth0? Це повинно реагувати на зміни в інтерфейсі (кабель вставлений / вилучений), якщо я правильно його розумію.

(Все це лише моя здобута здогадка).


Ця порада для мене працює дуже добре: вона дозволяє здійснювати гаряче підключення та прискорює час завантаження. Але це має бути записано як "enable-hotplug eth0".
користувач27164

0

Є тут вирішення, яке подав Джероен: https://bugs.launchpad.net/raspbian/+bug/1125066

Я налаштував обхід і перезавантажився - наразі здається нормальним. Підтвердить, якщо проблема була вирішена в оновленнях після тестування на деякий час.

Ось таке рішення:

Вирішення проблеми полягає у створенні скрипта для обгортки, перейменувавши / sbin / dhclient на / sbin / dhclient-bin, але текст нижче в / sbin / dhclient і після цього chmod його до 777:

#!/bin/sh
/sbin/dhclient-bin -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.