Настройка IPv6#
IPv6 в Angie ADC настраивается на трех уровнях:
Настройка доступа к консоли Angie ADC (management plane).
Настройка сетевых протоколов маршрутизации (control plane).
Настройки для передачи и обработки клиентского трафика (data plane).
Доступ к консоли Angie ADC#
Консоль Angie ADC одновременно поддерживает IPv4 и с IPv6.
Для доступа к консоли с IPv6-адресом 2001:db8::10
введите в браузере:
http://[2001:db8::10]:8080
https://[2001:db8::10]:8443
(если требуется безопасное подключение).
Если есть DNS-запись для адреса 2001:db8::10
, можно обращаться к консоли по имени.
Настройка сетевых протоколов маршрутизации#
Для маршрутизации IPv6 подходят все стандартные и вспомогательные протоколы маршрутизации:
BGPv4;
OSPFv3 (для IPv6 только OSPFv3, в отличие от IPv4);
BFD;
VRRPv3.
Примечание
Сосед для протокола BGP и пир для BFD указываются в формате IPv6-адреса.
Пример настройки OSPFv3:
router ospf6
ospf6 router-id 2.2.2.2
log-adjacency-changes
redistribute connected
exit
Также необходимо включить OSPFv3 на всех интерфейсах:
interface ens33
description internal
ipv6 address 2001:db8::2/64
ipv6 ospf6 area 0
exit
Передача и обработка клиентского трафика#
Для поддержки IPv6:
Бэкенд-серверы должны быть настроены на прием подключений по протоколу IPv6.
В конфигурации балансировщика нагрузки необходимо включить прием трафика по IPv6:
server { listen 80; listen [::]:80; location / {
После этого балансировщик сможет принимать подключения по IPv6.
Также необходимо добавить AAAA-записи в DNS, чтобы клиенты могли находить балансировщик по IPv6-адресу.
Для маршрутизации трафика к бэкенд-серверам в секции
upstream
должны быть указаны IPv6-адреса.В примере ниже один сервер задан адресом IPv4, а второй – IPv6:
http { upstream myapp1 { server 192.168.0.128:80; server [2001:db8::4]:80; } }
Поддержка смешанных подключений IPv4 и IPv6 в Angie ADC#
Angie ADC поддерживает гибкую маршрутизацию трафика между клиентами и бэкенд-серверами с разными конфигурациями.
Бэкенд-серверы могут быть трех типов:
только IPv4;
только IPv6;
dual-stack (одновременно поддерживаются оба протокола).
Пример:
К некоторому ресурсу подключаются IPv4-клиенты (отмечены зеленым цветом) и IPv6-клиенты (отмечены красным цветом).

Только IPv4
IPv4-сессии установлены между Angie ADC и бэкенд-серверами с поддержкой IPv4:

Только IPv6
IPv6-сессии установлены между Angie ADC и бэкенд-серверами с поддержкой IPv6:

Смешанные подключения
Angie ADC может проксировать входящие IPv4-подключения в любые сессии (как IPv4, так и IPv6) в сторону бэкенд-серверов. Аналогично и для IPv6-подключений.

Таким образом, Angie ADC позволяет гибко проксировать трафик между различными протоколами.
Преимущества такой схемы:
Практически мгновенная публикация в сети IPv6-сервиса без поддержки IPv6 на бэкенд-серверах.
Постепенный переход бэкенд-инфраструктуры на IPv6 без потери доступности сервисов снаружи по IPv4, т.е. возможна миграция с IPv4 на IPv6 с минимальными изменениями инфраструктуры.
Настройка ip6tables#
Правила управления доступом для IPv6 похожи на правила для IPv4, но должны настраиваться отдельно вручную.
Пример типовой настройки iptables:
[root@angie-va angie-va]# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2022 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 179 -j ACCEPT
-A INPUT -p ospf -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 520 -j ACCEPT
-A INPUT -p eigrp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Для IPv6 соответствующая настройка производится с помощью ip6tables:
[root@angie-va angie-va]# ip6tables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2022 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 179 -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -p ospf -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 521 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
GSLB#
К сервису GSLB можно обращаться по протоколу IPv6, но получить AAAA-записи пока невозможно. Функциональность в разработке.
C:>nslookup www.example.com 2001:db8::11
Server: gslb.example.com
Address: 2001:db8::11
Name: www.example.com
Address: 172.20.0.10