Thanks! I've never seen this spelled out so simply and concisely. Is it just me or is IPv6 client config needlessly complex on BSDs?
Tim On Tue, Aug 29, 2017 at 1:28 AM, Aaron LI <[email protected]> wrote: > Hello DFlyers, > > > I have figured out the IPv6 configuration problem, here are the details, > and hope it can help others. > > > IPv6 Autoconfiguration > ---------------------- > Briefly, there are two kinds of IPv6 autoconfiguration method [1,2]: > > * stateless: > No DHCP to assign addresses. IPv6 addresses are built by using > autoconfiguration and by having routers announce the IP addresses of > machines in the network. In this case, "rtsol" tool is needed to > _solicitate_ that information from routers. > > * stateful: > DHCP is used to assign addresses. An IPv6-compatible "dhclient" is > needed, no autoconfiguration occurs, and "rtsol" is not needed. > > > My Network > ---------- > My network uses the second "stateful" DHCPv6 method. > > > DragonFly BSD > ------------- > The "dhclient" shipped in the base system does NOT support IPv6, so my > previous trials failed to obtain IPv6 address. (FreeBSD also has the > same problem.) > > Consulting to this post [3], an additional IPv6-compatible DHCP client > is required to get IPv6 address. The post's author has made the > "net/dual-dhclient" port to help the settings. > > 1. Install "net/dual-dhclient" package: > # pkg install dual-dhclient > > 2. Add these lines to "/etc/rc.conf": > dhclient_program="/usr/local/sbin/dual-dhclient" > ipv6_enable="YES" > ipv6_network_interfaces="em0" > ipv6_ifconfig_em0="DHCP" > > 3. Restart the network service: > # service netif restart > > DONE! > > > For example, my current interface status looks like: > > dfly> ifconfig em0 > em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING> > inet6 fe80::21d:9ff:fe88:acd3%em0 prefixlen 64 scopeid 0x1 > inet 192.168.1.235 netmask 0xffffff00 broadcast 192.168.1.255 > inet6 2001:da8:8000:6440::be76 prefixlen 64 > ether 00:1d:09:88:ac:d3 > media: Ethernet autoselect <rxpause> (100baseTX > <full-duplex,rxpause>) > status: active > > (Besides the base "/sbin/dhclient" process for the IPv4 DHCP, there will > be another "/usr/local/sbin/dhclient -6" process for the IPv6 DHCP.) > > > [1] DHCPv6 - dhclient: https://forums.freebsd.org/threads/6098/#post-36953 > [2] IPv6 Network (auto) configuration: https://egustafson.github.io/ > ipv6-dhcpv6.html > [3] IPv6 on FreeBSD/EC2: http://www.daemonology.net/ > blog/2017-01-26-IPv6-on-FreeBSD-EC2.html > > > Cheers, > -- > Aly
