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

3 ответа

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

Проверьте первый ответ.

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

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.

Другие вопросы по тегам