У меня есть linux box с 9 сетевыми картами, и я хочу, чтобы восемь из них имели уникальные адреса в одной подсети, например:
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
Поведение ARP по умолчанию в этом случае крайне контрпродуктивно, поскольку приводит к тому, что весь трафик для всех IP-адресов проходит исключительно через него eth1
, что в значительной степени является полной противоположностью того, что я хочу.
Так что я покопался и в итоге сделал некоторые изменения в sysctl, такие как эта:
net.ipv4.conf.all.arp_filter=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
Это мешало eth1
выдавать себя за всех остальных, но я все еще не могу пинговать ничего кроме eth1
адреса успешно. (например, со второго компьютера на том же коммутаторе, только 192.168.123.1
отвечает на пинг)
Я предполагаю, что мне нужно что-то сделать с arptables, iproute или SOMETHING, но я потерялся в море в этой области.
Бонусные баллы: Решение должно быть совместимо с Linux 2.6.27.27. (Более конкретно, Slax 6.1.2)