Это проблема устаревшего dhclient, который все еще реализован во всех дистрибутивах Linux.
Скрипт dhclient должен иметь дело с Lease Timeout.
Когда вы получаете доступ к беспроводной сети и запускаете dhclient, он привязывает IP-адрес и маску подсети, DNS-сервер и некоторые другие параметры к вашему беспроводному интерфейсу (wlan0).
DHCP-сервер сдает этот IP в аренду вашему интерфейсу на ограниченное время (время аренды).
Когда вы выключаете компьютер или по какой-либо причине происходит сбой сценария dhclient, счетчик времени аренды клиента останавливается.
Затем вы загружаете компьютер или снова запускаете dhclient.
Затем dhclient находит конфигурацию Prebind, которая ссылается на старую аренду, и не знает, действительна ли эта аренда или нет.
Возникает проблема. Способ решения этой проблемы dhclient состоит в том, чтобы связать интерфейс с Prebind и попытаться пропинговать маршрутизатор (шлюз). Если проверка связи прошла успешно, предварительная привязка действительна и применяется к беспроводному интерфейсу (wlan0). Иначе, Prebind недействителен, и он отбрасывается.
Это объясняет причину неактивного состояния ("dhclient stalls atges"), оно ожидает ответа DHCP-сервера. И если этого не происходит, примерно через 2 минуты он пытается принять конфигурацию Prebind и проверяет связь со старым маршрутизатором («PING 192.168.1.254»).
У меня была та же проблема в моем Slackware, и я нашел всю информацию на странице руководства dhclient-script.
(man dhclient-script):
TIMEOUT DHCP-клиент не может связаться с DHCP-серверами. Тем не менее, старый договор аренды был идентифицирован, и его параметры были переданы как с BOUND. Сценарий конфигурации клиента должен проверить эти параметры и, если у него есть основания полагать, что они действительны, должен завершиться со значением ноль. Если нет, он должен выйти с ненулевым значением.
Обычный способ проверить аренду - это настроить сеть как с REBIND (так как это может быть вызвано для проверки более чем одной аренды), а затем пропинговать первый маршрутизатор, определенный в $ маршрутизаторах. Если ответ получен, аренда должна быть действительной для сети, к которой интерфейс подключен в настоящее время. Было бы более полно попытаться пропинговать все маршрутизаторы, перечисленные в $ new_routers, а также те, что перечислены в $ new_static_routes, но современные сценарии этого не делают.