Странная проблема с Ethernet – Ubuntu 24.04.1

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

Ниоткуда возникло это крайне раздражающее и странное поведение.

В основном, когда я запускаю ПК, почти всегда проводное соединение имеет вопросительный знак на значке Ethernet. Пока соединение находится в этом состоянии, я не могу получить доступ к интернету.

Единственное решение, которое я нашел, это вручную отключить и включить проводное соединение (либо из верхней панели, либо из настроек).

Я действительно не могу придумать причину для этого странного поведения, поэтому я поискал в интернете и попробовал несколько вещей:

  • Редактирование (или в моем случае создание) sudo nano /etc/network/interfaces и добавил:

auto eth0
iface eth0 inet dhcp

Это на самом деле ухудшило ситуацию, так как в какой-то момент проводное соединение было полностью удалено, и я больше не мог подключиться по Ethernet (пока не удалил этот файл).

  • Затем я попытался установить автоматическое подключение вручную (для Ethernet и loopback):

sudo nmcli connection lo reload
nmcli connection modify enp4s0 connection.autoconnect yes # Ethernet
nmcli connection modify lo connection.autoconnect yes # loopback

  • Я также попробовал переустановить драйверы Realtek:

sudo apt install rtl8812au-dkms
Ничего не изменилось.

  • Я удалил клиент NordVPN, чтобы исключить любые возможности, но ничего не изменилось

Поскольку я не знаю, что еще делать, я прошу о помощи. Я бы предпочел не делать чистую установку, если это возможно.

Я также рассмотрел бы возможность наличия команды, которая могла бы выполнить “выключить — включить”, чтобы сделать это автоматически в одном из моих скриптов, которые в данный момент даже не могут запуститься.

Система и общая информация:

  • ОС: Ubuntu 24.04.1 LTS x86_64

  • Ядро: 6.8.0-45-generic

  • Результат для: lspci | grep -i eth
    04:00.0 Контроллер Ethernet: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

  • Результат для: lsmod | grep r8169

r8169 118784 0

  • Кабель – CAT6 и работает безупречно

Настройки в Расширенной сетевой конфигурации по умолчанию:

Автоматическое подключение с приоритетом установлено на 0

Все пользователи могут подключаться к сети

Страница Ethernet также имеет настройки по умолчанию:

Имя устройства – enp4s0

MTU автоматический

  • Также, проходя через сетевые настройки, я убедился, что “Подключаться автоматически” было отмечено

  • Я попытался пинговать 1.1.1.1 после перезагрузки системы:

PING 1.1.1.1 (1.1.1.1) 56(84) байт данных.

— Статистика пинга 1.1.1.1 —

46 пакетов передано, 0 получено, 100% потеря пакетов, время 45001мс (я прервал это через некоторое время)

Не было проблем после выполнения переключения

PING 1.1.1.1 (1.1.1.1) 56(84) байт данных.

64 байта от 1.1.1.1: icmp_seq=1 ttl=57 время=12.1 мс

64 байта от 1.1.1.1: icmp_seq=2 ttl=57 время=12.6 мс

Ответ или решение

Проблема с Ethernet в Ubuntu 24.04.1, которую вы описали, может быть вызвана несколькими факторами. Давайте рассмотрим возможные шаги для устранения этой ошибки и повышения стабильности соединения.

1. Проверка драйвера Ethernet

Поскольку вы используете контроллер Realtek, убедитесь, что у вас установлены правильные драйвера. Для этого выполните следующие команды:

sudo apt update
sudo apt upgrade
sudo apt install r8168-dkms

Также убедитесь, что модуль r8169 не загружается, так как это может вызывать конфликты. Вы можете отключить его с помощью следующей команды:

echo "blacklist r8169" | sudo tee /etc/modprobe.d/r8169-blacklist.conf

После этого перезагрузите систему.

2. Настройка NetworkManager

Попробуйте изменить настройки подключения Ethernet с помощью nmcli. Убедитесь, что параметры заданы корректно:

nmcli con mod enp4s0 connection.autoconnect yes
nmcli con mod enp4s0 ipv4.method auto
nmcli con mod enp4s0 ipv4.dns "8.8.8.8, 1.1.1.1"
nmcli con up enp4s0

3. Восстановление настройки сети

Если вы добавляли файл /etc/network/interfaces, рекомендуется вернуть сетевые настройки в исходное состояние для управления сетью через NetworkManager. Убедитесь, что файл /etc/network/interfaces пуст или указывает только на loopback:

auto lo
iface lo inet loopback

4. Проверка состояния подключения

Для проверки состояния сети после загрузки используйте команды:

ip addr show enp4s0
nmcli dev status

Это поможет вам убедиться, что Ethernet-кабель подключен и система видит интерфейс.

5. Автоматизация отключения и включения подключения

Если проблема сохраняется, можно создать скрипт, который будет отключать и включать Ethernet-интерфейс. Создайте файл toggle_ethernet.sh:

#!/bin/bash
nmcli con down enp4s0
sleep 2
nmcli con up enp4s0

После этого сделайте его исполняемым:

chmod +x toggle_ethernet.sh

Вы можете добавить вызов этого скрипта в автозагрузку или запускать его по необходимости.

6. Логи системы

Если проблема все еще не решена, обратите внимание на журналы системы, которые могут помочь в диагностике проблемы. Используйте:

journalctl -u NetworkManager --since "2 hours ago"

или

dmesg | grep eno1   # замените enp4s0 на имя вашего интерфейса

Заключение

Если все вышеуказанные шаги не помогли, возможно, стоит рассмотреть установку более ранней версии драйвера или физическую проверку сетевых устройств. Также стоит проверить наличие обновлений для ядра, которые могут содержать исправления для вашей модели Ethernet.

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

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