Desired behaviour of "ifconfig -alias"

Oliver Fromme olli at lurza.secnetix.de
Tue Feb 13 20:36:33 UTC 2007


Freddie Cash wrote:
 > Oliver Fromme wrote:
 > > Freddie Cash wrote:
 > > > For a set of IPs in the same subnet on the same interface, wouldn't
 > > > the primary IP be the one with the proper netmask, and all IPs with
 > > > netmasks of /32 be secondary?
 > > 
 > > That's historic.  :-)   Old versions of FreeBSD indeed
 > > required the netmask of the "aliases" to be /32 in that
 > > case.  But it's no longer the case.
 > 
 > Hmmm, if this is the case, then the man page for ifconfig(8) is 
 > out-of-date wrt this as well:
 > 
 > alias  Establish an additional network address for this interface.  This
 >        is sometimes useful when changing network numbers, and one wishes
 >        to accept packets addressed to the old interface. If the address
 >        is on the same subnet as the first network address for this
 >        interface, a non-conflicting netmask must be given. Usually
 >        0xffffffff is most appropriate.

Well, yes, the ifconfig(8) manual page is lacking in
several aspects, it seems.

 > > # ifconfig re0
 > > re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 > >         options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
 > >         inet 88.198.44.136 netmask 0xffffffe0 broadcast 88.198.44.159
 > >         inet 88.198.173.154 netmask 0xfffffff8 broadcast 88.198.173.159
 > >         inet 88.198.173.155 netmask 0xfffffff8 broadcast 88.198.173.159
 > >         inet 88.198.173.156 netmask 0xfffffff8 broadcast 88.198.173.159
 > >         inet 88.198.173.157 netmask 0xfffffff8 broadcast 88.198.173.159
 > >         inet 88.198.173.158 netmask 0xfffffff8 broadcast 88.198.173.159
 > > 
 > > > In that situation, wouldn't deleting the primary IP
 > > > cause connection issues for the rest of the IPs?
 > > 
 > > No.  I can delete _any_ of the above IP addresses, and the
 > > others would still work perfectly fine.  I already did
 > > things like that (on a different machine).
 > 
 > Yes, but each of the IPs is on their own subnet.

No, please look closer.  The addresses above are all in the
same subnet (except for the first one).  It's a /29 subnet
in this case, but it works exactly the same with /24 or any
other subnet masks.

 > I'm talking about a 
 > situation where one IP on the interface has a /24 netmask, and all the 
 > other IPs on the interface have /32 netmasks.  Would removing the IP with 
 > a /24 netmask cause connection issues for the other IPs on that 
 > interface?

I'm not sure.  I think they should just continue to work,
but I would have to try that.  But why would you want to
use /32 netmasks?  That was just a hack for the historic
limitation that you couldn't use real netmasks for IPs
within the same subnet.  There's no reason to use that
hack anymore.
 
 > If you add the following IPs to an interface:
 >    x.x.x.2/24
 >    x.x.x.3/32
 >    x.x.x.4/32
 >    x.x.x.5/32
 > Then remove x.x.x.2, and re-add it as x.x.x.2/24 so it appears at the 
 > bottom of the list of IPs, what IP is used for outgoing connections?

As I said, I would have to try that because I haven't used
the /32 netmask hack for quite some time.  I think it would
indeed use the first address, i.e. x.x.x.2.

 > My gut tells me it'll be x.x.x.2, but I'll have to check that when I get 
 > home.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
Any opinions expressed in this message are personal to the author and may
not necessarily reflect the opinions of secnetix GmbH & Co KG in any way.
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

$ dd if=/dev/urandom of=test.pl count=1
$ file test.pl
test.pl: perl script text executable


More information about the freebsd-stable mailing list