Scenarios
IPv6 addresses are used to deal with IPv4 address exhaustion. If an ECS uses an IPv4 address, the ECS can run in dual-stack mode after IPv6 is enabled for it. Then, the ECS will have two IP addresses to access the intranet and Internet: an IPv4 address and an IPv6 address.
In some cases, an ECS cannot dynamically acquire an IPv6 address even if it meets all the requirements in Constraints. You need to configure the ECS to dynamically acquire IPv6 addresses. For public images:
- By default, dynamic IPv6 address assignment is enabled for Windows public images. You do not need to configure it. The operations in Windows Server 2012 and Windows Server 2008 предназначены только для вашего сведения.
- Перед включением динамического назначения IPv6‑адресов для публичного образа Linux проверьте, включён ли IPv6, а затем включено ли динамическое назначение IPv6‑адресов. В настоящее время IPv6 включён для всех публичных образов Linux.
Ограничения
- Убедитесь, что IPv6 включён в подсети, где ECS работает.
Если IPv6 не включён, включите его, обратившись к Включение IPv6 для ECS. После включения IPv6 нельзя отключить.
- Убедитесь, что Автоматически назначенный IPv6‑адрес выбран при создании ECS.
- После ECS запускается, её hot-swappable NIC не могут автоматически получать IPv6‑адреса.
- Только один IPv6‑адрес может быть привязан к NIC.
Процедура
- Windows: Windows Server 2012/2008 используется в качестве примера для описания того, как включить динамическое назначение IPv6‑адресов в Windows, как показано в Таблица 1.
- Linux: Динамическое назначение IPv6‑адресов может быть включено автоматически (рекомендуется) или вручную, как показано в Таблица 1.
Если приватный образ, созданный из CentOS 6.x или Debian ECS с включённым автоматическим назначением IPv6‑адресов, используется для создания ECS в среде, не поддерживающей IPv6, ECS может запускаться медленно из‑за тайм‑аута назначения IPv6‑адресов. Вы можете установить длительность тайм‑аута назначения IPv6‑адресов, обратившись к Настройка длительности тайм‑аута назначения IPv6‑адресов.
ОС | Авто/Ручной | Ссылка |
---|---|---|
Windows Server 2012 | Авто | |
Windows Server 2008 | Авто | |
Linux | Авто (рекомендовано) | |
Linux | Вручную |
Включение IPv6 для ECS
После включения IPv6 в подсети, где работает ECS, подсети автоматически назначается блок IPv6 CIDR. IPv6 нельзя отключить после включения.
- Войдите в консоль управления.
- Под Вычисления , кликните Elastic Cloud Server .
- Click the target ECS to go to the ECS details page.
- In the ECS Information area, click the VPC name. The VPC list is displayed.
- Click the number in the Subnets column.
The Subnets page is displayed.
- In the subnet list, locate the target subnet and click its name.
The subnet details page is displayed.
- In the Subnet Information area, click Enable for IPv6 CIDR Block .
- Click OK .
Windows Server 2012
- Проверьте, включён ли IPv6 для ECS.
Выполните следующую команду в окне CMD:
ipconfig
- Если отображается IPv6-адрес и link-local IPv6-адрес, IPv6 включён, а динамическое назначение IPv6 также включено.
Рисунок 1 Запрос IPv6-адреса
- Если отображается только link-local IPv6-адрес, IPv6 включён, но динамическое назначение IPv6 не включено. Перейдите к 2.
Рисунок 2 Link-local IPv6-адрес
- Если не отображается ни IPv6-адрес, ни link-local IPv6-адрес, IPv6 отключён. Перейдите к 3.
Рисунок 3 IPv6 отключён
NoteПо умолчанию динамическое назначение IPv6-адресов включено для публичных образов Windows, как показано в Рисунок 1. No additional configuration is required.
- Если отображается IPv6-адрес и link-local IPv6-адрес, IPv6 включён, а динамическое назначение IPv6 также включено.
- Включить динамическое назначение IPv6-адресов.
- Выберите Запуск > Панель управления .
- Щелкните Центр управления сетью и общим доступом .
- Щелкните подключение Ethernet.
Рисунок 4 Подключение Ethernet
- В Состояние Ethernet диалоговом окне, щелкните Свойства в левом нижнем углу.
- Выбрать Internet Protocol Version 6 (TCP/IPv6) и нажмите OK .
Рисунок 5 Настройка динамического назначения IPv6-адресов
- Выполнить 1 для проверки, включено ли динамическое назначение IPv6-адресов.
- Включить и настроить IPv6.
- В Internet Protocol Version 6 (TCP/IPv6) Properties диалоговое окно, настройте IPv6-адрес и адрес DNS‑сервера.
- IPv6-адрес : IPv6-адрес, выделенный при создании ECS. Получите значение из списка ECS в консоли.
- Длина префикса подсети : 64
- Предпочитаемый сервер DNS : 240c::6666 (рекомендовано)
Рисунок 6 Настройка IPv6‑адреса и адреса DNS‑сервера
- (Необязательно) Выполните следующую команду в зависимости от ОС ECS.
Для Windows Server 2012 выполните следующую команду в PowerShell или CMD:
Set-NetIPv6Protocol -RandomizeIdentifiers disabled
- Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6‑адресов.
- В Internet Protocol Version 6 (TCP/IPv6) Properties диалоговое окно, настройте IPv6-адрес и адрес DNS‑сервера.
Windows Server 2008
- Проверьте, включён ли IPv6 для ECS.
Выполните следующую команду в окне CMD:
ipconfig
- Если отображается IPv6‑адрес и link‑local IPv6‑адрес, IPv6 включён и динамическое назначение IPv6 также включено.
Рисунок 7 Запрос IPv6‑адреса
- Если отображается только link-local IPv6‑адрес, IPv6 включён, но динамическое присваивание IPv6 не включено. Перейдите к 2.
Рисунок 8 Link-local IPv6‑адрес
- Если не отображается ни IPv6‑адрес, ни link-local IPv6‑адрес, IPv6 отключён. Перейдите к 3.
Рисунок 9 IPv6 отключён
NoteПо умолчанию динамическое присваивание IPv6‑адресов включено для публичных образов Windows, как показано в Рисунок 7. Дополнительная конфигурация не требуется.
- Если отображается IPv6‑адрес и link‑local IPv6‑адрес, IPv6 включён и динамическое назначение IPv6 также включено.
- Включить динамическое присваивание IPv6‑адресов.
- Выберите Запустить > Панель управления .
- Нажмите Центр сети и общего доступа .
- Нажмите Изменить настройки адаптера .
- Щелкните правой кнопкой мыши локальное сетевое соединение и выберите Свойства .
- Выберите Internet Protocol Version 6 (TCP/IPv6) и нажмите OK .
Рисунок 10 Настройка динамического назначения IPv6-адресов
- Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6-адресов.
- Включить и настроить IPv6.
- Выбрать Запустить > Панель управления > Сетевое подключение > Локальное подключение .
- Выбрать Свойства , выберите следующие параметры и нажмите Установить .
Рисунок 11 Включение и настройка IPv6
- Выбрать Протокол и нажмите Добавить .
Рисунок 12 Добавление протокола
- Выбрать Microsoft TCP/IP Version 6 и нажмите OK .
Рисунок 13 Сетевые протоколы
- (Optional) Выполните следующие команды в зависимости от ОС ECS.
Для Windows Server 2008 выполните следующую команду в PowerShell или CMD:
netsh interface ipv6 set global randomizeidentifiers=disable
Отключите локальное соединение, а затем включите его снова.
Чтобы отключить локальное соединение, выберите Пуск > Панель управления > Сеть и Интернет > Центр управления сетью и общим доступом > Изменить параметры адаптера . Щелкните правой кнопкой мыши локальное подключение и выберите Отключить из контекстного меню.
Чтобы включить локальное подключение, выберите Запуск > Панель управления > Сеть и Интернет > Центр сетей и общего доступа > Изменить параметры адаптера . Щелкните правой кнопкой мыши локальное подключение и выберите Включить из контекстного меню.
- Выполнить 1 для проверки, включено ли динамическое назначение IPv6-адресов.
Linux (Автоматическое включение динамического назначения IPv6-адресов)
Этот ipv6-setup- xxx инструмент может использоваться для включения автоматического получения IPv6‑адресов в ОС Linux. xxx указывает на инструмент, который может быть rhel или debian.
Вы также можете включить динамическое назначение IPv6‑адресов, следуя инструкциям в Linux (Ручное включение динамического назначения IPv6‑адресов).
- При запуске ipv6-setup- xxx, служба сети будет автоматически перезапущена. В результате сеть будет временно отключена.
- Если приватный образ, созданный из CentOS 6.x или Debian ECS с включённым автоматическим назначением IPv6‑адресов, используется для создания ECS в среде, не поддерживающей IPv6, ECS может запускаться медленно из‑за тайм‑аута назначения IPv6‑адресов. Установите продолжительность тайм‑аута назначения IPv6‑адресов в 30 с, обратившись к Настройка длительности тайм‑аута для назначения IPv6‑адреса и попробуйте снова создать новый приватный образ.
- Выполните следующую команду, чтобы проверить, включён ли IPv6 для ECS:
ip addr
- Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к Настройка длительности тайм‑аута для назначения IPv6‑адреса.
Рисунок 14 IPv6 отключён
- Если отображается link‑local‑адрес (начинающийся с fe80), IPv6 включён, но динамическое назначение IPv6‑адресов не включено.
Рисунок 15 IPv6 включён
- Если отображается следующий адрес, IPv6 включён и IPv6‑адрес был назначен:
Рисунок 16 IPv6 включён и IPv6‑адрес назначен
NoteIPv6 включён для публичных образов Linux по умолчанию, как показано в Рисунок 15.
- Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к Настройка длительности тайм‑аута для назначения IPv6‑адреса.
- Включить IPv6 для ECS.
- Выполните следующую команду, чтобы проверить, включен ли IPv6 для ядра:
sysctl -a | grep ipv6
- Если вывод команды отображается, IPv6 включен.
- Если информация не отображается, IPv6 отключен. Перейдите к 2.b для загрузки модуля IPv6.
- Выполните следующую команду для загрузки модуля IPv6:
modprobe ipv6
- Добавьте следующее содержимое в /etc/sysctl.conf файл:
net.ipv6.conf.all.disable_ipv6=0
- Сохраните конфигурацию и выйдите. Затем выполните следующую команду для загрузки конфигурации:
sysctl -p
- Выполните следующую команду, чтобы проверить, включен ли IPv6 для ядра:
- Включить динамическое назначение адресов IPv6 для ECS.
- Скачать ipv6-setup-rhel или ipv6-setup-debian с требуемой версией и загрузить её в целевой ECS.
ipv6-setup- xxx модифицирует файл конфигурации NIC, чтобы включить динамическое назначение IPv6-адресов, или добавляет такой файл конфигурации для NIC, а затем перезапускает NIC или сетевую службу.
Обратитесь к администратору, чтобы получить пути загрузки ipv6-setup-rhel и ipv6-setup-debian .
- Выполните следующую команду, чтобы сделать ipv6-setup- xxx исполняемый файл:
chmod +x ipv6-setup- xxx
- Выполните следующую команду для включения динамического назначения IPv6‑адресов на сетевом интерфейсе:
./ipv6-setup- xxx --dev [dev]
Пример:
./ipv6-setup- xxx --dev eth0
Note- Чтобы включить динамическое назначение IPv6‑адресов для всех сетевых интерфейсов, выполните ./ipv6-setup- xxx команду.
- Чтобы узнать, как использовать ipv6-setup- xxx, выполните ./ipv6-setup- xxx --help команда.
- Скачать ipv6-setup-rhel или ipv6-setup-debian с требуемой версией и загрузить её в целевой ECS.
Linux (ручное включение динамического назначения IPv6‑адресов)
Если приватный образ, созданный из CentOS 6.x или Debian ECS с включённым автоматическим назначением IPv6‑адресов, используется для создания ECS в среде, не поддерживающей IPv6, ECS может запускаться медленно из‑за тайм‑аута назначения IPv6‑адресов. Установите длительность тайм‑аута назначения IPv6‑адресов в 30 s, обратившись к Настройка длительности тайм‑аута назначения IPv6‑адресов и попытайтесь создать новый приватный образ ещё раз.
- Выполните следующую команду, чтобы проверить, включён ли IPv6 для ECS:
ip addr
- Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к 2.
Рисунок 17 IPv6 отключён
- Если отображается link‑local‑адрес (начинающийся с fe80), IPv6 включён, но динамическое назначение IPv6‑адресов не включено.
Рисунок 18 IPv6 включен
- Если отображается следующий адрес, IPv6 включён и IPv6‑адрес назначен:
Рисунок 19 IPv6 включён и IPv6‑адрес назначен
NoteIPv6 включён для публичных образов Linux по умолчанию, как показано в Рисунок 18.
- Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к 2.
- Включить IPv6 для ECS.
- Выполните следующую команду, чтобы проверить, включён ли IPv6 для ядра:
sysctl -a | grep ipv6
- Если вывод команды отображён, IPv6 включён.
- Если информация не отображается, IPv6 отключён. Перейдите к 2.b для загрузки модуля IPv6.
- Выполните следующую команду для загрузки модуля IPv6:
modprobe ipv6
- Добавьте следующее содержимое в /etc/sysctl.conf файл:
net.ipv6.conf.all.disable_ipv6=0
- Сохраните конфигурацию и выйдите. Затем выполните следующую команду для загрузки конфигурации:
sysctl -p
- Выполните следующую команду, чтобы проверить, включён ли IPv6 для ядра:
- Включите динамическое назначение IPv6-адресов для ECS.
- Ubuntu 18.04/20.04
- Выполните следующую команду для доступа /etc/netplan/ :
cd /etc/netplan
- Выполните следующую команду для вывода списка файла конфигурации:
ls
Рисунок 20 Имя файла конфигурации
- Выполните следующую команду для редактирования файла конфигурации 01-network-manager-all.yaml :
vi 01-network-manager-all.yaml
- Добавьте следующее содержимое в файл конфигурации 01-network-manager-all.yaml (обратите внимание на формат файла YAML и отступы текста):ethernets:eth0:dhcp6: true
Рисунок 21 Отредактированный файл конфигурации
Сохраните изменения и выйдите.
- Выполните следующую команду, чтобы изменения вступили в силу:
sudo netplan apply
- Выполните следующую команду для доступа /etc/netplan/ :
- Ubuntu 22.04
- Выполните следующую команду для доступа /etc/netplan/ :
cd /etc/netplan
- Выполните следующую команду, чтобы перечислить файл конфигурации:
ls
Рисунок 22 Имя файла конфигурации
- Выполните следующую команду, чтобы отредактировать файл конфигурации 01-netcfg.yaml :
vi 01-netcfg.yaml
- Добавьте следующий контент в файл конфигурации 01-netcfg.yaml (Обратите внимание на формат файла YAML и отступы текста):ethernets:eth0:dhcp6: true
Рисунок 23 Отредактированный файл конфигурации
Сохраните изменения и выйдите.
- Выполните следующую команду, чтобы изменения вступили в силу:
sudo netplan apply
- Выполните следующую команду для редактирования /etc/NetworkManager/NetworkManager.conf :
vi /etc/NetworkManager/NetworkManager.conf
- Добавьте следующий контент в файл конфигурации NetworkManager.conf (Обратите внимание на формат файла и отступы):[main]plugins=ifupdown,keyfiledhcp=dhclient[ifupdown]managed=true[device]wifi.scan-rand-mac-address=no
Рисунок 24 Результат изменения
- Выполните следующую команду, чтобы применить конфигурацию:
systemctl restart NetworkManager
- Выполните следующую команду для доступа /etc/netplan/ :
- Debian
- Добавьте следующее содержимое в /etc/network/interfaces файл:auto loiface lo inet loopbackauto eth0iface eth0 inet dhcpiface eth0 inet6 dhcppre-up sleep 3
- Добавьте конфигурации для каждого NIC в /etc/network/interfaces файл. Ниже используется eth1 в качестве примера:auto eth1iface eth1 inet dhcpiface eth1 inet6 dhcppre-up sleep 3
- Выполните следующую команду, чтобы перезапустить сетевую службу:
service networking restart
NoteЕсли после выключения и включения NICs не назначен IPv6-адрес, вы можете выполнить эту команду для перезапуска сети.
- Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6-адресов.
- Добавьте следующее содержимое в /etc/network/interfaces файл:
- CentOS, EulerOS, или Fedora
- Откройте файл конфигурации /etc/sysconfig/network-scripts/ifcfg-eth0 основного NIC.
Добавьте следующие элементы конфигурации в файл:
IPV6INIT=yesDHCPV6C=yes - Отредактируйте /etc/sysconfig/network файл, чтобы добавить или изменить следующую строку:NETWORKING_IPV6=yes
- Для ECS с CentOS 6 необходимо отредактировать файлы конфигурации его дополнительных NIC. Например, если дополнительный NIC — eth1, вам нужно отредактировать /etc/sysconfig/network-scripts/ifcfg-eth1 .
Добавьте следующие элементы конфигурации в файл:
IPV6INIT=yesDHCPV6C=yesВ CentOS 6.3 запросы dhcpv6-client фильтруются ip6tables по умолчанию. Поэтому вам также нужно добавить правило, разрешающее запрос dhcpv6-client к ip6tables файл.
- Выполните следующую команду, чтобы добавить правило в ip6tables :
ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT
- Выполните следующую команду, чтобы сохранить правило в ip6tables :
service ip6tables save
Рисунок 25 Пример команды
- Выполните следующую команду, чтобы добавить правило в ip6tables :
- (Опционально) Для CentOS 7/CentOS 8 измените режим link-local адреса IPv6 для расширенных NIC на EUI64.
- Выполните следующую команду, чтобы запросить информацию о NIC:
nmcli con
Рисунок 26 Запрос информации о NIC
- Выполните следующую команду, чтобы изменить режим link-local адреса IPv6 интерфейса eth1 на EUI64:
nmcli con modify " Проводное соединение 1 " ipv6.addr-gen-mode eui64
NoteИнформация о NIC зависит от серии CentOS. В команде, Проводное соединение 1 должно быть заменено значением в NAME в столбце запрошенной информации о NIC.
- Выполните следующие команды, чтобы отключить и включить eth1:
ifdown eth1
ifup eth1
- Выполните следующую команду, чтобы запросить информацию о NIC:
- Перезапустите сетевой сервис.
- Для CentOS 6 выполните следующую команду, чтобы перезапустить сетевой сервис:
service network restart
- Для CentOS 7/EulerOS/Fedora выполните следующую команду, чтобы перезапустить сетевой сервис:
systemctl restart NetworkManager
- Для CentOS 6 выполните следующую команду, чтобы перезапустить сетевой сервис:
- Выполнить 1 чтобы проверить, включено ли динамическое назначение адресов IPv6.
- Откройте файл конфигурации /etc/sysconfig/network-scripts/ifcfg-eth0 основного NIC.
- SUSE, openSUSE, или CoreOS
SUSE 11 SP4 не поддерживает динамическое присвоение IPv6-адресов.
Для SUSE 12 SP1 или SUSE 12 SP2 дополнительная конфигурация не требуется.
Для openSUSE 13.2 или openSUSE 42.2 дополнительная конфигурация не требуется.
Для CoreOS 10.10.5 дополнительная конфигурация не требуется.
- Ubuntu 18.04/20.04
Настройка продолжительности тайм‑аута для присвоения IPv6‑адресов
После настройки автоматического присвоения IPv6‑адресов на ECS запускает CentOS 6.x или Debian, the ECS будет создан как частный образ. Когда этот образ используется для создания an ECS в среде, где IPv6 недоступен, the ECS может запускаться медленно, потому что получение IPv6‑адреса завершилось тайм‑аутом. Перед созданием частного образа вы можете установить продолжительность тайм‑аута получения IPv6‑адресов в 30s, как показано ниже:
- CentOS 6.x:
- Выполните следующую команду, чтобы отредактировать dhclient.conf файл:
vi /etc/dhcp/dhclient.conf
- Нажмите i чтобы войти в режим редактирования и добавить атрибут timeout в файл.timeout 30;
- Enter :wq чтобы сохранить настройки и выйти.
- Выполните следующую команду, чтобы отредактировать dhclient.conf файл:
- Debian 7.5:
- Выполните следующую команду, чтобы отредактировать networking файл:
vi /etc/init.d/networking
- Нажмите i чтобы войти в режим редактирования и добавить атрибут timeout.
Рисунок 27 Модификация 1
Рисунок 28 Модификация 2
- Выполните следующую команду, чтобы отредактировать networking файл:
- Debian 8.2.0/8.8.0
- Выполните следующую команду, чтобы отредактировать network-pre.conf файл:
vi /lib/systemd/system/networking.service.d/network-pre.conf
- Нажмите i чтобы перейти в режим редактирования и добавить атрибут timeout в файл.[Service]TimeoutStartSec=30
- Выполните следующую команду, чтобы отредактировать network-pre.conf файл:
- Debian 9.0
- Выполните следующую команду, чтобы отредактировать networking.service файл:
vi /etc/system/system/network-online.target.wants/networking.service
- Нажмите i войти в режим редактирования и изменить TimeoutStartSec=5min к TimeoutStartSec=30 .
- Выполните следующую команду, чтобы отредактировать networking.service файл:
- Сценарии
- Ограничения
- Процедура
- Включение IPv6 для ECS
- Windows Server 2012
- Windows Server 2008
- Linux (Автоматическое включение динамического назначения IPv6-адресов)
- Linux (Вручную включение динамического назначения IPv6-адресов)
- Установка длительности тайм‑аута для назначения IPv6-адресов