I have obtained a Helix gateway, which comes with its own set of problems. IPv6 is also not available in my area, so I had to resort to rolling my own solution again.
The original method no longer works, and the IPv6 calculator from Videotron is gone. You can however use Hurricane Electric's free tunnel service at https://tunnelbroker.net.
A complete example script is provided for your convenience:
Code: Select all
# START OF USER CONFIG
# Edit the following to match your own tunnel
#
# "Server IPv4 Address" from HE Tunnel Broker
:local HETunnelremoteAddress 0.0.0.0
# "Server IPv6 Address" (without prefix length)
# i.e. for 1234:5678:9abc::1/64, only put 1234:5678:9abc::1
:local HETunnelIPv6GatewayAddress f:f:f:f::1
# "Client IPv6 Address"
:local HeTunnelIPv6ClientAddress f:f:f:f::2/64
# Routed prefix (without prefix length i.e. /64)
:local HeTunnelIPv6RoutedPrefix f:f:f:f::
# routed prefix size
:local HeTunnelIPv6RoutedPrefixsize 64
:local HeTunnelComment "HE Tunnel Script"
:local HeTunnelInterfaceName HETunnel
# END OF USER CONFIG
/ipv6 route remove [ find where comment=$HeTunnelComment ]
/ipv6 address remove [ find where comment=$HeTunnelComment ]
/interface 6to4 remove [ find where comment=$HeTunnelComment ]
:local bridgename [ /interface/bridge/get number=0 value-name=name ]
:local addr4
:set addr4 [ /ip address get [ find interface="9.modem" ] address ]
:set addr4 [ :pick $addr4 0 [ :find $addr4 "/" ] ]
# Allow ICMP from HE Tunnel Broker (required!)
/ip firewall filter {
remove [ find where comment="6rd" ]
:local def [ find where chain=input comment="defconf: drop invalid" ]
add action=accept chain=input comment="6rd" connection-state=new in-interface-list=WAN protocol=icmp src-address=66.220.2.74 place-before=$def
}
/interface 6to4 add comment="$HeTunnelComment" disabled=no local-address=$addr4 mtu=1280 name=$HeTunnelInterfaceName remote-address=$HETunnelremoteAddress
/ipv6 route add disabled=no distance=1 dst-address=2000::/3 gateway=$HETunnelIPv6GatewayAddress scope=30 target-scope=10 comment=$HeTunnelComment
/ipv6 address add address=$HeTunnelIPv6ClientAddress advertise=no disabled=no eui-64=no interface=$HeTunnelInterfaceName comment=$HeTunnelComment
/ipv6 address add address=$HeTunnelIPv6RoutedPrefix interface=$bridgename advertise=yes eui-64=yes comment=$HeTunnelComment
/ipv6 nd set [ find default=yes ] advertise-dns=yes advertise-mac-address=yes managed-address-configuration=no other-configuration=yes
# Add DNS6 if desired. This uses cloudflare. HE Also provides their own DNS if you prefer that.
/ip dns set servers=2606:4700:4700::1111,2606:4700:4700::1001,1.1.1.1,1.0.0.1