Autodetection of IP6 addresses not working
Closed this issue · 4 comments
The section of the script that detects IPv6 addresses isn't working for me. There seem to be two distinct problems. The first is pretty simple:
WAN_IP6=$(ip addr show dev eth0.2 | grep "inet6" | grep global | head -1| awk '
{print $2}' | cut -f 1 -d '/')
I don't have an eth0.2
device, so this isn't working for me. I presume this should be $WAN
instead.
The other problem is the detection of LAN_IP6, which isn't producing any results for me. Running through the commands in the pipeline, I get results up as far as grep noprefixroute
, but the only result there is this one:
inet6 fdcf:101c:d870::1/60 scope global noprefixroute
which is obviously filtered by the following grep -v 'inet6 fd'
.
I'm not sure if removing this filter works for me or not -- when I do so I successfully get the network to start, but the ping test at the end of the script is failing. Whether this is caused by some other error or this address issue, I don't know.
Thanks for reporting this issue.
The first issue s a bug and has been fixed in version 0.95.
The second issue is a problem with your network (and possibly my docs). You need to have a routable IPv6 address on your LAN-side. You cannot use ULAs in conjunction with NAT64. The end-host stack will try to use IPv6 to get out to the internet, and since ULAs are not routable on the internet, it won't work.
NAT64 is a transition mechanism which allows one to create an IPv6-only network. But the assumption is that the IPv6-only network is using GUA (Globally Unique Address).
Ah, thanks for that. I assumed that while native IPv6 addresses would remain undeliverable that the mapped IPv4 addresses would be translated back to IPv4 packets for routing onto the connected IPv4-only network. I presume the appropriate solution here would be to set up an ipv6 tunnel (eg using https://tunnelbroker.net/) on my router?
Yes, if you don't have native IPv6 from your ISP, then a tunnel is a good second choice. Be sure to request a /48 from Hurricane Electric, so you can subdivide the allocated IPv6 addresses (for down stream routers or even a DMZ)
Great, that's working now. Thanks for the pointer.
In order to make it work, I needed a separate way of specifying the tunnel interface, so I added a command line option for that. I've submitted a PR in case you want to include the change.