Eu tenho uma caixa Linux com 9 placas de rede e quero que oito delas tenham endereços exclusivos na mesma sub-rede, por exemplo:
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
O comportamento padrão do ARP é extremamente contraproducente nesse caso, pois resulta em todo o tráfego de todos os IPs que passam exclusivamente eth1
, o que é exatamente o oposto do que eu quero.
Então eu vasculhei e acabei fazendo algumas alterações no sysctl como esta:
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
Isso impediu eth1
de se passar por todos os outros, mas ainda não consigo executar ping em nada que eth1
não seja o endereço do servidor com êxito. (por exemplo, de um segundo computador no mesmo switch, 192.168.123.1
responde apenas ao ping)
Acho que preciso fazer algo com arptables ou iproute ou ALGO, mas estou perdido no mar neste campo.
Pontos de bônus: A solução deve ser compatível com o Linux 2.6.27.27. (Mais especificamente, Slax 6.1.2)