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

Как настроить ECS для использования DHCPv6?

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

Сценарии

IPv6‑адреса используются для решения проблемы истощения IPv4‑адресов. Если ECS использует IPv4‑адрес, то ECS может работать в режиме dual‑stack после включения IPv6. Затем ECS будет иметь два IP‑адреса для доступа к интранету и Интернету: IPv4‑адрес и IPv6‑адрес.

В некоторых случаях ECS не может динамически получить IPv6‑адрес, даже если он соответствует всем требованиям в Ограничения. Вам необходимо настроить ECS для динамического получения IPv6‑адресов. Для публичных образов:

  • По умолчанию динамическое назначение IPv6‑адресов включено для публичных образов Windows. Вам не требуется его настраивать. Операции в Windows Server 2012 и Windows Server 2008 предназначены только для справки.
  • Перед включением динамического назначения IPv6-адресов для публичного образа Linux проверьте, включён ли IPv6, а затем включено ли динамическое назначение IPv6-адресов. В настоящее время IPv6 включён для всех публичных образов Linux.

Ограничения

  • Убедитесь, что IPv6 включён в подсети, где ECS работает.

    Если IPv6 не включён, включите его, обратившись к Включение IPv6 для ECS. После включения IPv6 нельзя отключить.

  • Убедитесь, что Автоматически назначенный IPv6-адрес выбирается при создании ECS.
  • После ECS запускается, его горячо‑заменяемые 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. Щелкните целевой ECS, чтобы перейти на страницу сведений ECS.
  3. В Информация ECS области, щелкните имя VPC. Список VPC отображается.
  4. Щелкните число в Подсети столбце.

    Эта Подсети страница отображается.

  5. В списке подсетей найдите целевую подсеть и щелкните её имя.

    Страница сведений подсети отображается.

  6. В Информация о подсети области, щелкните Включить для IPv6 CIDR Блок.
  7. Щелкните 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. Дополнительная конфигурация не требуется.

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

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

      Рисунок 4 Соединение Ethernet


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

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


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

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

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

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


    2. (Optional) Выполните следующую команду в зависимости от ОС 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 версия 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-адресов в 30s, обратившись к Настройка длительности тайм‑аута для назначения 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-адреса для NIC:

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

      Пример:

      ./ipv6-setup-xxx --dev eth0

      Note
      • Чтобы включить динамическое назначение IPv6-адреса для всех NICs, выполните ./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 с, обратившись к Настройка длительности тайм‑аута назначения 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 перезапустить 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

        Если после отключения и повторного включения NIC не был назначен 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. (Optional) Для CentOS 7/CentOS 8 измените режим IPv6 link-local адреса расширенных NIC на EUI64.
        1. Выполните следующую команду, чтобы запросить информацию о NIC:

          nmcli con

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


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

          nmcli con modify "Wired connection 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 дополнительная конфигурация не требуется.

Setting the Timeout Duration for IPv6 Address Assignment

После настройки автоматического назначения IPv6-адресов на ECS работающей под управлением CentOS 6.x или Debian, ECS будет создан как частный образ. Когда этот образ используется для создания ECS в среде, где IPv6 недоступен, 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.