Нет подключения к интернету по Ethernet и RNDIS одновременно.

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

У меня есть Raspberry Pi4 с установленной Ubuntu 20.04.6 LTS. Для связи с несколькими различными системами мне пришлось отключить сетевой менеджер и настроить сеть самостоятельно. Для этого я создал два соединения RNDIS, названных usb0 и usb1. usb0 подключен к SIM-модему, который обеспечивает мобильное интернет-соединение, а usb1 подключен к другому ПК.

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

(Сокращенный) вывод ifconfig:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.129  netmask 255.255.255.0  broadcast 192.168.1.255

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>

usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.225.58  netmask 255.255.255.0  broadcast 192.168.225.255

usb1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.90.2  netmask 255.255.0.0  broadcast 192.168.255.255

И вывод route -n:

Таблица маршрутизации IP ядра
Назначение      Шлюз           Генмаска         Флаги Метрика Ссылка  Использование Интерфейс
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 usb1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.225.0   0.0.0.0         255.255.255.0   U     0      0        0 usb0

Я заметил, что маршрут по умолчанию указывает на eth0, поэтому я изменил его с помощью

sudo ip route change default via 192.168.225.1 dev usb0

После этого мне выдали следующий route:

Таблица маршрутизации IP ядра
Назначение      Шлюз           Генмаска         Флаги Метрика Ссылка  Использование Интерфейс
default         192.168.225.1   0.0.0.0         UG    0      0        0 usb0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 usb1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.225.0   0.0.0.0         255.255.255.0   U     0      0        0 usb0

Но если я пытаюсь пропинговать веб-сайт или открыть его в браузере, я не получаю ответа. Даже если я добавляю -I usb0 в команду ping. В тот момент, когда я отключаю соединение eth0, интернет работает нормально. Что я могу сделать, чтобы это предотвратить?

Кроме того, если я позволяю интерфейсу eth0 автоматически настраиваться при загрузке в файле /etc/network/interfaces.d и не подключаю Ethernet-кабель, загрузка занимает около 5 минут вместо менее одной минуты, потому что, как я предполагаю, eth0 ищет адрес, которого он не получает.

Я надеюсь, что кто-то сможет помочь мне с этим.

Удаление строки шлюза для usb0 в файле sudo nano /etc/network/interfaces.d/usb0 решило проблему для меня. Теперь он выглядит так:

auto usb0
allow-hotplug usb0
iface usb0 inet static
    address 192.168.2.2
    netmask 255.255.255.0

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

Решение проблемы с подключением к интернету на Raspberry Pi 4 с использованием RNDIS и Ethernet

Введение

На вашем Raspberry Pi 4 под управлением Ubuntu 20.04.6 LTS возникла проблема с подключением к интернету при использовании одновременных интерфейсов Ethernet (eth0) и RNDIS (usb0). Ваша конфигурация включает в себя использование usb0 для подключения к модему с мобильным интернетом и usb1 для соединения с другим ПК. Давайте разберем проблему и найдем оптимальное решение.

Анализ проблемы

Согласно вашему описанию, когда вы активируете интерфейс eth0, интернет-соединение через usb0 перестает работать. На основе выводов команд ifconfig и route -n, можно выделить следующие ключевые моменты:

  1. Маршрут по умолчанию: При активном eth0, маршрут по умолчанию был установлен на eth0. Это значит, что все выходящие соединения, включая те, которые должны проходить через usb0, направляются через eth0. Это и вызывает проблему с интернетом через usb0.

  2. Конфликт настроек сети: Когда оба интерфейса активны, но маршрут по умолчанию указывает на eth0, это приводит к конфликту, так как системы маршрутизации не могут решать, какой интерфейс использовать для выхода в интернет.

Решение проблемы

1. Настройка маршрута по умолчанию

Вы правильно изменили маршрут по умолчанию на usb0 с помощью команды:

sudo ip route change default via 192.168.225.1 dev usb0

Однако, вам необходимо удостовериться, что eth0 не устанавливает свой маршрут по умолчанию. Это можно сделать, исключив строку, которая устанавливает шлюз для eth0, из конфигурационного файла.

2. Изменение конфигурации интерфейсов

Решение, которое вы указали, заработало, так как вы удалили строку с указанием шлюза в конфигурационном файле usb0. Это останавливает систему от создания конфликта маршрутов. Возможно, ваша конфигурация теперь выглядит так:

auto usb0
allow-hotplug usb0
iface usb0 inet static
    address 192.168.225.58
    netmask 255.255.255.0

Таким образом, после этих изменений маршруты в route -n корректно определяются, и вы можете использовать usb0 для доступа к интернету без конфликта с eth0.

3. Решение проблемы с долгой загрузкой

Проблема долгой загрузки при отсутствии подключения к ethernet возникает из-за ожидания получения IP-адреса для eth0. Для решения этой проблемы вы можете установить параметр iface eth0 inet manual в вашем конфигурационном файле /etc/network/interfaces.d/eth0:

auto eth0
iface eth0 inet manual

Этот подход предотвратит автоматическое получение IP-адреса во время загрузки, что значительно ускорит процесс.

Заключение

Теперь, когда проблема с интернет-соединением через usb0 при наличии активного eth0 решена, убедитесь, что ваша конфигурация сети позволяет эффективно управлять маршрутами. Правильное определение маршрутов и настройки интерфейсов являются ключом к стабильной работе системы. Такой подход обеспечит стабильный доступ к интернету и облегчит управление подключениями.

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

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

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