Odd behavior on multi-homed machine

David Hagood david.hagood at gmail.com
Mon May 28 18:26:52 UTC 2007


I just updated a multi-homed machine to the latest rawhide, and I am
seeing a strange behavior:

All packets destined for the loopback interface are being set with the
IP address of the highest order ethernet device, rather than with the LO
device.

In other words, if I have:

lo: 127.0.0.1
eth0: 10.0.0.1
eth1: 192.168.0.1

and I do a "ping 127.0.0.1", and on another console I do a "tcpdump -n
-i lo", then the TCP dump shows all the ICMP echo request packets as
having come from "192.168.0.1" rather than 127.0.0.1 - even if if force
ping to bind to 127.0.0.1.

If I down eth1, then the packets are marked as having come from
10.0.0.1.

Only when both ethernet devices are down do the packets have 127.0.0.1
as the source address.

Needless to say this plays merry hell with most of the services that are
configured to ignore packets based upon IP address, as many local
packets are being dropped because they don't "smell local".

Has anybody else seen this behavior?





More information about the test mailing list