
How I configured IPv6 6to4 on Keenetic
It so happened that my provider Rostelecom does not want or cannot yet provide me IPv6. But I really want to try something. Immediately make a reservation: for normal operation, static IPv4 is required.
Users of ZyXEL Keenetic routers know that it can be configured through a tunnel broker. And those who have already tried and tuned, have remained dissatisfied with the speed of work and ping, which depend on the broker's network and do not really please users in Russia.
So, having tested all kinds of free brokers, I quit this venture, but did not quit studying the issue. So I came across 6to4. Everything is certainly interesting there, but setting up on each device in the house is a bit lazy. Well, since I studied the question, where did I come to? IPv6 6to4 is the same IPv6 6in4 that brokers provide us with. The only thing left is to try to feed all this to ZUKHEL.
Do not forget to check the "System Requirements" section of the above site. It says: Check if you have access to the IPv4 address 192.88.99.1 (for example, using ping). If this address does not respond, most likely your ISP has something seriously “wrong” configured, and in this case 6to4 will not work with automatic gateway selection.
In order not to sit with a calculator and a notepad, we will use the 6to4.ru website and find out the IPv6 address for our static IPv4.It is written in the upper right corner after the words: Your 6to4 prefix is .
The site made changes and added a calculator. Enter IPv4, click Get config and get IPv6.
And this is why it is static: if we configure all this for a dynamic address, then after each change of IP we will need to return to the settings of the router and change the address there.
We learned the address, now go to the router.
On the IPv6 settings page, in the Server address field , enter the address 192.88.99.1. In the IPv6 Address field , specify the address “counted” on the site without a prefix, but with an addition of 1 at the end. Because This will be the address of our router. In the IPv6 routing address fieldspecify the address along with the prefix.

Everything seems to be configured, but it wasn’t there. There is a problem with DNS servers.
Because the name server is unknown, we will not open sites.
We will use the DNS servers of our beloved Google: 2001: 4860: 4860 :: 8888 and 2001: 4860: 4860 :: 8844.
Point to each machine manually? Also not interesting.
The web face does not allow us to specify these addresses, swears on the syntax.
Having rummaged through the ZyXEL website, we find out that the DNS server can be set using the command through the terminal. But I took the path of least resistance and all through the same web I downloaded the startup-config configuration file , edited it and downloaded it back.
Almost at the very end of the file, after the line: ipv6 local-prefix default, added the lines:
ipv6 name-server 2001: 4860: 4860 :: 8888
ipv6 name-server 2001: 4860: 4860 :: 8844
After loading the configuration file, we reboot the router and get IPv6 running on all machines, including smartphones.
Now we have fast working Internet over IPv6 and small ping without dependence on tunnel brokers.

UPD:
After the article, ZyXEL support decided to add IPv6 6to4 to the firmware.
Now it is enough to execute the following commands in the console:
interface TunnelSixToFour0
ipv6 force-default
up
system config-save
Or add the same lines in the configuration file after all your interfaces:
interface Bridge2
name Home2
- // -
!
interface PPPoE0
description inet
- // -
!
interface TunnelSixToFour0
ipv6 force-default
up
!
Users of ZyXEL Keenetic routers know that it can be configured through a tunnel broker. And those who have already tried and tuned, have remained dissatisfied with the speed of work and ping, which depend on the broker's network and do not really please users in Russia.
So, having tested all kinds of free brokers, I quit this venture, but did not quit studying the issue. So I came across 6to4. Everything is certainly interesting there, but setting up on each device in the house is a bit lazy. Well, since I studied the question, where did I come to? IPv6 6to4 is the same IPv6 6in4 that brokers provide us with. The only thing left is to try to feed all this to ZUKHEL.
Do not forget to check the "System Requirements" section of the above site. It says: Check if you have access to the IPv4 address 192.88.99.1 (for example, using ping). If this address does not respond, most likely your ISP has something seriously “wrong” configured, and in this case 6to4 will not work with automatic gateway selection.
In order not to sit with a calculator and a notepad, we will use the 6to4.ru website and find out the IPv6 address for our static IPv4.
The site made changes and added a calculator. Enter IPv4, click Get config and get IPv6.
And this is why it is static: if we configure all this for a dynamic address, then after each change of IP we will need to return to the settings of the router and change the address there.
We learned the address, now go to the router.
On the IPv6 settings page, in the Server address field , enter the address 192.88.99.1. In the IPv6 Address field , specify the address “counted” on the site without a prefix, but with an addition of 1 at the end. Because This will be the address of our router. In the IPv6 routing address fieldspecify the address along with the prefix.

Everything seems to be configured, but it wasn’t there. There is a problem with DNS servers.
Because the name server is unknown, we will not open sites.
We will use the DNS servers of our beloved Google: 2001: 4860: 4860 :: 8888 and 2001: 4860: 4860 :: 8844.
Point to each machine manually? Also not interesting.
The web face does not allow us to specify these addresses, swears on the syntax.
Having rummaged through the ZyXEL website, we find out that the DNS server can be set using the command through the terminal. But I took the path of least resistance and all through the same web I downloaded the startup-config configuration file , edited it and downloaded it back.
Almost at the very end of the file, after the line: ipv6 local-prefix default, added the lines:
ipv6 name-server 2001: 4860: 4860 :: 8888
ipv6 name-server 2001: 4860: 4860 :: 8844
After loading the configuration file, we reboot the router and get IPv6 running on all machines, including smartphones.
Now we have fast working Internet over IPv6 and small ping without dependence on tunnel brokers.

UPD:
After the article, ZyXEL support decided to add IPv6 6to4 to the firmware.
Now it is enough to execute the following commands in the console:
interface TunnelSixToFour0
ipv6 force-default
up
system config-save
Or add the same lines in the configuration file after all your interfaces:
interface Bridge2
name Home2
- // -
!
interface PPPoE0
description inet
- // -
!
interface TunnelSixToFour0
ipv6 force-default
up
!