@morbiuswilters said:
you're saying it responds to ARPs for an IP that isn't bound to the interface the ARP came in on? That would be fucked up,
@morbiuswilters said:
... generally you don't have a setup where Linux will respond to the ARP in such a way.
Actually, according to the link that CodeSimian posted, and some testing, it appears that that is exactly how the Linux kernel behaves.
Random example:
eth0 192.168.1.5
eth1 10.4.4.20
ppp0 172.16.5.5
ARPing from the 192.168.1.0/24 network for any of those three addresses will return the MAC of the eth0 interface. ARPing from the 10.4.4.0/24 network for any of those three addresses will return the MAC of the eth1 interface.
This is true even for the 172.16.5.5 address bound to the ppp0 adapter, despite the fact that ppp is not ARPable!
(I've just tested this with my Linux-based DSL modem, which exhibits this behaviour. I can ARP the ppp0 address from the wifi network, and get the address of the wifi NIC back.
The kernel will even accept packets for the distant interface's IP address, unless rp_filter is turned on...