This is just a rough outline. At the moment, if you follow the router guide for a HE tunnel, it works on the router, but not on other machines in your LAN. Basically one needs to shrink the prefix for the address on the tunnel, and add another EUI64 address to the interface that radvd/dhcp6 are on, so that packet forwarding rules are sane in both directions. -# ip addr add 2001:470:1F00:FFFF::189 dev sixbone +# ip addr add 2001:470:1F00:FFFF::189/128 dev sixbone +# ip route add 2001:470:1F00:FFFF::188 dev sixbone +# ip addr add 2001:470:1F00:296::(EUI64) dev eth1
Here's a trick I was doing with HE.net and openrc. It doesn't work perfectly as it seems the final route is NOT added, you need to do that manually :-( replacements: @EXT@ = external interface @INT@ = internal interface to route your LAN via @LOCAL@ = IPv4 address of local tunnel endpoint (on @EXT@) @REMOTE@ = IPv4 addres of remote tunnel endpoint v6net64="2001:470:X:X" v6net48="2001:470:X" @INT@_eui64="...." config_@INT@="${config_eth1} ${v6net48}:${@INT@_eui64}/64" link_heipv6="@EXT@" iptunnel_heipv6="mode sit remote @REMOTE@ local @LOCAL@ ttl 255 dev ${link_heipv6}" mtu_heipv6=1280 config_heipv6="${v6net64}::2/126" route_heipv6="default via ${v6net64}::1"
This most of my writeup addon for using HE.net tunnels, just fill in the variables. http://dev.gentoo.org/~robbat2/conf.d-net/ipv6-addon.txt
I've moved the document to the Gentoo wiki at https://wiki.gentoo.org/wiki/IPv6_router_guide; that should make it easier to integrate or make changes.