$ nc -g A -g B C 3333
I see packets forwarded over lo to A, and no further packets
are sent over lo or eth0. Machines B and C receive no packets.
A 127.0.0.1 source address is considered martian by the source
validation code as proposed by rfc1812. You should see warnings
in the console if you have martian logging enabled.
I see the same behavior when the source address is explicitely bound
to an address belonging to a local NIC (-s option to netcat).
$ nc -g B A 3333
I see packets forwarded out over eth0 to B and then back to A
but machine A never seems to accept the packets or reply with
a SYN or RST.
A will do a route lookup of [src=A dst=A] which results in your
local route being returned. Again this violates rfc1812 because
that route will not be a unicast route but a local one. A martian
source warning should be logged if enabled.
Is there any way to enable routing for this case? This is a
desirable source route at times. I would hate to have to boot
FreeBSD every time I want to use this feature.
Tim Newsham
http://www.lava.net/~newsham/
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html