Ubiquiti Edgerouter IPv6 (Zen Internet UK) plus Tayga NAT64 configuration
Nearly 23 years after starting a new job managing IPv6 development at Cisco Systems, I've finally ended up with an ISP here in the UK that actually supports IPv6. So I thought I'd better turn it on.
Zen Fibre still uses PPPoE, and they give you a static /64 via SLAAC and a static /48 that's allocated via DHCPv6-PD. Although the prefixes are static, it appears that you have to use PD to make a prefix request, in order for routing for the whole /48 block to be enabled in your direction.
The configuration I ended up with is as follows. I disable use of the ISP's DNS server as I've got my own local server with ad-blocking.
The firewall setup isn't shown, but blocks all incoming traffic, allows ICMPv6, established sessions and DHCPv6.
A caveat about using the Edgerouter's PD implementation is that the "service slaac" clause auto-generates a basic radvd configuration for that interface. However, this then gets overwritten if you explicitly configure any ipv6 router advertisement options on the interface. So you can't use both, it has to be one or the other on a per interface basis.
ethernet eth2 { description WAN duplex auto mtu 1508 speed auto vif 911 { description "Zen VLAN" mtu 1508 pppoe 0 { default-route force dhcpv6-pd { no-dns pd 0 { interface eth1 { host-address ::1 no-dns prefix-id ::1 service slaac } interface eth4 { host-address ::1 prefix-id :4 service slaac } prefix-length /48 } prefix-only } firewall { in { ipv6-name ipv6-fw name WAN_IN } local { ipv6-name ipv6-fw name WAN_LOCAL } } ipv6 { address { autoconf } enable { } } mtu 1500 name-server none password **************** user-id **************** } } }
vif 11 { address 2a02:****:****:11::1/64 description Future ipv6 { dup-addr-detect-transmits 1 router-advert { cur-hop-limit 64 default-lifetime 1800 managed-flag false max-interval 360 min-interval 60 name-server 2001:4860:4860::6464 other-config-flag false prefix 2a02:****:****:11::/64 { autonomous-flag true on-link-flag true } reachable-time 0 retrans-timer 0 send-advert true } }
# start Tayga because there's no systemd support for it /usr/sbin/tayga --mktun ip link set nat64 up ip route add 64:ff9b::/96 dev nat64 ip route add 192.168.64.0/24 dev nat64 /usr/sbin/tayga # start daemon exit 0
tun-device nat64
ipv4-addr 192.168.64.5
ipv6-addr 2a02:****:****:11::2
prefix 64:ff9b::/96
dynamic-pool 192.168.64.0/24
admin@ubnt:~$ ping 64:ff9b::8.8.8.8 PING 64:ff9b::8.8.8.8(64:ff9b::808:808) 56 data bytes 64 bytes from 64:ff9b::808:808: icmp_seq=1 ttl=117 time=18.2 ms 64 bytes from 64:ff9b::808:808: icmp_seq=2 ttl=117 time=9.68 ms
Comments
Post a Comment