Назад | Перейти на главную страницу

Linux (Ubuntu 12.04) отправка запросов ARP через единый интерфейс

У меня есть система с нестандартным оборудованием, к которой подключено до 2 разных портов Ethernet в одной системе. Интерфейсы настроены в одной подсети, поскольку оборудование (на базе FPGA) имеет жестко заданный IP-адрес, связанный с конфигурацией оборудования. Я не хочу, чтобы конфигурация зависела от того, к какому порту подключено устройство.

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

На первый взгляд это похоже на обратную проблему. видел здесь. Решения там, похоже, не работают.

Есть ли предложения сделать так, чтобы Linux отправлял запросы ARP в определенной подсети через все интерфейсы в той же подсети?

Краткое описание установки:

eth2 - IP: 192.168.1.102, подсеть: 255.255.255.0, шлюз: 192.168.1.0

eth3 - IP: 192.168.1.103, подсеть: 255.255.255.0, шлюз: 192.168.1.0

IP-адреса устройства:

192.168.1.2, 192.168.1.3

Я считаю, что один из моих предыдущих вопросов может помочь: ARP отвечает одним MAC-адресом на сервере Linux с несколькими интерфейсами в одной сети

Ознакомьтесь с первым ответом.

В такой странной конфигурации я бы просто вручную настроил таблицы arp и маршрутизации.

ip neigh add to 192.168.1.2 dev eth2 lladdrr DEVICEMAC1 permanent
ip neigh add to 192.168.1.3 dev eth3 lladdrr DEVICEMAC2 permanent
ip route add to 192.168.1.2/32 dev eth2
ip route add to 192.168.1.3/32 dev eth3

замена правильных MAC-адресов для DEVICEMAC 1 и 2.

Если я правильно понимаю вашу настройку - хотя я не уверен, что понимаю, я считаю, что решение состоит в том, чтобы соединить мосты eth2 и eth3 (чтобы он работал как переключатель), а затем создать br0 для 192.168.1.102 и создать виртуальный интерфейс br0: 1 для 192.168.1.103

Точные особенности установки моста могут быть найдено здесь.

Я действительно отмечаю, что это означает, что устройство с жестко закодированным IP-адресом сможет видеть все другие устройства (то есть, как если бы оно было подключено к общему коммутатору - и я не уверен, что это проблема. не сделал этого, но если это проблема, вы можете отключить ее с помощью брандмауэра ebtables.