Tayga — это популярный инструмент для реализации NAT64 на Linux IPv6.
Установка
Обновление списка пакетов
Код: Выделить всё
opkg update
Код: Выделить всё
opkg install tayga
libnl-tiny
/opt/lib/libnl-tiny.so.1
libnl и libnl-tiny – Технический справочник libnl — это библиотека для приложений, работающих с сокетами netlink, например, для получения или изменения информации о маршрутизации, настроек интерфейса, и используется в более общем плане при взаимодействии с ядром.
ip-full
/usr/libexec/ip-full
Утилита управления маршрутизацией (полная версия)
Пути установки
/opt/sbin/tayga
/opt/etc/tayga.conf
Код: Выделить всё
tayga --help
--config FILE : Считывает параметры конфигурации из ФАЙЛА
-d : Включает отладочные сообщения (подразумевает --nodetach)
--nodetach : Не отключаться от терминала
--user USERID : После инициализации установите uid на USER ID
--group GROUPID : После инициализации установите gid на GROUPID
--chroot : chroot() преобразует данные в каталог (указанный в конфигурационном файле)
--pidfile FILE : записывает идентификатор процесса демона в ФАЙЛ
Код: Выделить всё
mcedit /opt/etc/tayga.conf
Код: Выделить всё
# виртуальное сетевое устройство.
tun-device nat64
# IPv4-адрес, который будет использоваться для трансляции.
# это IPv4-адрес TAYGA, а не адрес вашего маршрутизатора
ipv4-addr 192.168.255.1
# выбрать неиспользуемый /96 из диапазона адресов IPv6 вашего сайта, который будет использоваться в качестве префикса NAT64
# префикс для NAT64 (по умолчанию используется 64:ff9b::/96) заменить на префикс из диапазон адресов вашего сайта
prefix 2001:db8:1:ffff::/96
# блок неиспользуемых адресов IPv4 для пула динамических адресов. TAYGA назначит адреса IPv4 из этого пула хостам IPv6, которым требуется служба NAT64
# Динамический пул может быть выбран из частного адресного пространства IPv4 (10.xxx, 192.168.xx и т. д.) и может быть любого размера,
# хотя он должен быть достаточно большим, чтобы содержать один адрес IPv4 для каждого хоста IPv6, которому необходимо использовать NAT64.
# TAYGA также необходим собственный адрес IPv4, но его можно взять из динамического пула адресов
dynamic-pool 192.168.255.0/24
# чтобы динамические карты адресов сохранялись между перезапусками TAYGA, каталог для хранения файла dynamic.map
data-dir /opt/var/db/tayga
Код: Выделить всё
tayga --mktun
Код: Выделить всё
ip link set nat64 up
Код: Выделить всё
ip addr add 192.168.0.1 dev nat64
ip addr del 192.168.0.1 dev nat64
Задаем IPv6 адрес на виртуальный интерфейс (замените на IPv6-адрес вашего маршрутизатора)
Код: Выделить всё
ip addr add 2001:db8:1::1 dev nat64
Отключаем
ip link set nat64 down
Удаляем
ip link delete nat64
Просмотр сетевых подключений
Код: Выделить всё
ip addr show
Код: Выделить всё
ip addr show nat64
Код: Выделить всё
ip route add 192.168.255.0/24 dev nat64
Код: Выделить всё
ip route add 2001:db8:1:ffff::/96 dev nat64
Код: Выделить всё
tayga
Код: Выделить всё
ping6 2001:db8:1:ffff::192.168.0.1
Теперь вам нужно настроить правила NAT44 в iptables или где-то еще в вашей сети, чтобы динамические пулы адресов могли достичь остальной части Интернета.
Наконец, настройте iptables для NAT4:
iptables -t nat -A POSTROUTING -o nat64 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.255.0/24 -j MASQUERADE
Чтобы включить маршрутизацию между IPv4 и IPv6, добавьте правила iptables:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Настоятельно рекомендуется защитить ваш префикс NAT64 от внешнего доступа с помощью брандмауэра:
Разрешить
ip6tables -A FORWARD -s 2001:db8:1::/48 -d 2001:db8:1:ffff::/96 -j ACCEPT
Блокировать
ip6tables -A FORWARD -d 2001:db8:1:ffff::/96 -j DROP
Настройка iptables:
Чтобы включить маршрутизацию между IPv4 и IPv6, добавьте правила iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Это позволит вашему телевизору использовать IPv4 и взаимодействовать с ресурсом, который доступен только через IPv6.