Общая информация для всех конфигураций

NAME1

Имя нового туннельного интерфейса. Может быть любым, например 6in4ru

NAME2

Имя физического интерфейса который уже есть в системе, например eth0, enp0s3, ens3,...

SERVER IP

IPv4 адрес сервера туннельного брокера, т.е. нашего сервиса, вы его можете узнать в личном кабинете

LOCAL IP

Внешний IPv4 адрес с вашей стороны. Адрес обязательно должен быть белым.

IPv6 CLIENT P2P/127

IPv6 адрес туннельного интерфейса. Point-to-point (P2P)

IPv6 PD ADDRESS/64

IPv6 сеть для адресации устройств внутри вашей домашней сети. Prefix Delegation (PD)

При добавлении IPv6 маршрута, добавляется не default ::/0, а 2000::/3, что очень много.
Это делается для того, чтобы не перебить уже существующие маршруты в системе.

Про MTU

Максимальное MTU на туннель вычисляется как максимльное MTU принятое в Интернете это 1500 байт - 20 байт на IPv4 заголовок. Получаем на туннельный интерфейс максимально допустимое значение MTU в размере 1480 байт.
В редких случаях возникает проблема с открытием некоторых сайтов по IPv6, хотя при этом они прекрасно открываются по IPv4. Вероятно проблема может заключаться в значении TCP MSS, оно может выставляться больше чем MTU на интерфейсе.
Для установления корректной TCP-сессии с удалённым хостом должно соблюдаться следующее условие:
MSS + заголовок TCP + заголовок IPv6 ≤ MTU
Таким образом, максимальный размер
MSS = MTU − размер заголовка IPv6 − размер заголовка TCP.
Максимальное значение MSS при прохождении трафика через туннельный интерфейс составляет
1440(MSS) = 1480(MTU) - 40(IPv6 header size) - 20(TCP header size)

Пример конфигурации для Linux

В Linux используется SIT туннель подробнее можно прочитать на Habr

# Настройка point-to-point (SIT) интерфейса в Linux
ip tunnel add NAME1 mode sit remote SERVER IP local LOCAL IP
ip link set NAME1 up
ip addr add IPv6 CLIENT P2P/127 dev NAME1
# Добавление маршрута
ip -6 route add 2000::/3 dev NAME1
# Настройка Prefix Delegation
ip addr add IPv6 PD ADDRESS/64 dev NAME2
    

Постоянная конфигурация через NetworkManager

Убедитесь, что в /etc/network/interfaces есть строка source /etc/network/interfaces.d/*.
Нужно создать новый файл с именем 6in4ru в /etc/network/interfaces.d/
cat | > /etc/network/interfaces.d/6in4ru
и вставить конфигурацию приведенную ниже, заменив в ней выделенные значения на ваши и нажать Ctrl+D


auto NAME1
iface NAME1 inet6 v4tunnel
    local LOCAL IP
    endpoint SERVER IP 
    ttl 64
    mtu 1480
    address IPv6 CLIENT P2P
    netmask 127
    gateway IPv6 SERVER P2P
    up ip -6 route add 2000::/3 dev NAME1 metric 1
    post-up sysctl -w net.ipv4.conf.all.forwarding=1
    up ip -6 addr add IPv6 PD ADDRESS/64 dev NAME2

затем перезапускаем сервис networking

systemctl status networking
systemctl restart networking
systemctl status networking

Данная настройка не является полной, как минимум еще нужно объявить PD префикс внутри домашней сети, но достаточной для IPv6 связности на одном сервере.


Пример конфигурации для Mikrotik

Последние две команды /ipv6 address add добавляют IPv6 адрес на интерфейсы sit1 и bridge соответственно.
У вас в системе могут быть другие имена интерфейсов

/interface 6to4 add comment="6in4 Tunnel Broker" disabled=no local-address=LOCAL IP mtu=1480 name=sit1 remote-address=SERVER IP
/ipv6 route add disabled=no distance=1 dst-address=2000::/3 gateway=IPv6 SERVER P2P scope=30 target-scope=10
/ipv6 address add address=IPv6 CLIENT P2P/127 advertise=no disabled=no eui-64=no interface=sit1
/ipv6 address add address=IPv6 PD ADDRESS/64 advertise=yes disabled=no eui-64=no interface=bridge
    
Если у кого-нибудь есть желание дополнить этот мануал, пишите мне

На главную

Рассказать друзьям! | Помощь | О проекте | Техническая поддержка | Конфигурации