Pointer: connect to 127.x.y.z succeeds

From: Matthias Andree (matthias.andree@gmx.de)
Date: Wed Sep 18 2002 - 20:44:17 EST

There's a slight difference between Linux and FreeBSD. Assume each is
configured so that the loopback device is Linux will then
accept a connect to, FreeBSD will instead say

     "49 EADDRNOTAVAIL Cannot assign requested address. Normally results
     from an attempt to create a socket with an address not on this
     machine." (FreeBSD 4.7-PRERELEASE errno(2) man page)

While the routing decision seems right with automatic routes, it's
strange that Linux accepts a connection on an IP that is not configured.
Would it be feasible that Linux looks at the destination IP before
accepting a connection on the lo interface?

This may also be related to the issue raised some time ago that Linux
lets you connect to any local IP from any interface by default, so that
eth0 clients can connect to the eth2 IP even when the route is removed.
I believe Felix von Leitner complained about this behaviour.

I'd appreciate documentation pointers on this discussion as I believe
this has been mentioned before, yet I don't recall enough to feed Google
with a decent search.

Matthias Andree
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:25 EST