Обновление 2024: Я получил шлюз Helix, который приносит свои проблемы. В моём районе IPv6 тоже недоступен, поэтому пришлось снова самому разбираться и делать решение с нуля. Старый метод теперь не работает, а IPv6 калькулятор от Videotron исчез. Но можно использовать бесплатный туннельный сервис Hurricane Electric по адресу . Для вашего удобства прилагаю полный пример скрипта:
# НАЧАЛО КОНФИГУРАЦИИ ПОЛЬЗОВАТЕЛЯ
# Отредактируйте под свой туннель
#
# "Server IPv4 Address" от HE Tunnel Broker
:local HETunnelremoteAddress 0.0.0.0
# "Server IPv6 Address" (без длины префикса)
# например, для 1234:5678:9abc::1/64 укажите только 1234:5678:9abc::1
:local HETunnelIPv6GatewayAddress f:f:f:f::1
# "Client IPv6 Address"
:local HeTunnelIPv6ClientAddress f:f:f:f::2/64
# Маршрутизируемый префикс (без длины префикса, например /64)
:local HeTunnelIPv6RoutedPrefix f:f:f:f::
# Размер маршрутизируемого префикса
:local HeTunnelIPv6RoutedPrefixsize 64
:local HeTunnelComment "HE Tunnel Script"
:local HeTunnelInterfaceName HETunnel
# КОНЕЦ КОНФИГУРАЦИИ ПОЛЬЗОВАТЕЛЯ
/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 "/" ] ]
# Разрешить ICMP от HE Tunnel Broker (обязательно!)
/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
# Добавьте DNS6 при желании. Здесь используется Cloudflare. HE также предлагает свои DNS, если хотите их использовать.
/ip dns set servers=2606:4700:4700::1111,2606:4700:4700::1001,1.1.1.1,1.0.0.1
# НАЧАЛО КОНФИГУРАЦИИ ПОЛЬЗОВАТЕЛЯ
# Отредактируйте под свой туннель
#
# "Server IPv4 Address" от HE Tunnel Broker
:local HETunnelremoteAddress 0.0.0.0
# "Server IPv6 Address" (без длины префикса)
# например, для 1234:5678:9abc::1/64 укажите только 1234:5678:9abc::1
:local HETunnelIPv6GatewayAddress f:f:f:f::1
# "Client IPv6 Address"
:local HeTunnelIPv6ClientAddress f:f:f:f::2/64
# Маршрутизируемый префикс (без длины префикса, например /64)
:local HeTunnelIPv6RoutedPrefix f:f:f:f::
# Размер маршрутизируемого префикса
:local HeTunnelIPv6RoutedPrefixsize 64
:local HeTunnelComment "HE Tunnel Script"
:local HeTunnelInterfaceName HETunnel
# КОНЕЦ КОНФИГУРАЦИИ ПОЛЬЗОВАТЕЛЯ
/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 "/" ] ]
# Разрешить ICMP от HE Tunnel Broker (обязательно!)
/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
# Добавьте DNS6 при желании. Здесь используется Cloudflare. HE также предлагает свои DNS, если хотите их использовать.
/ip dns set servers=2606:4700:4700::1111,2606:4700:4700::1001,1.1.1.1,1.0.0.1
