Вопрос или проблема
Моя семья и я недавно подключили новый интернет, и все устройства работают идеально, кроме моего сервера Ubuntu, и я не могу понять, почему. Я могу успешно пинговать адрес роутера (192.168.1.254), но не могу пинговать google.com или 8.8.8.8. У меня это кратковременно заработало, когда я поиграл с таблицей маршрутизации IP, но после перезагрузки перестало работать.
route -n выводит:
Таблица маршрутизации IP ядра
Направление Шлюз Маска сети Флаги Метрика Ссылка Использование Интерфейс
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp2s0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 enp2s0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0
192.168.1.254 0.0.0.0 255.255.255.255 UH 100 0 0 enp2s0
systemd-resolve –status выводит:
systemd-resolve --status
Глобальный
Установка LLMNR: нет
Установка MulticastDNS: нет
Установка DNSOverTLS: нет
Установка DNSSEC: нет
Поддержка DNSSEC: нет
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Ссылка 3 (tun0)
Текущие области: нет
Установка DefaultRoute: нет
Установка LLMNR: да
Установка MulticastDNS: нет
Установка DNSOverTLS: нет
Установка DNSSEC: нет
Поддержка DNSSEC: нет
Ссылка 2 (enp2s0)
Текущие области: DNS
Установка DefaultRoute: да
Установка LLMNR: да
Установка MulticastDNS: нет
Установка DNSOverTLS: нет
Установка DNSSEC: нет
Поддержка DNSSEC: нет
Текущий DNS сервер: 192.168.1.254
DNS серверы: 192.168.1.70
8.8.8.8
192.168.1.254
DNS домен: attlocal.net
Я в замешательстве, любые советы будут приветствоваться. Спасибо заранее.
У вас на сервере одновременно два шлюза по умолчанию. Смотрите эти строки:
Направление Шлюз Маска сети Флаги Метрика Ссылка Использование Интерфейс
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp2s0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 enp2s0
Первая строка имеет приоритет, потому что в столбце Метрика у нее меньше значение.
Наличие двух шлюзов по умолчанию одновременно является необычным, и в подавляющем большинстве случаев это ошибка настройки сетевого интерфейса на сервере.
Настройте параметры так, чтобы первый шлюз по умолчанию исчез. Вероятно, это остатки от вашего предыдущего интернет-соединения, которое больше не работает.
У меня такая же проблема на Ubuntu Server 24.04 LTS
Я сменил интернет с Rogers на Bell.
Все мои другие устройства работают, и я могу пинговать устройства, подключенные к Wi-Fi, с сервера, но сервер не может подключиться к интернету.
Ответ или решение
Когда вы сталкиваетесь с проблемой подключения вашего сервера на Ubuntu 20.04.5 к интернету, несмотря на то, что он может пинговать маршрутизатор, необходимо рассмотреть несколько возможных причин и решений. Ваша ситуация, где сервер успешно пингует адрес маршрутизатора (192.168.1.254), но не может достучаться до внешних адресов, таких как google.com или 8.8.8.8, подразумевает наличие ошибок в настройках маршрутизации или DNS.
1. Анализ маршрутизации
Из вывода команды route -n
можно выяснить, что у вас два маршрута по умолчанию:
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp2s0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 enp2s0
Это нестандартная ситуация, так как присутствие двух маршрутов по умолчанию может вызывать конфликты. Первый маршрут (с меньшим метриком) будет иметь приоритет, что может мешать успешному подключению к интернету. В данном случае, 192.168.1.1
может быть неактивным или неверным шлюзом.
Решение:
Удалите ненужный маршрут. Вы можете сделать это с помощью команды:
sudo route del default gw 192.168.1.1 enp2s0
После этого вам следует проверить обновлённое состояние маршрутизации с помощью команды route -n
.
2. Проверка DNS
С вашего вывода systemd-resolve --status
видно, что ваш сервер использует 192.168.1.254 в качестве DNS-сервера, а также 8.8.8.8 (DNS от Google). Однако, если ваш маршрутизатор не правильно настроен для работы с DNS-запросами, это значительно затрудняет доступ к интернету.
Решение:
Попробуйте добавить DNS-сервер вручную в файл конфигурации сети. Для этого откройте файл /etc/netplan/01-netcfg.yaml
(или аналогичный) и добавьте следующее:
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Затем примените изменения:
sudo netplan apply
3. Проверка интерфейса
Также необходимо убедиться, что ваш сетевой интерфейс (enp2s0) правильно сконфигурирован. Выведите информацию о сети с помощью ip addr
и убедитесь, что у интерфейса есть корректный IP-адрес и что он активен (состояние UP).
4. Обновление конфигурации системы
Убедитесь, что ваши изменения сохраняются после перезагрузки системы. Иногда конфигурации управления системой могут перезаписать ваши изменения. Может потребоваться дополнительно отредактировать настройки в NetworkManager или других инструментах управления сетью.
Заключение
Следуя приведённым выше шагам, вы сможете устранить проблемы с интернет-соединением на вашем сервере Ubuntu 20.04.5. Если проблема сохраняется даже после выполнения всех рекомендаций, возможно, стоит проверить настройки самого маршрутизатора или обратиться к провайдеру интернета для исключения проблем со стороны подключения.