Подключено к Wi-Fi, но нет подключения к интернету

Вопрос или проблема

Я только что установил 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, выполните следующие шаги:

  1. Проверка настроек сети:
    Убедитесь, что вы правильно подключены к Wi-Fi. Используйте команду для отображения интерфейсов и их настройку:

    ip a

    Эта команда покажет доступные сетевые интерфейсы. Найдите интерфейс, который вы используете для подключения к Wi-Fi (обычно это будет что-то вроде wlan0 или wlp2s0).

  2. Проверка маршрутов:
    Проверьте таблицу маршрутов с помощью команды:

    route

    Если у вас нет записей о шлюзе по умолчанию, вам необходимо его добавить.

  3. Добавление маршрута:
    Ваша ошибка "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
  4. Использование DHCP:
    Если ваш маршрутизатор предоставляет DHCP, и вы хотите, чтобы система автоматически получала IP-адрес и маршруты, выполните команду:

    sudo dhcpcd wlan0

    Это поможет автоматически настроить IP-адрес и маршрут.

  5. Скрипт и автоматизация:
    Чтобы ваша конфигурация маршрутов и 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

    Затем добавьте его в автозагрузку в вашем менеджере окон или среде рабочего стола.

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

  7. Тестирование:
    После внесения всех изменений перезагрузите систему или сессии Hyprland и проверьте, работает ли интернет. Используйте команду ping для проверки подключения к внешним ресурсам, например:

    ping google.com

Если данные шаги не решают вашу проблему, рассмотрите возможность обращения за поддержкой к сообществу EndeavourOS или форумам, связанным с Hyprland, так как проблема может быть специфичной для этой среды рабочего стола.

Если вам потребуется дополнительная помощь, пожалуйста, не стесняйтесь задавать вопросы.

Оцените материал
Добавить комментарий

Капча загружается...