Интернет на USB-адаптере Ethernet в многопортном Linux ПК

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

Версия Linux: Ubuntu 22.04 сервер минимальный

У этого устройства 3 сетевых интерфейса (NIC), и все три интерфейса будут сконфигурированы с статическими адресами, настроив файл /etc/netplan/00-installer-config.yaml следующим образом.

network:
  ethernets:
    eno1:
      dhcp4: false
      addresses: [172.16.0.23/16]
      gateway4: 172.16.1.1
    eno2:
      dhcp4: true
    eno3:
      dhcp4: true
    enx00e04c682cb3:
      dhcp4: true
  version: 2

Ethernet enx00e04c682cb3 — это USB-адаптер Ethernet, купленный на amazon здесь.

Без настройки netplan я могу устанавливать пакеты.

Вот вывод команды ip route:

ngapadmin@asrsimplex:/etc/netplan$ ip route
default via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.226.36 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.226.37 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.233.0/25 dev enx00e04c682cb3 proto kernel scope link src 10.228.233.77 metric 100
10.228.233.1 dev enx00e04c682cb3 proto dhcp scope link src 10.228.233.77 metric 100
10.229.208.36 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100

После настройки netplan я не могу устанавливать пакеты.

Вывод команды ip route:

ngapadmin@asrsimplex:/etc/netplan$ ip route
default via 172.16.1.1 dev eno1 proto static
default via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.226.36 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.226.37 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
10.228.233.0/25 dev enx00e04c682cb3 proto kernel scope link src 10.228.233.77 metric 100
10.228.233.1 dev enx00e04c682cb3 proto dhcp scope link src 10.228.233.77 metric 100
10.229.208.36 via 10.228.233.1 dev enx00e04c682cb3 proto dhcp src 10.228.233.77 metric 100
172.16.0.0/16 dev eno1 proto kernel scope link src 172.16.0.23

Ниже приведена ошибка:

ngapadmin@asrsimplex:/etc/netplan$ sudo apt install chrony
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Рекомендуемые пакеты:
  dnsutils
Следующие пакеты будут УДАЛЕНЫ:
  systemd-timesyncd
Следующие НОВЫЕ пакеты будут установлены:
  chrony
0 обновлено, 1 установлено, 1 удалено и 147 не обновлено.
Необходимо загрузить 290 кБ архивов.
После этой операции будет использовано 361 кБ дополнительного дискового пространства.
Вы хотите продолжить? [Y/n] y
Err:1 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 chrony amd64 4.2-2ubuntu2
  Невозможно инициировать соединение с ubuntu-mirror-1.ps6.canonical.com:80 (2620:2d:4002:1::101). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-1.ps6.canonical.com:80 (91.189.91.81). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-3.ps6.canonical.com:80 (2620:2d:4002:1::103). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-3.ps6.canonical.com:80 (91.189.91.83). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-1.ps5.canonical.com:80 (2620:2d:4000:1::101). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-1.ps5.canonical.com:80 (185.125.190.81). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-2.ps5.canonical.com:80 (2620:2d:4000:1::102). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-2.ps5.canonical.com:80 (185.125.190.82). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-3.ps5.canonical.com:80 (2620:2d:4000:1::103). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-3.ps5.canonical.com:80 (185.125.190.83). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с us.archive.ubuntu.com:80 (2620:2d:4002:1::103). - connect (101: сеть недоступна) Невозможно инициировать соединение с us.archive.ubuntu.com:80 (2620:2d:4002:1::101). - connect (101: сеть недоступна)
E: Не удалось получить http://us.archive.ubuntu.com/ubuntu/pool/main/c/chrony/chrony_4.2-2ubuntu2_amd64.deb  Невозможно инициировать соединение с ubuntu-mirror-1.ps6.canonical.com:80 (2620:2d:4002:1::101). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-1.ps6.canonical.com:80 (91.189.91.81). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-3.ps6.canonical.com:80 (2620:2d:4002:1::103). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-3.ps6.canonical.com:80 (91.189.91.83). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-1.ps5.canonical.com:80 (2620:2d:4000:1::101). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-1.ps5.canonical.com:80 (185.125.190.81). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-2.ps5.canonical.com:80 (2620:2d:4000:1::102). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-2.ps5.canonical.com:80 (185.125.190.82). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с ubuntu-mirror-3.ps5.canonical.com:80 (2620:2d:4000:1::103). - connect (101: сеть недоступна) Не удалось подключиться к ubuntu-mirror-3.ps5.canonical.com:80 (185.125.190.83). - connect (113: нет маршрута к хосту) Невозможно инициировать соединение с us.archive.ubuntu.com:80 (2620:2d:4002:1::103). - connect (101: сеть недоступна) Невозможно инициировать соединение с us.archive.ubuntu.com:80 (2620:2d:4002:1::101). - connect (101: сеть недоступна)
E: Невозможно получить некоторые архивы, возможно, выполните apt-get update или попробуйте с --fix-missing?

Как я должен настроить USB-адаптер Ethernet для установки пакетов только и оставить весь остальной сетевой трафик от встроенных NIC.

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

Вы, похоже, забыли настроить основной интернет-протокол, IPv6, и маршруты для этого. Я подозреваю, что один из ваших интерфейсов, настроенных на DHCP, предоставляет глобальный маршрут IPv6, и теперь ваш сервер пытается выйти в интернет (v6) через этот интерфейс, который фактически не подключен к интернету.

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

Для успешной настройки USB-Ethernet адаптера на сервере с Ubuntu 22.04, который должен использоваться для установки пакетов, а остальные сетевые интерфейсы должны обрабатывать другой трафик, необходимо гибко настроить маршрутизацию и метрики для сетевых интерфейсов.

1. Проблема с маршрутизацией

Судя по выводам команды ip route, после настройки Netplan сервер пытается получить доступ к интернет-ресурсам через сетевой интерфейс eno1, который имеет статический IP-адрес. Однако в вашем случае основной интернет-доступ, очевидно, происходит через интерфейс enx00e04c682cb3, который настроен на получение IP через DHCP.

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

Ваш текущий конфигурационный файл для Netplan (/etc/netplan/00-installer-config.yaml) нужно будет изменить следующим образом, чтобы правильно обрабатывать маршрутизацию:

network:
  ethernets:
    eno1:
      dhcp4: false
      addresses: [172.16.0.23/16]
      gateway4: 172.16.1.1
      routes:
        - to: 0.0.0.0/0
          via: 172.16.1.1
          metric: 200  # Это будет более низкий приоритет
    eno2:
      dhcp4: true
    eno3:
      dhcp4: true
    enx00e04c682cb3:
      dhcp4: true
      routes:
        - to: 0.0.0.0/0
          via: 10.228.233.1
          metric: 100  # Основной выход в интернет
  version: 2

3. Установка метрик

Чтобы управлять приоритетом маршрутов, вы применяете метрики. Чем ниже значение метрики, тем выше приоритет. В вашем случае стоит задать метрику 100 для интерфейса enx00e04c682cb3, который получает интернет через DHCP и 200 для eno1. Но это зависит от того, какой интерфейс должен быть основным для выходного интернет-трафика.

4. Проверка IPv6

Вы также указали, что у вас могут быть проблемы с IPv6. Если ваши интерфейсы настроены через DHCP и предоставляют глобальные IPv6 адреса, их маршруты могут конфликтавать с настроенной конфигурацией IPv4. Убедитесь, что у вас нет конфигураций, которые перенаправляют весь трафик на недоступный интерфейс.

5. Применение настроек

После внесения изменений в файл конфигурации Netplan, вам нужно применить их:

sudo netplan apply

6. Проверка маршрутов

После применения настроек проверьте маршруты снова:

ip route

Убедитесь, что правило по умолчанию указывает на интерфейс enx00e04c682cb3 для интернет-трафика.

7. Установка пакетов

Теперь попробуйте снова установить пакеты:

sudo apt update
sudo apt install chrony

Заключение

После вышеуказанных изменений ваш адаптер USB-Ethernet должен быть правильно настроен для установки пакетов, сохраняя другие сетевые интерфейсы для другого трафика. Это позволит оптимизировать использование сетевых ресурсов и сделать сервер более управляемым. Если же возникают дополнительные сложности с маршрутизацией, стоит проверить конфигурации, приходящие через DHCP на enx00e04c682cb3, и убедиться в правильности их обработки вашей системой.

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

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