Что касается настройки оборудования, между моим рабочим столом linux (ubuntu 14.04) и jetson tx1 (ubuntu 16.04) существует соединение на основе Ethernet. Raspberry Pi 3 подключается к плате Jetson через адаптер USB-3.0-Ethernet (AX11789).

После настройки оборудования настройка программного обеспечения завершена. Сначала файл /etc/network/interface на моем рабочем столе редактируется следующим образом:

auto eth0
iface eth0 iface static
address 192.168.1.42
netmask 255.255.255.0
gateway 192.168.1.26

Тогда в моем jetson,

auto eth0
iface eth0 inet static
address 192.168.1.26
netmask 255.255.255.0

Поскольку представляется правильным, чтобы jetson был настроен как шлюз (маршрутизатор), ip-адрес jetson следует использовать в качестве адреса шлюза как на рабочем столе, так и на плате pi. Итак, в пи-плате,

auto eth0
iface eth0 inet static
address 192.168.1.102
netmask 255.255.255.0
gateway 192.168.1.26

После этого запросы ping между рабочим столом и jetson, а также между jetson и pi работают отлично, но запрос ping между рабочим столом и pi-платой не работает, указав Ping from 192.168.1.102: Destination host unreachable .

Есть ли важная информация или шаг, который я пропускаю в этом случае? Возможно, это связано с конфигурацией адаптера Ethernet-usb, но я не уверен на 100% в этом.

1 ответ1

1

Важно понимать, что означает параметр "маска подсети": он определяет, какие адреса находятся в одном и том же сегменте Ethernet и, следовательно, достижимы без шлюза.

Например, если адрес вашего рабочего стола 192.168.1.42/255.255.255.0 , и вы запрашиваете его для достижения Rpi на 192.168.1.102 , он увидит, что оба адреса находятся в одной подсети, и по определению он не будет использовать ворота, чтобы добраться до него. (Вместо этого он немедленно попытается отправить запросы ARP для этого адреса.)

Маршрутизатор / шлюз обычно не работает таким образом. (Маршрутизатор находится между подсетями, и предполагается, что каждый порт маршрутизатора принадлежит другой подсети.) Поэтому, если вы хотите, чтобы два порта Ethernet принадлежали одной подсети, это противоположно тому, что вам нужно.


Чтобы получить ссылку, как вы описали, вам нужно настроить Jetson как мост. (Мост пересылается только на основе MAC-адреса назначения. Ethernet-коммутаторы - это просто мосты с аппаратным ускорением.)

Конфигурация для этого отличается: вы должны добавить виртуальный "мостовой" интерфейс br0 , а затем настроить оба порта Ethernet в качестве его членов:

iface br0 inet static
    address 192.168.1.26/24
    bridge_ports eth0 usb0

(Отдельные интерфейсы "порта" остаются безадресными.)


В качестве альтернативы, если вы хотите, чтобы Jetson действовал как маршрутизатор, то оба его интерфейса должны будут принадлежать разным подсетям (как G-Man, как описано в комментарии). Например:

iface eth0 inet static
    address 192.168.1.26/24

iface usb0 inet static
    address 192.168.2.26/24

Поскольку Raspberry Pi подключен к маршрутизатору usb0, он будет принадлежать сети 192.168.2.* И использовать соответствующий адрес шлюза.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .