[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#604948: IPv6 problems in Squeeze



On Thu, 25 Nov 2010, Bjørn Mork wrote:

> Module parameters for modules that are built into the kernel image
> are specified on the kernel command line with the module name plus
> '.' plus parameter name, with '=' and value if appropriate, such as:
> 
>         usbcore.blinkenlights=1
> </quote>

Sure, but it's not really particularly practical or elegant to fill up
the bootparameters. With ipv6 as a module, one do only need to distribute
a /etc/modprobe.d/ipv6.conf to everyone and and be done with it. With
kernel parameters I need to worry about alot more.

Having kernel modules is a feature, very practical one.
Are there any practical reason for having IPv6 support in the kernel
opposed to having it as a module? I cannot really think of any.
If anything, I would also want to have to have ipv4 as a kernel module,
for those system I really want to have IPv6-only. I guess that will
eventually be possible.

> > For example, I have servers that need to explicitly have IPv6 configured
> > staticly, that sit on LANs that have autoconf/ra enabled.
> 
> > Now - it would ofcourse be _very much_ prefared that if one in
> > /etc/network/interfaces configure interfaces with static ipv6 addresses
> > and static router, all of the above happen automatically.
> 
> I don't think that's necessarily something everyone would want.  I can
> imagine situations where you'd like both a static address and a SLAAC
> address on an interface.

Sure - like when you want to confuse yourself regarding which address is
actually the source address you're using for outbound traffic, and
everyone else with a client certificate that doesnt match the IP address
you're coming from, since you ofcourse never bothered to register a PTR
record for the SLAAC address.

Or the network your machine is on, is in general an open one, but the nice
admins have been kind enough to protect your IP-address from the very
scary and harmfull internet - only they didn't know about your
autoconfigured address that is open for anyone to gawk at.

Or when you just enjoy collecting new addresses from bogusly set up
Windows machines that at random might find it worth while to think that
they should act as 6to4 relays and broadcast prefixes and announce route.
Or someone does the above on purpose just to be wicked.

Or someone manage to loop the network you're on with some other network
for a few seconds, causing your machine to have a new bogus autoconfigured
address and a borken default gateway for a while...

Or ... the possible trouble scenarious with SLAAC are endless.

And there are situations where you want to to use static, manually set
interface identifier and yet autoconf prefix. I have no idea how to
configure that in interfaces.

The problem with Linux and IPv6 is that the powers that be think that
having everything being set up automatically by default is such a good
thing, and most of them hardly give any thought to the consequences it
seems.

I wish the Linux developers had a more pragmatic approach to ipv6, instead
of this IMO overly optimistic view that "the protocols offers the solutions
to all problems!". At least ipv6 _is_ possible to have as a module, and
has gotten some parameters to it, even if Debian now seems to pretend that
having it as a module is somehow bad and dumps into the kernel (for
reasons I really dont grasp - how large percent of the users really _need_
IPv6 to be available at boot time? And what can you do with it at boot
time? NFS root? I don't think the Linux kernel NFS root options are IPv6
capable anyhow)

With IPv6 now becoming a supported feature in Debian, are there any plans
to provide documention on how to for example configure fully staticly set
up ipv6 configuration, which one typically want on server machines.

> > auto eth0
> >    iface eth0 inet static
> >       address 10.10.10.10
> >       gateway 10.10.10.1
> >       netmask 255.255.255.0
> >    iface eth0 inet6 static
> >       address 2001:700:0::beaf
> >       gateway 2001:700::1
> >       netmask 64
> >    up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
> >    up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0
> >
> > But this only work _most_ of the time. Every now and then the sysctl lines are
> > not performed quickly enough and due to bad luck the server also picks up
> > autoconf address and router announcement, ending up with double set of
> > addresses and non-static default route.
> 
> How about using pre-up?  Wouldn't that always work?

Certainly should. I remember having played with "pre-up", but do not
remember why I ended up with "up" instead. Anyways, it's just a work
around, what if you use network-manager instead for example?

-- 
Kolbjørn Barmen
UNINETT Driftsenter



Reply to: