странное поведение - dhclient должно быть выполнено дважды для соединения с беспроводной связью

Я пытаюсь подключить мой к своему wlan без использования NetworkManager. Я выполняю следующие команды после начальной загрузки:

iwconfig wlan0 enc <WEP passwd> mode managed essid <name> channel 6
ifconfig wlan0 up
dhclient wlan0

На данном этапе остановы dhclient целую вечность (возможно, 2 минуты), затем это возвращается с

PING 192.168.1.254 (192.168.1.254) from 192.168.1.65 wlan0: 56(84) bytes of data.

--- 192.168.1.254 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3000ms
pipe 3

.. Странная вещь - это, когда я работаю pkill dhclient; dhclient wlan0 право после этого это соединяется приблизительно в <3 секунды.

Какая-либо идея, какова могла быть причина этой проблемы?

Править: о, и я действительно пытался использовать - флаг тайм-аута на dhclient, но это, казалось, не имело значения (это все еще остановилось целую вечность).

0
задан 28.10.2009, 19:30

2 ответа

Это - проблема устаревшего dhclient, который все еще реализован во всех дистрибутивах Linux. dhclient сценарий должен иметь дело с Тайм-аутом Арендного договора. Когда Вы получаете доступ к беспроводной сети и выполняете dhclient, это связывает IP-адрес и Маску подсети, сервер DNS и некоторые другие опции к Вашему беспроводному интерфейсу (wlan0). Сервер DHCP сдает в аренду тот IP Вашему интерфейсу на ограниченный срок (время владения). Когда Вы выключаете компьютер или dhclient катастрофические отказы сценария любой причиной, клиентскими остановками счетчика времени владения. И затем Вы загружаете компьютер или выполняете dhclient снова. Затем dhclient находит Предварительно связывать конфигурацию, которая обращается к старому арендному договору, и это не знает если тот арендный договор, все еще действительный, или нет. Там прибывает проблема. Способ, которым dhclient решают эту проблему, к привязке интерфейса с, Предварительно связывают, и пытающийся проверить с помощью ping-запросов маршрутизатор (шлюз). Если успех ping, Предварительно связывание допустимо и применяется к беспроводному интерфейсу (wlan0). Еще, Предварительно связывание не допустимо, и оно отбросило.

Это объясняет причину сна ("dhclient остановы целую вечность"), это ожидает ответа сервера DHCP. И если это не делает происходит, приблизительно после 2 минут это пытается принять, Предварительно связывают конфигурацию, и проверяет с помощью ping-запросов старый маршрутизатор ("PING 192.168.1.254").

Я имел ту же проблему в своем Slackware и нашел всю информацию в странице справочника dhclient-сценария.

(dhclient-сценарий человека):

ТАЙМ-АУТ клиент DHCP не мог связаться с любыми серверами DHCP. Однако старый арендный договор был определен, и его параметры были переданы в как со СВЯЗАННЫМ. Клиентский сценарий конфигурации должен протестировать эти параметры и, если он имеет причину полагать, что они допустимы, должен выйти со значением нуля. В противном случае это должно выйти с ненулевым значением. Обычный способ протестировать арендный договор состоит в том, чтобы настроить сеть, поскольку со СНОВА ПЕРЕПЛЕТАЮТ (так как это можно назвать для тестирования больше чем одного арендного договора), и затем проверьте с помощью ping-запросов первый маршрутизатор, определенный в $routers. Если ответ получен, арендный договор должен быть действительным для сети, с которой в настоящее время подключается интерфейс. Это было бы больше завершенное, чтобы попытаться проверить с помощью ping-запросов все маршрутизаторы, перечисленные в $new_routers, а также перечисленных в $new_static_routes, но текущие сценарии не делают этого.

2
ответ дан 24.11.2019, 07:02

Удостоверьтесь, что услуги NetworkManager не запускаются вообще при ручном конфигурировании соединения. Я испытал в прошлом, что оно пытается принять непрерывное возвращение моих изменений конфигурации.

0
ответ дан 24.11.2019, 07:02

Теги

Похожие вопросы