Ho un box Linux con 9 schede di rete su di esso e voglio che otto di loro abbiano indirizzi univoci sulla stessa sottorete, ad esempio:
ifconfig eth1 192.168.123.1 netmask 255.255.0.0
ifconfig eth2 192.168.123.2 netmask 255.255.0.0
ifconfig eth3 192.168.123.3 netmask 255.255.0.0
...
ifconfig eth8 192.168.123.8 netmask 255.255.0.0
Il comportamento predefinito di ARP è estremamente controproducente in questo caso, poiché provoca tutto il traffico per tutti gli IP che passano esclusivamente attraverso eth1, il che è praticamente l'esatto contrario di quello che voglio.
Quindi ho rovistato e ho finito per apportare alcune modifiche a sysctl come questo:
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
Ciò ha impedito eth1di impersonare tutti gli altri, ma non riesco ancora a eseguire il ping di qualsiasi cosa diversa eth1dall'indirizzo con successo. (ad es. da un secondo computer sullo stesso switch, 192.168.123.1risponde solo al ping)
Immagino di dover fare qualcosa con arptables o iproute o QUALCOSA, ma mi sono perso in mare in questo campo.
Punti bonus: la soluzione deve essere compatibile con Linux 2.6.27.27. (Più specificamente, Slax 6.1.2)