Advanced
Тема интерфейса

How Do I Configure an ECS to Use DHCPv6?

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

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‑адресов.

Таблица 1 Включение динамического назначения IPv6‑адресов для разных ОС

ОС

Авто/Ручной

Ссылка

Windows Server 2012

Авто

Windows Server 2008

Авто

Linux

Авто (рекомендовано)

Linux

Вручную

Включение IPv6 для ECS

Note

После включения IPv6 в подсети, где работает ECS, подсети автоматически назначается блок IPv6 CIDR. IPv6 нельзя отключить после включения.

  1. Войдите в консоль управления.
  1. Под Вычисления , кликните Elastic Cloud Server .
  2. Click the target ECS to go to the ECS details page.
  3. In the ECS Information area, click the VPC name. The VPC list is displayed.
  4. Click the number in the Subnets column.

    The Subnets page is displayed.

  5. In the subnet list, locate the target subnet and click its name.

    The subnet details page is displayed.

  6. In the Subnet Information area, click Enable for IPv6 CIDR Block .
  7. Click OK .

Windows Server 2012

  1. Проверьте, включён ли 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.

  2. Включить динамическое назначение IPv6-адресов.

    1. Выберите Запуск > Панель управления .
    2. Щелкните Центр управления сетью и общим доступом .
    3. Щелкните подключение Ethernet.

      Рисунок 4 Подключение Ethernet


    4. В Состояние Ethernet диалоговом окне, щелкните Свойства в левом нижнем углу.
    5. Выбрать Internet Protocol Version 6 (TCP/IPv6) и нажмите OK .

      Рисунок 5 Настройка динамического назначения IPv6-адресов


    6. Выполнить 1 для проверки, включено ли динамическое назначение IPv6-адресов.

  3. Включить и настроить IPv6.

    1. В Internet Protocol Version 6 (TCP/IPv6) Properties диалоговое окно, настройте IPv6-адрес и адрес DNS‑сервера.
      • IPv6-адрес : IPv6-адрес, выделенный при создании ECS. Получите значение из списка ECS в консоли.
      • Длина префикса подсети : 64
      • Предпочитаемый сервер DNS : 240c::6666 (рекомендовано)

      Рисунок 6 Настройка IPv6‑адреса и адреса DNS‑сервера


    2. (Необязательно) Выполните следующую команду в зависимости от ОС ECS.

      Для Windows Server 2012 выполните следующую команду в PowerShell или CMD:

      Set-NetIPv6Protocol -RandomizeIdentifiers disabled

    3. Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6‑адресов.

Windows Server 2008

  1. Проверьте, включён ли 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. Дополнительная конфигурация не требуется.

  2. Включить динамическое присваивание IPv6‑адресов.

    1. Выберите Запустить > Панель управления .
    2. Нажмите Центр сети и общего доступа .
    3. Нажмите Изменить настройки адаптера .
    4. Щелкните правой кнопкой мыши локальное сетевое соединение и выберите Свойства .
    5. Выберите Internet Protocol Version 6 (TCP/IPv6) и нажмите OK .

      Рисунок 10 Настройка динамического назначения IPv6-адресов


    6. Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6-адресов.

  3. Включить и настроить IPv6.

    1. Выбрать Запустить > Панель управления > Сетевое подключение > Локальное подключение .
    2. Выбрать Свойства , выберите следующие параметры и нажмите Установить .

      Рисунок 11 Включение и настройка IPv6


    3. Выбрать Протокол и нажмите Добавить .

      Рисунок 12 Добавление протокола


    4. Выбрать Microsoft TCP/IP Version 6 и нажмите OK .

      Рисунок 13 Сетевые протоколы


    5. (Optional) Выполните следующие команды в зависимости от ОС ECS.

      Для Windows Server 2008 выполните следующую команду в PowerShell или CMD:

      netsh interface ipv6 set global randomizeidentifiers=disable

      Отключите локальное соединение, а затем включите его снова.

      Чтобы отключить локальное соединение, выберите Пуск > Панель управления > Сеть и Интернет > Центр управления сетью и общим доступом > Изменить параметры адаптера . Щелкните правой кнопкой мыши локальное подключение и выберите Отключить из контекстного меню.

      Чтобы включить локальное подключение, выберите Запуск > Панель управления > Сеть и Интернет > Центр сетей и общего доступа > Изменить параметры адаптера . Щелкните правой кнопкой мыши локальное подключение и выберите Включить из контекстного меню.

    6. Выполнить 1 для проверки, включено ли динамическое назначение IPv6-адресов.

Linux (Автоматическое включение динамического назначения IPv6-адресов)

Этот ipv6-setup- xxx инструмент может использоваться для включения автоматического получения IPv6‑адресов в ОС Linux. xxx указывает на инструмент, который может быть rhel или debian.

Вы также можете включить динамическое назначение IPv6‑адресов, следуя инструкциям в Linux (Ручное включение динамического назначения IPv6‑адресов).

Caution
  • При запуске ipv6-setup- xxx, служба сети будет автоматически перезапущена. В результате сеть будет временно отключена.
  • Если приватный образ, созданный из CentOS 6.x или Debian ECS с включённым автоматическим назначением IPv6‑адресов, используется для создания ECS в среде, не поддерживающей IPv6, ECS может запускаться медленно из‑за тайм‑аута назначения IPv6‑адресов. Установите продолжительность тайм‑аута назначения IPv6‑адресов в 30 с, обратившись к Настройка длительности тайм‑аута для назначения IPv6‑адреса и попробуйте снова создать новый приватный образ.
  1. Выполните следующую команду, чтобы проверить, включён ли IPv6 для ECS:

    ip addr

    • Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к Настройка длительности тайм‑аута для назначения IPv6‑адреса.

      Рисунок 14 IPv6 отключён


    • Если отображается link‑local‑адрес (начинающийся с fe80), IPv6 включён, но динамическое назначение IPv6‑адресов не включено.

      Рисунок 15 IPv6 включён


    • Если отображается следующий адрес, IPv6 включён и IPv6‑адрес был назначен:

      Рисунок 16 IPv6 включён и IPv6‑адрес назначен


    Note

    IPv6 включён для публичных образов Linux по умолчанию, как показано в Рисунок 15.

  2. Включить IPv6 для ECS.

    1. Выполните следующую команду, чтобы проверить, включен ли IPv6 для ядра:

      sysctl -a | grep ipv6

      • Если вывод команды отображается, IPv6 включен.
      • Если информация не отображается, IPv6 отключен. Перейдите к 2.b для загрузки модуля IPv6.
    2. Выполните следующую команду для загрузки модуля IPv6:

      modprobe ipv6

    3. Добавьте следующее содержимое в /etc/sysctl.conf файл:

      net.ipv6.conf.all.disable_ipv6=0

    4. Сохраните конфигурацию и выйдите. Затем выполните следующую команду для загрузки конфигурации:

      sysctl -p

  3. Включить динамическое назначение адресов IPv6 для ECS.

    1. Скачать ipv6-setup-rhel или ipv6-setup-debian с требуемой версией и загрузить её в целевой ECS.

      ipv6-setup- xxx модифицирует файл конфигурации NIC, чтобы включить динамическое назначение IPv6-адресов, или добавляет такой файл конфигурации для NIC, а затем перезапускает NIC или сетевую службу.

      Обратитесь к администратору, чтобы получить пути загрузки ipv6-setup-rhel и ipv6-setup-debian .

    2. Выполните следующую команду, чтобы сделать ipv6-setup- xxx исполняемый файл:

      chmod +x ipv6-setup- xxx

    3. Выполните следующую команду для включения динамического назначения IPv6‑адресов на сетевом интерфейсе:

      ./ipv6-setup- xxx --dev [dev]

      Пример:

      ./ipv6-setup- xxx --dev eth0

      Note
      • Чтобы включить динамическое назначение IPv6‑адресов для всех сетевых интерфейсов, выполните ./ipv6-setup- xxx команду.
      • Чтобы узнать, как использовать ipv6-setup- xxx, выполните ./ipv6-setup- xxx --help команда.

Linux (ручное включение динамического назначения IPv6‑адресов)

Caution

Если приватный образ, созданный из CentOS 6.x или Debian ECS с включённым автоматическим назначением IPv6‑адресов, используется для создания ECS в среде, не поддерживающей IPv6, ECS может запускаться медленно из‑за тайм‑аута назначения IPv6‑адресов. Установите длительность тайм‑аута назначения IPv6‑адресов в 30 s, обратившись к Настройка длительности тайм‑аута назначения IPv6‑адресов и попытайтесь создать новый приватный образ ещё раз.

  1. Выполните следующую команду, чтобы проверить, включён ли IPv6 для ECS:

    ip addr

    • Если отображается только IPv4‑адрес, IPv6 отключён. Включите его, обратившись к 2.

      Рисунок 17 IPv6 отключён


    • Если отображается link‑local‑адрес (начинающийся с fe80), IPv6 включён, но динамическое назначение IPv6‑адресов не включено.

      Рисунок 18 IPv6 включен


    • Если отображается следующий адрес, IPv6 включён и IPv6‑адрес назначен:

      Рисунок 19 IPv6 включён и IPv6‑адрес назначен


    Note

    IPv6 включён для публичных образов Linux по умолчанию, как показано в Рисунок 18.

  2. Включить IPv6 для ECS.

    1. Выполните следующую команду, чтобы проверить, включён ли IPv6 для ядра:

      sysctl -a | grep ipv6

      • Если вывод команды отображён, IPv6 включён.
      • Если информация не отображается, IPv6 отключён. Перейдите к 2.b для загрузки модуля IPv6.
    2. Выполните следующую команду для загрузки модуля IPv6:

      modprobe ipv6

    3. Добавьте следующее содержимое в /etc/sysctl.conf файл:

      net.ipv6.conf.all.disable_ipv6=0

    4. Сохраните конфигурацию и выйдите. Затем выполните следующую команду для загрузки конфигурации:

      sysctl -p

  3. Включите динамическое назначение IPv6-адресов для ECS.

    • Ubuntu 18.04/20.04
      1. Выполните следующую команду для доступа /etc/netplan/ :

        cd /etc/netplan

      2. Выполните следующую команду для вывода списка файла конфигурации:

        ls

        Рисунок 20 Имя файла конфигурации


      3. Выполните следующую команду для редактирования файла конфигурации 01-network-manager-all.yaml :

        vi 01-network-manager-all.yaml

      4. Добавьте следующее содержимое в файл конфигурации 01-network-manager-all.yaml (обратите внимание на формат файла YAML и отступы текста):
        ethernets:
        eth0:
        dhcp6: true

        Рисунок 21 Отредактированный файл конфигурации


        Сохраните изменения и выйдите.

      5. Выполните следующую команду, чтобы изменения вступили в силу:

        sudo netplan apply

    • Ubuntu 22.04
      1. Выполните следующую команду для доступа /etc/netplan/ :

        cd /etc/netplan

      2. Выполните следующую команду, чтобы перечислить файл конфигурации:

        ls

        Рисунок 22 Имя файла конфигурации


      3. Выполните следующую команду, чтобы отредактировать файл конфигурации 01-netcfg.yaml :

        vi 01-netcfg.yaml

      4. Добавьте следующий контент в файл конфигурации 01-netcfg.yaml (Обратите внимание на формат файла YAML и отступы текста):
        ethernets:
        eth0:
        dhcp6: true

        Рисунок 23 Отредактированный файл конфигурации


        Сохраните изменения и выйдите.

      5. Выполните следующую команду, чтобы изменения вступили в силу:

        sudo netplan apply

      6. Выполните следующую команду для редактирования /etc/NetworkManager/NetworkManager.conf :

        vi /etc/NetworkManager/NetworkManager.conf

      7. Добавьте следующий контент в файл конфигурации NetworkManager.conf (Обратите внимание на формат файла и отступы):
        [main]
        plugins=ifupdown,keyfile
        dhcp=dhclient
        [ifupdown]
        managed=true
        [device]
        wifi.scan-rand-mac-address=no

        Рисунок 24 Результат изменения


      8. Выполните следующую команду, чтобы применить конфигурацию:

        systemctl restart NetworkManager

    • Debian
      1. Добавьте следующее содержимое в /etc/network/interfaces файл:
        auto lo
        iface lo inet loopback
        auto eth0
        iface eth0 inet dhcp
        iface eth0 inet6 dhcp
        pre-up sleep 3
      2. Добавьте конфигурации для каждого NIC в /etc/network/interfaces файл. Ниже используется eth1 в качестве примера:
        auto eth1
        iface eth1 inet dhcp
        iface eth1 inet6 dhcp
        pre-up sleep 3
      3. Выполните следующую команду, чтобы перезапустить сетевую службу:

        service networking restart

        Note

        Если после выключения и включения NICs не назначен IPv6-адрес, вы можете выполнить эту команду для перезапуска сети.

      4. Выполнить 1 чтобы проверить, включено ли динамическое назначение IPv6-адресов.
    • CentOS, EulerOS, или Fedora
      1. Откройте файл конфигурации /etc/sysconfig/network-scripts/ifcfg-eth0 основного NIC.

        Добавьте следующие элементы конфигурации в файл:

        IPV6INIT=yes
        DHCPV6C=yes

      2. Отредактируйте /etc/sysconfig/network файл, чтобы добавить или изменить следующую строку:
        NETWORKING_IPV6=yes
      3. Для ECS с CentOS 6 необходимо отредактировать файлы конфигурации его дополнительных NIC. Например, если дополнительный NIC — eth1, вам нужно отредактировать /etc/sysconfig/network-scripts/ifcfg-eth1 .

        Добавьте следующие элементы конфигурации в файл:

        IPV6INIT=yes
        DHCPV6C=yes

        В CentOS 6.3 запросы dhcpv6-client фильтруются ip6tables по умолчанию. Поэтому вам также нужно добавить правило, разрешающее запрос dhcpv6-client к ip6tables файл.

        1. Выполните следующую команду, чтобы добавить правило в ip6tables :

          ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT

        2. Выполните следующую команду, чтобы сохранить правило в ip6tables :

          service ip6tables save

          Рисунок 25 Пример команды


      4. (Опционально) Для CentOS 7/CentOS 8 измените режим link-local адреса IPv6 для расширенных NIC на EUI64.
        1. Выполните следующую команду, чтобы запросить информацию о NIC:

          nmcli con

          Рисунок 26 Запрос информации о NIC


        2. Выполните следующую команду, чтобы изменить режим link-local адреса IPv6 интерфейса eth1 на EUI64:

          nmcli con modify " Проводное соединение 1 " ipv6.addr-gen-mode eui64

          Note

          Информация о NIC зависит от серии CentOS. В команде, Проводное соединение 1 должно быть заменено значением в NAME в столбце запрошенной информации о NIC.

        3. Выполните следующие команды, чтобы отключить и включить eth1:

          ifdown eth1

          ifup eth1

      5. Перезапустите сетевой сервис.
        1. Для CentOS 6 выполните следующую команду, чтобы перезапустить сетевой сервис:

          service network restart

        2. Для CentOS 7/EulerOS/Fedora выполните следующую команду, чтобы перезапустить сетевой сервис:

          systemctl restart NetworkManager

      6. Выполнить 1 чтобы проверить, включено ли динамическое назначение адресов IPv6.
    • SUSE, openSUSE, или CoreOS

      SUSE 11 SP4 не поддерживает динамическое присвоение IPv6-адресов.

      Для SUSE 12 SP1 или SUSE 12 SP2 дополнительная конфигурация не требуется.

      Для openSUSE 13.2 или openSUSE 42.2 дополнительная конфигурация не требуется.

      Для CoreOS 10.10.5 дополнительная конфигурация не требуется.

Настройка продолжительности тайм‑аута для присвоения IPv6‑адресов

После настройки автоматического присвоения IPv6‑адресов на ECS запускает CentOS 6.x или Debian, the ECS будет создан как частный образ. Когда этот образ используется для создания an ECS в среде, где IPv6 недоступен, the ECS может запускаться медленно, потому что получение IPv6‑адреса завершилось тайм‑аутом. Перед созданием частного образа вы можете установить продолжительность тайм‑аута получения IPv6‑адресов в 30s, как показано ниже:

  • CentOS 6.x:
    1. Выполните следующую команду, чтобы отредактировать dhclient.conf файл:

      vi /etc/dhcp/dhclient.conf

    2. Нажмите i чтобы войти в режим редактирования и добавить атрибут timeout в файл.
      timeout 30;
    3. Enter :wq чтобы сохранить настройки и выйти.
  • Debian 7.5:
    1. Выполните следующую команду, чтобы отредактировать networking файл:

      vi /etc/init.d/networking

    1. Нажмите i чтобы войти в режим редактирования и добавить атрибут timeout.

      Рисунок 27 Модификация 1


      Рисунок 28 Модификация 2


  • Debian 8.2.0/8.8.0
    1. Выполните следующую команду, чтобы отредактировать network-pre.conf файл:

      vi /lib/systemd/system/networking.service.d/network-pre.conf

    2. Нажмите i чтобы перейти в режим редактирования и добавить атрибут timeout в файл.
      [Service]
      TimeoutStartSec=30
  • Debian 9.0
    1. Выполните следующую команду, чтобы отредактировать networking.service файл:

      vi /etc/system/system/network-online.target.wants/networking.service

    2. Нажмите i войти в режим редактирования и изменить TimeoutStartSec=5min к TimeoutStartSec=30 .