Вопрос или проблема
Я устанавливаю JetPack 6.1 (Ubuntu 22.04 ARM64) на Jetson Orin AGX Developer Kit. Образ Linux был успешно записан, и он загружается нормально. Я настроил Ethernet-сеть вручную, чтобы установить фиксированный IP-адрес 192.168.0.42, DNS-адрес 205.171.3.25, такой же, как у других ПК на Ubuntu в моей локальной сети, которые могут без проблем выходить в Интернет. Jetson доступен в моей локальной сети, но он не может получить доступ к Интернету. Я пробовал несколько процедур, предложенных в различных источниках, но без успеха. Насколько я могу судить, Jetson настроен так же, как и другие ПК на Ubuntu в сети. Вот журнал с Jetson:
nick@ubuntu:~$ route -n
Таблица маршрутизации IP ядра
Назначение Шлюз Маска подсети Флаги Метрика Ссылка Использ. Интерфейс
0.0.0.0 198.162.0.1 0.0.0.0 UG 20100 0 0 eno1
0.0.0.0 192.168.55.100 0.0.0.0 UG 32766 0 0 l4tbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 l4tbr0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 l4tbr0
198.162.0.1 0.0.0.0 255.255.255.255 UH 20100 0 0 eno1
nick@ubuntu:~$ ifconfig
eno1: флаги=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.42 маска подсети 255.255.255.0 широковещательный адрес 192.168.0.255
ether 48:b0:2d:91:1b:f0 длина очереди передачи 1000 (Ethernet)
Прием пакетов 714 байт 37918 (37.9 КБ)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 1420 байт 64483 (64.4 КБ)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
l4tbr0: флаги=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.55.1 маска подсети 255.255.255.0 широковещательный адрес 192.168.55.255
inet6 fe80::3cc7:e7ff:fe79:f387 длина префикса 64 зона 0x20<link>
inet6 fe80::1 длина префикса 128 зона 0x20<link>
ether 3e:c7:e7:79:f3:87 длина очереди передачи 1000 (Ethernet)
Прием пакетов 1132 байт 181217 (181.2 КБ)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 334 байт 78939 (78.9 КБ)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
lo: флаги=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 маска подсети 255.0.0.0
inet6 ::1 длина префикса 128 зона 0x10<host>
loop длина очереди передачи 1000 (Local Loopback)
Прием пакетов 4484 байт 352621 (352.6 КБ)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 4484 байт 352621 (352.6 КБ)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
usb0: флаги=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::84d8:9eff:fe19:f2cd длина префикса 64 зона 0x20<link>
ether 86:d8:9e:19:f2:cd длина очереди передачи 1000 (Ethernet)
Прием пакетов 854 байт 127712 (127.7 КБ)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 650 байт 169852 (169.8 КБ)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
usb1: флаги=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::84d8:9eff:fe19:f2cf длина префикса 64 зона 0x20<link>
ether 86:d8:9e:19:f2:cf длина очереди передачи 1000 (Ethernet)
Прием пакетов 290 байт 55015 (55.0 КБ)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 627 байт 113012 (113.0 КБ)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
wlP1p1s0: флаги=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 90:e8:68:bc:6a:b7 длина очереди передачи 1000 (Ethernet)
Прием пакетов 0 байт 0 (0.0 B)
Ошибки приема 0 потеряно 0 переполнений 0 кадров 0
Передано пакетов 0 байт 0 (0.0 B)
Ошибки передачи 0 потеряно 0 переполнений 0 носителей 0 коллизий 0
nick@ubuntu:~$ resolvectl dns
Глобальные:
Ссылка 2 (can0):
Ссылка 3 (can1):
Ссылка 4 (wlP1p1s0):
Ссылка 5 (eno1): 205.171.3.25
Ссылка 6 (l4tbr0):
Ссылка 7 (usb0):
Ссылка 8 (usb1):
nick@ubuntu:~$ ping yahoo
ping: yahoo: Временная ошибка разрешения имени
Единственное различие, которое я вижу, это символьная ссылка в /etc/resolve.conf
. У Jetson только одна непомеченная строка:
nameserver 127.0.0.53
На ПК три:
nameserver 127.0.0.53
options edns0 trust-ad
search .
Кроме того, эти DNS-серверы отличаются от моей ручной настройки и от значений, показанных в выводе resolvectl dns
на всех системах.
Перезагрузка не помогает, но эта последовательность работает:
sudo dhclient -r
sudo dhclient
В чем проблема?
Ответ или решение
Временная ошибка разрешения имен в Ubuntu 22.04 на Nvidia Jetson
Обзор проблемы
Вы столкнулись с проблемой временной ошибки разрешения имен на Nvidia Jetson с установленной JetPack 6.1 (Ubuntu 22.04 ARM64). Несмотря на успешное начало работы и конфигурацию сетевого интерфейса, у вашего устройства отсутствует доступ к Интернету. Установленные параметры сетевого подключения, такие как фиксированный IP-адрес (192.168.0.42) и DNS-сервер (205.171.3.25), аналогичны тем, которые используются другими устройствами в вашей локальной сети. Однако, несмотря на корректную видимость в сети (Jetson доступен), доступ к доменным именам не работает.
Анализ конфигурации сети
По предоставленным логам можно проанализировать состояние сетевой конфигурации:
-
Таблица маршрутов (
route -n
):- В таблице маршрутов наблюдается несколько маршрутов, ваш основной маршрутизатор в сети (должен быть) находится по адресу
198.162.0.1
, однако он выглядит как198.162.0.1
, что может быть опечаткой—необходимо убедиться, что он не должен быть192.168.0.1
. - Это может вызывать проблемы с выходом в Интернет.
- В таблице маршрутов наблюдается несколько маршрутов, ваш основной маршрутизатор в сети (должен быть) находится по адресу
-
Сетевые интерфейсы (
ifconfig
):- Вы используете
eno1
с IP-адресом192.168.0.42
, что является правильной конфигурацией, если ваш маршрутизатор находится в той же подсети (192.168.0.0/24). - Обратите внимание на
l4tbr0
, это может представлять собой виртуальный интерфейс, используемый Jetson для других целей.
- Вы используете
-
Настройки DNS (
resolvectl dns
):- Вы указали только один DNS-сервер
205.171.3.25
, который правильно показывается. Тем не менее, это не совпадает с настройками на других устройствах в вашей сети, которые имеют дополнительные директивы. - Проблемы с разрешением имен могут быть связаны с тем, что ваш Jetson использует локальный DNS-кеш (127.0.0.53), который, возможно, не был правильно инициализирован или сконфигурирован.
- Вы указали только один DNS-сервер
Рекомендации по решению проблемы
-
Проверка настроек маршрутизатора:
- Удостоверьтесь, что ваш маршрутизатор (возможно,
192.168.0.1
) правильно настроен и что к нему можно получить доступ из вашей сети. Это можно сделать, выполнивping 192.168.0.1
.
- Удостоверьтесь, что ваш маршрутизатор (возможно,
-
Изменение конфигурации резолвера:
- Рекомендуется явно указать в
/etc/resolv.conf
ваш DNS-сервер:nameserver 205.171.3.25
- После этого перезапустите службу, управляющую DNS. Это можно сделать с помощью команды:
sudo systemctl restart systemd-resolved
- Рекомендуется явно указать в
-
Использование
dhclient
для обновления DHCP:- Как вы уже заметили, использование команд
sudo dhclient -r
иsudo dhclient
временно решает проблему. Это вызывает обновление всех сетевых интерфейсов и может восстановить правильный настрой DNS. Таким образом, добавьте эти команды в скрипт, который будет выполняться при загрузке системы.
- Как вы уже заметили, использование команд
-
Перепроверьте конфигурацию системы:
- Проверьте, установлен ли и работает ли
systemd-resolved
, используя команды:systemctl status systemd-resolved
- Убедитесь, что конфигурация разрешения работает корректно, запустив:
resolvectl status
- Проверьте, установлен ли и работает ли
Заключение
Проанализировав предложенную информацию, можно сказать, что проблема может быть связана с неправильной конфигурацией DNS и маршрутизации. Следует внимательно проверить настройки локальной сети и DNS-серверов, а также убедиться, что systemd-resolved
работает корректно. Испытание и внедрение описанных шагов должно помочь восстановить DNS-разрешение и обеспечить доступ к Интернету.