Настройка 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- и IPv6-клиенты


Только IPv4

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

IPv4-сессии


Только IPv6

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

IPv6-сессии


Смешанные подключения

Angie ADC может проксировать входящие IPv4-подключения в любые сессии (как IPv4, так и IPv6) в сторону бэкенд-серверов. Аналогично и для 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