On Mon, Nov 28, 2011 at 09:57:06PM -0500, Douglas Maus wrote: > I could use some help understanding IPv6 autoconfiguration on OpenBSD5.0 > > If an OpenBSD system is configured to be an IPv6 host and to use 'rtsol', > and the network IPv6 router running rtadvd sends a prefix (like 2001:.../64) > as part of the route advertisements, > then isn't the host supposed to use the prefix to generate > an IPv6 address with that 2001: prefix and fill the last 64 bits with > bits from the ethernet ID / EUI? > > > I'm trying to work my way through / debug this, and I'm stumped. > I'll document what I have checked - please let me know any other > configurations or responses I should check. > > > /etc/hostname.re0 (setup during installation, with rtsol selected) > inet 10.0.1.2 255.255.255.0 > up > rtsol > > > /etc/sysctl.conf > net.inet6.icmp6.rediraccept=1 > net.inet6.ip6.forwarding=0 > net.inet6.ip6.accept_rtadv=1 > (although installation set rediraccept to 1, I needed to manually > set ip6.forwarding=0 and ip6.accept_rtadv=1 - perhaps this should > be fixed in the install script) > > > $ ifconfig re0 (sanitized of real EUI) > re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr c1:a1:c1:a1:f1:e1 > priority: 0 > groups: egress > media: Ethernet autoselect (1000baseT > full-duplex,master,rxpause,txpause) > status: active > inet 10.0.1.2 netmask 0xffffff00 broadcast 10.0.1.255 > inet6 fe80::c1a1:c1ff:fea1:f1e1%re0 prefixlen 64 scopeid 0x1 > (note - only the link-local IPv6 address) > > > tcpdump of the router advertisement (sanitized), > the router is an Apple Airport ExtremeN > which advertises the link-local address of the router, > and also advertises the prefix for this LAN: > $tcpdump -v -i re0 > 12:00:00.000000 fe80::c1a1:b1ff:fea1:b1e1 > ff02::1: icmp6: router > advertisement(chlim=64, O router_ltime=1800, reachable_time=0, > retrans_time=0)(src lladdr: c1:a1:b1:a1:b1:e1)(prefix info: LA > valid_ltime=14400, preferred_ltime=3600, prefix=2001:470:dead:beef::/64)[ndp > opt] (len 80, hlim 255) > > > routing table (output of netstat -rn -f inet6, sanitized) > Internet6: > Destination Gateway Flags Refs > Use Mtu Prio Iface > ::/104 ::1 UGRS 0 > 0 - 8 lo0 > ::/96 ::1 UGRS 0 > 0 - 8 lo0 > default fe80::c1a1:b1ff:fea1:b1e1%re0 UG 0 > 214 - 4 re0 > ::1 ::1 UH 14 > 0 33196 4 lo0 > ::127.0.0.0/104 ::1 UGRS 0 > 0 - 8 lo0 > ::224.0.0.0/100 ::1 UGRS 0 > 0 - 8 lo0 > ::255.0.0.0/104 ::1 UGRS 0 > 0 - 8 lo0 > ::ffff:0.0.0.0/96 ::1 UGRS 0 > 0 - 8 lo0 > 2001:470:dead:beef::/64 link#1 UC 0 > 0 - 4 re0 > 2002::/24 ::1 UGRS 0 > 0 - 8 lo0 > 2002:7f00::/24 ::1 UGRS 0 > 0 - 8 lo0 > 2002:e000::/20 ::1 UGRS 0 > 0 - 8 lo0 > 2002:ff00::/24 ::1 UGRS 0 > 0 - 8 lo0 > fe80::/10 ::1 UGRS 0 > 0 - 8 lo0 > fe80::%re0/64 link#1 UC 1 > 0 - 4 re0 > fe80::c1a1:b1ff:fea1:b1e1%re0 c1:a1:b1:a1:b1:e1 UHLc 1 > 7 - 4 re0 > fe80::c1a1:c1ff:fea1:f1e1%re0 c1:a1:c1:a1:f1:e1 HL 1 > 0 - 4 lo0 > fe80::%lo0/64 fe80::1%lo0 U 0 > 0 - 4 lo0 > fe80::1%lo0 link#4 UHL 0 > 0 - 4 lo0 > fec0::/10 ::1 UGRS 0 > 0 - 8 lo0 > ff01::/16 ::1 UGRS 0 > 0 - 8 lo0 > ff01::%re0/32 link#1 UC 0 > 0 - 4 re0 > ff01::%lo0/32 fe80::1%lo0 UC 0 > 0 - 4 lo0 > ff02::/16 ::1 UGRS 0 > 0 - 8 lo0 > ff02::%re0/32 link#1 UC 0 > 0 - 4 re0 > ff02::%lo0/32 fe80::1%lo0 UC 0 > 0 - 4 lo0 > > Isn't there supposed to be an IPv6 address like: > 2001:470:dead:beef:c1a1:c1ff:fea1:f1e1 > > I can ping6 my default router: > ping6 -I re0 fe80::c1a1:b1ff:fea1:b1e1 > but I cannot ping6 any global addresses > ping6 -I re0 2001:4860:800f::68 (ipv6.google.com) > results in all packets lost > > > I'm left wondering - is it > (A) some configuration on the OpenBSD 5.0 machine that I'm missing?
Probably, since I'm using IPv6 on OpenBSD for a long time and it almost always worked for me. A few stuff to check: - you say you modified sysctl.conf, but did you execute the sysctl command or rebooted to have those changes taken into account ? - what does the 'rtsol -d' command report when executed ? (it will manually trigger a router sollicitation) > (B) OpenBSD 5.0 not handling the route advertisement prefix? it should handle it. > (C) the Apple Airport-ExtremeN router sending a bad route advertisement and > prefix? That may be the case, although I've used other apple Airport devices with IPv6 successfully in the past. But you may have a crappy ethernet switch or hub in the path that blocks or damages multicast frames. I've had such a device it the past. Replacing it by a little more expensive switch fixed my v6 SLAAC issues. -- Matthieu Herrb