Рейтинг:0

Не удается пропинговать машину PetaLinux, если обе сетевые карты находятся в одной подсети и отключают eth0

флаг es

У меня есть машина PetaLinux (встроенный Linux на устройстве Xilinx Zynq, вилка Debian, ядро ​​4.19). Если обе сетевые карты включены разные подсети, то я могу отключить одну сетевую карту, а другая продолжит работу. Но если они на тем же подсети, то отключение eth0 сделает оба недостижимыми. (Отключение eth1 допустимо.) Кроме того, если адреса получены с помощью DHCP, отсоединение штекера для eth0 также допустимо.

Теперь я понимаю, что по умолчанию Linux имеет слабую политику выбора сетевой карты для ответа на любое сообщение, и я имел дело с этим несколько лет назад, в другая статья.

К сожалению, это решение, похоже, не работает в той версии Linux, которая у нас есть. Есть ли что-то новое, связанное с более свежими ядрами?

Заранее спасибо.

Обновлять

"ip route", когда оба кабеля подключены:

по умолчанию через 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 ссылка на область действия ядра proto src 192.168.1.195
192.168.1.0/24 dev eth1 ссылка на область действия ядра proto src 192.168.1.196

«ip route», когда eth0 отключен (случай отказа):

по умолчанию через 192.168.1.1 dev eth0 linkdown
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.195 linkdown
192.168.1.0/24 dev eth1 ссылка на область действия ядра proto src 192.168.1.196

«ip route», когда eth1 отключен (работает нормально):

по умолчанию через 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 ссылка на область действия ядра proto src 192.168.1.195
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.196 linkdown

Повторим еще раз: мы не можем пропинговать 192.168.1.196, когда сетевая карта для 192.168.1.195 отключена.

флаг cn
Как выглядит выходной «ip route» до и после отключения кабеля eth0? (при условии, что нас сейчас интересует только IPv4)
флаг es
@hardillb Спасибо. Я пошел дальше и добавил эту информацию к вопросу.
A.B avatar
флаг cl
A.B
Я уверен, что существует более одного метода «исправить» это (маршрутизация с помощью политик, связывание ...), но зная, почему вы добровольно размещаете две ссылки, используя одну и ту же IP-локальную сеть в одной и той же локальной сети Ethernet (также известной как широковещательный домен), несмотря на то, что знаете будет беда поможет. Это для избыточности, для пропускной способности, для чего-то еще? Существуют ли разные службы на двух IP-адресах. Когда вы связываете ссылки, могут ли ваши UDP-приложения правильно использовать IP_PKTINFO или привязываться к нескольким различным адресам вместо 0.0.0.0 (что является другим методом решения проблемы с IP-адресом источника ответа для UDP)? и т.д.
флаг es
@AB Спасибо за ответ. Мы сами поместили оба сетевых адаптера в одну подсеть только для тестирования. Почему наши клиенты хотят это сделать, мы толком не знаем, но они настаивают на этом.Мы работаем над добавлением функции, позволяющей переключаться в режим связывания, но, зная модели поведения, они будут настаивать на том, чтобы и связывание, и отсутствие связывания работали. Мы не знали, что будут неприятности, и это не похоже на ту грань дела, что его можно так легко сломать. Все сервисы доступны с обоих сетевых адаптеров, и они не служат для увеличения пропускной способности.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.