IPv6, ULAs and FreeBSD,Re: IPv6, ULAs and FreeBSD

sthaug at nethelp.no sthaug at nethelp.no
Fri May 27 07:00:41 UTC 2016


> > Here lies the first problem. It seems that it's not legitimate to assign
> > /96 subnets when using unique local addresses (ULAs). I was right
> > getting some /48 subnet for my local IPv6 network; some easy way to get
> > one generated randomly is http://unique-local-ipv6.com/ . But instead of
> > assigning /96 subnets to each host, you must assign /64 subnets. I guess
> > (but I am not sure because I have not found any reference that mentions
> > this explicitly) you *must not* use any other subnet when dealing with
> > ULAs.
> >
> > So I decided for the following two subnets for machine A and
> > B respectively: fd16:dcc0:f4cc:1::/64 and fd16:dcc0:f4cc:2::/64.
> 
> Interesting, I did not know that.
> 
> I know that if you want SLAAC to work, you need to assign a /64 prefix.
> 
> We use /112's for hosts but based on GUA's, and that works fine.

I don't see any problem using ULA with for instance /124 netmask:

lab1# ifconfig bce1.85 inet6 fd00:8c0:3::521/124
lab1# ifconfig bce1.85
bce1.85: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=103<RXCSUM,TXCSUM,TSO4>
        ether 00:1a:64:94:d9:ae
        inet 172.17.85.1 netmask 0xffffff00 broadcast 172.17.85.255
        inet6 fe80::21a:64ff:fe94:d9ae%bce1.85 prefixlen 64 scopeid 0x15
        inet6 fd00:8c0:3::521 prefixlen 124
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

lab2# ifconfig bce1.85 inet6 fd00:8c0:3::522/124
lab2# ifconfig bce1.85
bce1.85: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=103<RXCSUM,TXCSUM,TSO4>
        ether 00:1a:64:78:fa:ea
        inet 172.17.85.2 netmask 0xffffff00 broadcast 172.17.85.255
        inet6 fe80::21a:64ff:fe78:faea%bce1.85 prefixlen 64 scopeid 0x13
        inet6 fd00:8c0:3::522 prefixlen 124
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lab2# ping6 fd00:8c0:3::521
PING6(56=40+8+8 bytes) fd00:8c0:3::522 --> fd00:8c0:3::521
16 bytes from fd00:8c0:3::521, icmp_seq=0 hlim=64 time=0.600 ms

96 bit works too:

lab1# ifconfig bce1.85 inet6 fd00:8c0:3:1:1:1::1/96
lab2# ifconfig bce1.85 inet6 fd00:8c0:3:1:1:1::2/96
lab2# ping6 fd00:8c0:3:1:1:1::1
PING6(56=40+8+8 bytes) fd00:8c0:3:1:1:1:0:2 --> fd00:8c0:3:1:1:1:0:1
16 bytes from fd00:8c0:3:1:1:1:0:1, icmp_seq=0 hlim=64 time=0.585 ms

Steinar Haug, Nethelp consulting, sthaug at nethelp.no


More information about the freebsd-questions mailing list