Heads up: impending IPv6 Test Day

Chuck Anderson cra at WPI.EDU
Thu Jun 2 15:59:51 UTC 2011


On Thu, Jun 02, 2011 at 04:40:10PM +0100, Richard W.M. Jones wrote:
> Is there an easy way I can set up IPv6 and a handful of machines on my
> LAN for testing, without requiring any IPv6 internet connection or an
> IPv6 assigned prefix?

Yes, every system automatically chooses a link-local address.

> The Linux machines on my LAN appear to have acquired IPv6 addresses, eg:
> 
> $ ip addr show eth0
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
>     link/ether 00:e0:81:74:02:28 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.0.128/24 brd 192.168.0.255 scope global eth0
>     inet6 fe80::2e0:81ff:fe74:228/64 scope link 
>        valid_lft forever preferred_lft forever

fe80:: are link local.  The hint is "scope link".

> but pinging them gives me strange errors:
> 
> $ ping6 fe80::2e0:81ff:fe74:228/64
> unknown host
> $ ping6 fe80::2e0:81ff:fe74:228
> connect: Invalid argument
> $ ping6 fe80::2e0:81ff:fe74
> connect: Invalid argument

For using link local addresses, you need to specify the outgoing
network interface, because the addresses are global to the host, not
local to any one interface.  Otherwise, it would have no way of
knowing which interface to send the packets out of.  

Also, don't put the /nn, because that is the prefix length (equivalent
to the IPv4 subnetwork mask).

There are two ways typically to specify outgoing interface for link
local:

ping6 -I eth0 fe80::2e0:81ff:fe74:228

or:

ping6 fe80::2e0:81ff:fe74:228%eth0

Some apps work with one vs. the other.

Another tidbit: for IPv6 literals like above, some applications
require you to put them in square brackets.  For example, web browsers
need this syntax:

http://[fe80::2e0:81ff:fe74:228%eth0]/

Support for %iface or [] syntax may not be universal, unfortunately.


More information about the devel mailing list