Не все провайдеры и/или хостеры до сих пор предоставляют ipv6 адреса для своих клиентов. И что бы получить доступ в ipv6 сеть, приходится пользоваться 6to4 туннелями. На примере tunnelbroker от Hurricane Electric проведем настройку для NetworkManager.

Зачем

В основном для связанности vps-ки с ipv6 миром. Можно жить и без него, но постепенно появляются хостеры, которые наоборот дают ipv6, но ipv4 предоставляют только за отдельную плату. Есть конечно же одно замечание: брокер принимает на себя весь трафик идущий через “наш” ipv6 адрес. Для кого-то это может иметь значение (пинги, приватность и т.д.).

Настройки на сайте брокера есть под разные оси и системы управления сетью, но под NetworkManager не нашлось. Возможно я плохо искал или уже появились. Тем не менее настройка простая, и для себя ее запишу на всякий случай в виде команды и файла конфигурации.

Создаем туннель

Нужно зарегестрироваться на https://tunnelbroker.net/ и перейти на страницу создания нового туннеля. На ней вписать белый ipv4 адрес компьютера и выбрать ближайшую к нему точку (это благоприятно скажется на пинге, в идеале 😁, но не точно).

форма создания туннеля

После этого нажать кнопку “Create Tunnel” и ждать. В итоге откроется страницы с данными для туннеля.

информация о созданном туннеле

С этой страницы понадобятся:

  • Server IPv4 Address (сохраним в переменную SERVER_IPV4);
  • Server IPv6 Address (сохраним в переменную SERVER_IPV6, без маски подсети, можно вообще сократить до ::xx.xx.xx.xx где xx.xx.xx.xx это белый ipv4 адрес клиента);
  • Client IPv6 Address (сохраним в переменную CLIENT_IPV6).

Команда

Если кратко, то команда имеет такой вид:

1
2
3
4
nmcli connection add type ip-tunnel con-name 6to4 ifname 6to4 mode sit \
  remote ${SERVER_IPV4} -- ipv4.method disabled ipv6.method manual \
  ipv6.address ${CLIENT_IPV6} ipv6.gateway ${SERVER_IPV6} \
  ip-tunnel.ttl 64

В команде есть 3 переменные, по названию они соответствуют тому, что есть на странице настроек. После этого сразу появится доступ к ipv6 адресам.

Файл с конфигурацией NetworkManager

Если писать команду не очень хочется, то можно создать файл конфигурации руками. Внутри будет что-то вроде:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
[connection]
id=6to4
uuid=eaf9bef3-cfae-4965-ba80-139b0d158f1a
type=ip-tunnel
interface-name=6to4

[ip-tunnel]
mode=3
remote=xxx.xx.xx.xx
ttl=64

[ipv4]
method=disabled

[ipv6]
addr-gen-mode=default
address1=2001:xxx:xxxx:xxx::2/64,::yy.yyy.yy.yy
method=manual

[proxy]

Где:

  • xxx.xx.xx.xx - адрес брокера в сети ipv4;
  • 2001:xxx:xxxx:xxx::2/64 - адрес клиента в сети ipv6;
  • ::yy.yyy.yy.yy - специальная запись ipv4 клиента.