I have a linux box with 9 NICs on it, and I want eight of them to have unique addresses on the same subnet, e.g.:
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
The default ARP behaviour is extremely counterproductive in this case, since it results in all traffic for all IPs passing exclusively through eth1
, which is pretty much the exact opposite of what I want.
So I rummaged around and ended up making some changes to sysctl such as this:
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
That did prevent eth1
from impersonating all the others, but I still can't ping anything other than eth1
's address successfully. (e.g. from a second computer on the same switch, only 192.168.123.1
responds to ping)
I'm guessing that I need to do something with arptables or iproute or SOMETHING, but I'm lost at sea in this field.
Bonus Points: Solution must be compatible with Linux 2.6.27.27. (More specifically, Slax 6.1.2)