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

Проблема с несколькими сетевыми интерфейсами arp

Я устраняю проблему с Centos 6.4. У меня есть несколько систем, настраиваемых для greenplum. Каждый из них имеет два интерфейса «межсоединения», подключенных к изолированной подсети. Это похоже на межсоединение кластера. Таким образом, у каждого есть eth2 и eth3 в сети 10.1.1.0/24. У каждого интерфейса есть свой IP-адрес.

когда я пингую два IP-адреса host2 от host1, трафик всегда приходит с eth2 с тем же MAC-адресом. Это видно из таблицы ARP и tcpdump. Похоже, что таблица arp на host1 имеет оба IP на Mac-адресе eth2 на host2

Я читал кое-что об ARP FLux. Я пробовал все следующие варианты, но ничего не помогло. Любое предложение?

echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth3/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth3/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/eth3/arp_announce
sysctl -w net.ipv4.conf.all.arp_ignore=1

1 - отвечать, только если целевой IP-адрес является локальным адресом, настроенным на входящем интерфейсе

sysctl -w net.ipv4.conf.all.arp_announce=2

2 - Всегда используйте лучший локальный адрес для этой цели. В этом режиме мы игнорируем адрес источника в IP-пакете и пытаемся выбрать локальный адрес, который мы предпочитаем для разговоров с целевым хостом. Такой локальный адрес выбирается путем поиска основных IP-адресов во всех наших подсетях на исходящем интерфейсе, которые включают целевой IP-адрес. Если подходящий локальный адрес не найден, мы выбираем первый локальный адрес, который у нас есть на исходящем интерфейсе или на всех других интерфейсах, с надеждой, что мы получим ответ на наш запрос и даже иногда независимо от объявленного нами исходного IP-адреса.

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html#2_6_arp_announce

Host2 пытается помочь вам маршрутизацией? Вы пробовали:

echo 0 > /proc/sys/net/ipv4/ip_forward

на host2?