Solved HE IPv6 Tunnel Creation at Boot Time: Not Working

Hey folks -

I've recently converted the last Linux machine in my house over to FreeBSD: my router. This has been fraught with all sorts of troubles due to my lack of understanding PF, but I'm working through that. At this point, I've just noticed another fun challenge: my IPv6 tunnel through HE won't come up automatically at boot time. Specifically it's because the IPv4 end points (mine and HE's) aren't being added to the gif0 interface.

FreeBSD version is 10.1; the code snippets from /etc/rc.conf:
Code:
cloned_interfaces="gif0"
ifconfig_gif0_ipv6="inet6 <my IPv6 endpoint> <HE's IPv6 endpoint> prefixlen 128"
gifconfig_gif0="<my IPv4 int> <HE's IPv4 int>"

What I'm left with after booting is this:
Code:
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
    inet6 <my IPv6> --> <HE's IPv6> prefixlen 128
    inet6 fe80::230:18ff:fea3:b4f8%gif0 prefixlen 64 scopeid 0x6
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

The important missing line is the "tunnel inet <my IPv4> --> <HE's IPv4>" And without that, the tunnel interface is useless.

I can add those two bits manually after the machine boots and everything works fine:
ifconfig gif0 tunnel <me> <HE>

Is there some format error I have with my /etc/rc.conf lines? Something else that I need? Again, once I manually ifconfig and add the route, the IPv6 tunnel works fine. It's just getting it that way at boot up.

Thanks!
 
Last edited by a moderator:
Code:
cloned_interfaces="gif0"
ifconfig_gif0_ipv6="inet6 <my IPv6 endpoint> <HE's IPv6 endpoint> prefixlen 128"
gifconfig_gif0="<my IPv4 int> <HE's IPv4 int>"
ipv6_defaultrouter=<HE's IPv6 endpoint>

OK, I'm an idiot. Apparently the gifconfig_gif0 doesn't work any longer, per one of the mailing lists. Instead, it should be ifconfig_gif0="tunnel <my IP> <HE's IP> and sure enough, that does the trick.
 
Back
Top