Вопрос или проблема
Я только что установил EndeavourOS на своем ноутбуке, и сначала думал, что все в порядке, потому что использовал проводное соединение и имел доступ к интернету, но позже, когда я попробовал Wi-Fi, я не смог подключиться или пропинговать ни один веб-сайт. Я подключился к Wi-Fi с помощью iwctl, и он показывает, что я подключен, но nmcli показывает, что я не подключен. Я думаю, проблема в том, что у меня нет IP-адреса шлюза или маршрута по умолчанию, потому что когда я использую команду route
, она возвращает только это:
Краткая табличка маршрутизации IP ядра
Назначение Шлюз Маска Генерации Флаги Метрика Ссылка Использование Интерфейс
Когда я попытался добавить маршрут с помощью sudo ip route add default via 192.168.0.1
(я взял этот адрес из другого сообщения на форуме, но я видел много других адресов на разных форумах, и не знаю, что использовать, потому что у всех, кроме меня, похоже, есть один), я получил эту ошибку:
Ошибка: Следующий узел имеет недопустимый шлюз.
Я не знаю, что делать, потому что пока не смог найти никого с этой же проблемой.
Извините, если я что-то неправильно понял или использовал неправильные термины, но у меня не так много опыта с интернет-проблемами.
Правка: Я только что выяснил, что интернет работает совершенно нормально, когда я использую KDE Plasma вместо Hyprland, который я использовал до этого. В Plasma я подключился к Wi-Fi с помощью GUI, и это сработало, у меня был доступ в интернет, и команда маршрута также имела нормальный вывод. Когда я пытался использовать GUI на Hyprland, это не сработало. Это ошибка, специфичная для Hyprland, или я что-то напутал во время установки?
Правка 2:
Я снова открываю этот вопрос, потому что оказывается, проблема не полностью ушла. После того, как я следовал шагам от metablaster, все заработало, но когда я перезагружаю или закрываю и снова открываю (соблюдаю режим сна) ноутбук, маршрут просто исчезает, и я больше не могу использовать интернет. Когда я проверял, работало ли это на KDE Plasma, я вышел из системы, переключился с Hyprland на Plasma и попробовал там, и это сработало. Когда я затем снова выхожу и снова вхожу в Hyprland, у меня снова есть доступ в интернет, и команда маршрута также имеет нормальный вывод. Это работает только если я первым вхожу в Hyprland, но не если я сначала войду в Plasma, а затем в Hyprland. Если я правильно интерпретирую это, Plasma каким-то образом создает маршрут, и Hyprland его сохраняет, но только если Hyprland запускался ранее. Могу ли я написать что-то вроде стартового скрипта, который делает то, что делает Plasma, чтобы интернет работал, потому что довольно раздражает каждый раз входить в Hyprland, затем в Plasma и обратно в Hyprland, просто чтобы иметь доступ в интернет.
Ошибка: Следующий узел имеет недопустимый шлюз.
Чтобы обойти это сообщение об ошибке, вам необходимо указать onlink
при добавлении шлюза по умолчанию следующим образом:
sudo ip route add default via 192.168.0.1 dev wlan0 src 10.10.10.10 onlink
В команде выше замените wlan0
на имя вашего WI-FI NIC
и замените src
адрес на IP-адрес, настроенный на этом NIC.
Чтобы узнать имя NIC и IP-адрес, выполните команду ip a
, которая выведет имя NIC и настроенный адрес для этого WI-FI NIC.
Вы также можете попробовать более короткий способ с :
sudo ip route add default via 192.168.0.1 dev wlan0 onlink
Если шлюз по умолчанию предоставляет функцию DHCP
, то вы также можете добавить proto dhcp
в строку, например:
sudo ip route add default via 192.168.0.1 dev wlan0 proto dhcp onlink
Если вы будете использовать статический IP, тогда используйте proto static
вместо этого и не пропускайте часть src <ip address>
, которая должна быть настроена на NIC перед добавлением маршрута.
Ответ или решение
Чтобы устранить проблему с подключением к Wi-Fi без доступа в интернет на вашем ноутбуке с EndeavourOS, выполните следующие шаги:
-
Проверка настроек сети:
Убедитесь, что вы правильно подключены к Wi-Fi. Используйте команду для отображения интерфейсов и их настройку:ip a
Эта команда покажет доступные сетевые интерфейсы. Найдите интерфейс, который вы используете для подключения к Wi-Fi (обычно это будет что-то вроде
wlan0
илиwlp2s0
). -
Проверка маршрутов:
Проверьте таблицу маршрутов с помощью команды:route
Если у вас нет записей о шлюзе по умолчанию, вам необходимо его добавить.
-
Добавление маршрута:
Ваша ошибка "Nexthop has invalid gateway" может возникать из-за того, что вы не указываете корректно интерфейс и IP-адрес. Попробуйте добавить маршрут, используя следующую команду. Заменитеwlan0
на имя вашего Wi-Fi интерфейса и192.168.0.1
на IP-адрес вашего маршрутизатора (вы можете использовать командуip a
для нахождения этого адреса, это обычно адрес по умолчанию маршрутизатора, например,192.168.1.1
или192.168.0.1
):sudo ip route add default via 192.168.0.1 dev wlan0 onlink
-
Использование DHCP:
Если ваш маршрутизатор предоставляет DHCP, и вы хотите, чтобы система автоматически получала IP-адрес и маршруты, выполните команду:sudo dhcpcd wlan0
Это поможет автоматически настроить IP-адрес и маршрут.
-
Скрипт и автоматизация:
Чтобы ваша конфигурация маршрутов и IP-адресов сохранялась после перезапуска, вам потребуется создать скрипт, который будет запускаться при старте сессии Hyprland. Создайте файл, например,setup_wifi.sh
, с содержимым:#!/bin/bash sudo ip route add default via 192.168.0.1 dev wlan0 onlink
Сделайте файл исполняемым:
chmod +x setup_wifi.sh
Затем добавьте его в автозагрузку в вашем менеджере окон или среде рабочего стола.
-
Проверка на наличие конфликта с NetworkManager:
Убедитесь, что в Hyprland у вас нет конфликтующих настроек с NetworkManager, который использует другой метод управления сетевыми подключениями, и что он не отключает ваше подключение. Если вам удобнее, можно попробовать полностью отключить NetworkManager и управлять сетевыми подключениям вручную. -
Тестирование:
После внесения всех изменений перезагрузите систему или сессии Hyprland и проверьте, работает ли интернет. Используйте командуping
для проверки подключения к внешним ресурсам, например:ping google.com
Если данные шаги не решают вашу проблему, рассмотрите возможность обращения за поддержкой к сообществу EndeavourOS или форумам, связанным с Hyprland, так как проблема может быть специфичной для этой среды рабочего стола.
Если вам потребуется дополнительная помощь, пожалуйста, не стесняйтесь задавать вопросы.