Wiki source code of Enable 6rd support
Last modified by Jean Franco on 2022/06/23 22:09
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
![]() |
1.1 | 1 | 6rd is a mechanism to enable IPv6 tunneling for providers who are unable to provide native IPv6 to their customers. It uses a 6in4 SIT tunnel to work it's magic. |
| 2 | |||
| 3 | This is an example of 6rd for CenturyLink customers - you'll need to find out if your provider supports 6rd, and what are the various settings - including 6rd prefix, the ipv4 6rd tunnel server address. | ||
| 4 | |||
| 5 | CL customers can figure out their assigned IPv6 prefix with the following command: | ||
| 6 | |||
| 7 | {{{ echo $(printf "2602:%02x:%02x%02x:%02x00::1\n" $(echo $YOUR-PUBLIC-IP-ADDRESS | tr . ' '))}}} | ||
| 8 | |||
| 9 | Replace $YOUR-PUBLIC-IP-ADDRESS with the public facing address on your ER. You'll get an IP in the form of: | ||
| 10 | |||
| 11 | {{{ 2602:xx:xxxx:xxxx::1}}} | ||
| 12 | |||
| 13 | Configure your tunnel like so: | ||
| 14 | |||
| 15 | {{{ set interfaces tunnel tun0 6rd-prefix '2602::/24' | ||
| 16 | set interfaces tunnel tun0 address '2602:xx:xxxx:xxxx::1/24' | ||
| 17 | set interfaces tunnel tun0 description 'CenturyLink IPv6 6rd tunnel' | ||
| 18 | set interfaces tunnel tun0 encapsulation sit | ||
| 19 | set interfaces tunnel tun0 local-ip $YOUR-PUBLIC-IP-ADDRESS | ||
| 20 | set interfaces tunnel tun0 mtu 1472 | ||
| 21 | set interfaces tunnel tun0 multicast disable | ||
| 22 | set interfaces tunnel tun0 ttl 255}}} | ||
| 23 | |||
| 24 | If you are running pre-1.8 firmware, you will need to use the following: | ||
| 25 | |||
| 26 | {{{ set protocols static route6 '::/0' next-hop '::205.171.2.64' interface tun0}}} | ||
| 27 | |||
| 28 | If you are running 1.8 or later, use the following instead: | ||
| 29 | |||
| 30 | {{{ set interfaces tunnel tun0 6rd-default-gw ::205.171.2.64}}} | ||
| 31 | |||
| 32 | And configure a range on your LAN side. In this case, we'll be using eth1. For CL business level customers, each public static IP gets assigned a /56. For residential, its a /64. We'll use the first /64 block in the /56 for the LAN. | ||
| 33 | |||
| 34 | {{{ set interfaces ethernet eth1 address '2602:xx:xxxx:xxxx::1/64' | ||
| 35 | set interfaces ethernet eth1 ipv6 dup-addr-detect-transmits 1 | ||
| 36 | set interfaces ethernet eth1 ipv6 router-advert cur-hop-limit 64 | ||
| 37 | set interfaces ethernet eth1 ipv6 router-advert link-mtu 1472 | ||
| 38 | set interfaces ethernet eth1 ipv6 router-advert managed-flag false | ||
| 39 | set interfaces ethernet eth1 ipv6 router-advert max-interval 300 | ||
| 40 | set interfaces ethernet eth1 ipv6 router-advert other-config-flag false | ||
| 41 | set interfaces ethernet eth1 ipv6 router-advert prefix '2602:xx:xxxx:xxxx::/64' autonomous-flag true | ||
| 42 | set interfaces ethernet eth1 ipv6 router-advert prefix '2602:xx:xxxx:xxxx::/64' on-link-flag true | ||
| 43 | set interfaces ethernet eth1 ipv6 router-advert prefix '2602:xx:xxxx:xxxx::/64' valid-lifetime 2592000 | ||
| 44 | set interfaces ethernet eth1 ipv6 router-advert reachable-time 0 | ||
| 45 | set interfaces ethernet eth1 ipv6 router-advert retrans-timer 0 | ||
| 46 | set interfaces ethernet eth1 ipv6 router-advert send-advert true}}} | ||
| 47 | |||
| 48 | Congrats, you should now have functioning IPv6 over 6rd from CL! Feel free to adapt these to your own provider's setup. |
