
Amazon VPC позволяет запускать ресурсы AWS через указанную виртуальную сеть. По умолчанию VPC не нуждается в дополнительных настройках и готово к использованию сразу после его включения. Однако после запуска поддержки IPv6 необходимо перенастроить VPC, дабы EC2 и прочие ваши ресурсы были доступны извне по IPv6.
Редактирование VPC.
По умолчанию все VPC идут с блоком IPv4 172.31.0.0/16, но без CIDR IPv6.
Переходим в Your VPCs. Выбираем строку с нужным VPC (на скриншоте только один) и Action / Edit CIDRs. В секции VPC IPv6 CIDRS жмём ADD IPv6 CIDR.



По умолчанию VPC идёт с одной подсетью для каждой доступной зоны. Переходим в Subnets. Выбираем подсеть, далее Subnet Actions / Edit IPv6 CIDRs. В секции VPC IPv6 CIDRS жмём ADD IPv6 CIDR.
Автоприсвоение IPv6 адресов.
По умолчанию каждый EC2 Instance, запускаемый через VPC, доступен извне только через внешний IPv4. IP назначается автоматически при создании Instance. Для IPv6 автоматика пока не работает и нужно вручную настроить auto-assign.
Subnet Actions / Modify auto-assign IP settings.


Обновление таблицы маршрутов.

В случае, если вам нужно чтоб ваш Instasnce мог соединяться со внешними ресурсами по IPv6, но при этом был не доступен извне, нужно сначала создать «Egress Only Internet Gateway». Это даст доступ ко внешним ресурсам, но заблокирует весь входящий трафик, передаваемый по IPv6.
Настройка ОС.
Настройка IPv6 завершена. Но (в зависимости от установленной в Instance ОС) нужно вручную отредактировать настройки, связанные с DHCPv6. В текущей (на момент написания статьи) Ubuntu это делается следующим образом.
Команда «ip -6 address» покажет назначенные для интерфейса eth0 IPv6 адреса. Выдача будет примерно следующая:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 state UP qlen 1000
inet6 fe80::8cf:f6ff:fe47:5e90/64 scope link
valid_lft forever preferred_lft forever
Создаём файл «60-eth0-with-ipv6.cfg» в /etc/network/interfaces.d/.
sudo nano /etc/network/interfaces.d/60-eth0-with-ipv6.cfg
Вписываем в него строку
iface eth0 inet6 dhcp
Сохраняем и выходим.
Перезагружаем сетевые интерфейсы
sudo service networking restart
Теперь в выдаче команды « ip -6 address» должна появиться строка типа
inet6 2600:1f16:dc1:f800:4e68:4a28:f5b6:22bd/128 scope global
Что означает, что Instance доступен извне по вышеуказанному адресу.
Последний пункт индивидуален для каждой ОС. Выше был пример для Ubuntu 16.04.
На этом настройка IPv6 завершена. Instance может связываться со внешним миром через IPv6, а так же доступен по нему извне.
Tatyana K. По материалам