[SOLVED] elfelejtunk arp-ul beszelgetni?

Sziasztok,

van egy erdekes, altalaban terhelesre elojovo problema:
3 uplink ugyanarra a switchre kotve (szolgaltato uzemelteti) 3 ip cimmel egyszercsak elkezd rendellenesen mukodni:

onmagarol arping:


arping 		
ARPING xxx.xxx.xxx.xxx
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=0 time=488.061 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=1 time=389.646 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=2 time=586.722 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=3 time=442.281 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=4 time=621.625 msec

management szerverrol


ARPING xxx.xxx.xxx.xxx
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=0 time=170.919 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=1 time=291.391 msec
Timeout
60 bytes from 00:14:4f:a6:c6:f2 (xxx.xxx.xxx.xxx): index=2 time=130.669 msec
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
Timeout
^C
--- xxx.xxx.xxx.xxx statistics ---
23 packets transmitted, 3 packets received,  87% unanswered (0 extra)
rtt min/avg/max/std-dev = 130.669/197.660/291.391/68.284 ms

arp cache -ben benne van mindket helyen, a torles termeszetesen nem segit.
az adott ip csak egy mac -hez tartozik.
source based ip routing van, ami erdekesse teheti a dolgot.

ifdown, stb nem segit.

ip link set dev $dev arp off meg egyszeruen nem er semmit, gondolom, switch cache miatt

Talaloztatok mar hasonloval?

Hozzászólások

update: nem oldja meg a mac address csere es a reboot sem.

Ugyanabbe (hasonlóba) futtottam bele és hossza levelezés következett a segítőkész szolgáltatóval.

A megoldás az ARP filtering lehet. Sajnos a linux minden interface-n minden ip-re válaszol ha két kártya ugyanarra hálózatra vannak cstlakoztatva. Furán hangzik, de így van.

A jelenség hasonló volt a tiedhez. tcpdumppal kiderült,hogy egy sima ping egyik interfacen ment ki és egy másikon jött meg a válasz.

http://www.linuxinsight.com/proc_sys_net_ipv4_conf_eth0_arp_filter.html
Nekem ez segített.

Szerintem arp_filter=1 + arp_ignore=1 együtt csak úgy működik, ha rendes source IP alapú policy routingot konfigurálsz. Legalábbis a leírásából én ezt szűrtem le (az egyik korlátozza a válaszokat arra az interfészre, amelyiken a kifelé routolt csomagok mennének ki/vissza a kérdező felé a megcímzett lokális IP címről, a másik pedig arra, amin a megcímzett lokális cím lakik - ha ez a kettő nem pont ugyanaz az interfész, akkor nem lesz ARP válasz, viszont ezt csak policy routinggal tudod megoldani).

Hosszas vizsgalodas utan azt hiszem, rajottem, mi a problema:
A routing aszerint mukodik, ahogy irtad, egy kivetellel:
a problemas IF -en onmaga van megadva gatewaykent (nem is ertem, hogy mukodhetett eddig?). Halmozati büntetésül ugyanezt a scriptet disztributaltam is.

Addicionalisan: ugyesen nyomtam egy

ip rule del

-t, igy ki kellett probalnom a BMC -t is.

Koszonom hogy ezt leirtad, igy legalabb atneztem a ruleokat :)