Настройка DHCPv6 для виртуальных машин LinuxConfigure DHCPv6 for Linux VMs

В некоторых образах виртуальных машин Linux в Azure Marketplace протокол DHCPv6 не настроен по умолчанию.Some of the Linux virtual-machine images in the Azure Marketplace do not have Dynamic Host Configuration Protocol version 6 (DHCPv6) configured by default. Для поддержки IPv6 в используемом дистрибутиве ОС Linux необходимо настроить DHCPv6.To support IPv6, DHCPv6 must be configured in the Linux OS distribution that you are using. Различные дистрибутивы Linux настраивают DHCPv6 различными способами, потому что они используют разные пакеты.The various Linux distributions configure DHCPv6 in a variety of ways because they use different packages.

Примечание

В недавно выпущенных образах SUSE Linux и CoreOS в Azure Marketplace протокол DHCPv6 предварительно настроен.Recent SUSE Linux and CoreOS images in the Azure Marketplace have been pre-configured with DHCPv6. При использовании этих образов дополнительные изменения не требуются.No additional changes are required when you use these images.

В этом документе описывается, как включить DHCPv6, чтобы виртуальная машина Linux получила IPv6-адрес.This document describes how to enable DHCPv6 so that your Linux virtual machine obtains an IPv6 address.

Предупреждение

Неправильное изменение файлов конфигурации сети может привести к тому, что виртуальная машина утратит доступ к сети.By improperly editing network configuration files, you can lose network access to your VM. Рекомендуется сначала протестировать изменения конфигурации на нерабочих системах.We recommended that you test your configuration changes on non-production systems. Приведенные в этой статье инструкции были протестированы на последних версиях образов Linux в Azure Marketplace.The instructions in this article have been tested on the latest versions of the Linux images in the Azure Marketplace. Подробные инструкции см. в документации к своей версии Linux.For more detailed instructions, consult the documentation for your own version of Linux.

UbuntuUbuntu

  1. Измените файл /etc/dhcp/dhclient6.conf и добавьте следующую строку:Edit the /etc/dhcp/dhclient6.conf file, and add the following line:

     timeout 10;
    
  2. Замените конфигурацию сети для интерфейса eth0 следующей конфигурацией:Edit the network configuration for the eth0 interface with the following configuration:

    • В Ubuntu 12.04 и 14.04 измените файл /etc/network/interfaces.d/eth0.cfg.On Ubuntu 12.04 and 14.04, edit the /etc/network/interfaces.d/eth0.cfg file.

    • В Ubuntu 16.04 измените файл /etc/network/interfaces.d/50-cloud-init.cfg.On Ubuntu 16.04, edit the /etc/network/interfaces.d/50-cloud-init.cfg file.

      iface eth0 inet6 auto
          up sleep 5
          up dhclient -1 -6 -cf /etc/dhcp/dhclient6.conf -lf /var/lib/dhcp/dhclient6.eth0.leases -v eth0 || true
      
  3. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo ifdown eth0 && sudo ifup eth0
    

Начиная с Ubuntu 17.10, механизм настройки сети по умолчанию является NETPLAN.Beginning with Ubuntu 17.10, the default network configuration mechanism is NETPLAN. Во время установки или создания экземпляра NETPLAN считывает конфигурацию сети из файлов конфигурации YAML в этом месте: / {lib,etc,run}/netplan/*.yaml.At install/instantiation time, NETPLAN reads network configuration from YAML configuration files at this location: /{lib,etc,run}/netplan/*.yaml.

Пожалуйста, включите dhcp6:true инструкции для каждого интерфейса ethernet в конфигурации.Please include a dhcp6:true statement for each ethernet interface in your configuration. Пример:For example:

    network:
      version: 2
      ethernets:
        eno1:
          dhcp6: true

Во время ранней загрузки netplan «сетевой модуль подготовки отчетов» записывает конфигурацию на/run для передачи управления устройствами, указанной сети управляющей программе справочные сведения о NETPLAN, см. в разделе https://netplan.io/reference.During early boot, the netplan “network renderer” writes configuration to /run to hand off control of devices to the specified networking daemon For reference information about NETPLAN, see https://netplan.io/reference.

DebianDebian

  1. Измените файл /etc/dhcp/dhclient6.conf и добавьте следующую строку:Edit the /etc/dhcp/dhclient6.conf file, and add the following line:

     timeout 10;
    
  2. Измените файл /etc/network/interfaces, добавив следующую конфигурацию:Edit the /etc/network/interfaces file, and add the following configuration:

     iface eth0 inet6 auto
         up sleep 5
         up dhclient -1 -6 -cf /etc/dhcp/dhclient6.conf -lf /var/lib/dhcp/dhclient6.eth0.leases -v eth0 || true
    
  3. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo ifdown eth0 && sudo ifup eth0
    

RHEL, CentOS и Oracle LinuxRHEL, CentOS, and Oracle Linux

  1. Измените файл /etc/sysconfig/network, добавив следующий параметр:Edit the /etc/sysconfig/network file, and add the following parameter:

     NETWORKING_IPV6=yes
    
  2. Измените файл /etc/sysconfig/network-scripts/ifcfg-eth0, добавив следующие два параметра:Edit the /etc/sysconfig/network-scripts/ifcfg-eth0 file, and add the following two parameters:

     IPV6INIT=yes
     DHCPV6C=yes
    
  3. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo ifdown eth0 && sudo ifup eth0
    

SLES 11 и openSUSE 13SLES 11 and openSUSE 13

В недавно выпущенных образах SUSE Linux Enterprise Server (SLES) и openSUSE в Azure протокол DHCPv6 предварительно настроен.Recent SUSE Linux Enterprise Server (SLES) and openSUSE images in Azure have been pre-configured with DHCPv6. При использовании этих образов дополнительные изменения не требуются.No additional changes are required when you use these images. Если у вас есть виртуальная машина, использующая более старый или пользовательский образ SUSE, то сделайте следующее.If you have a VM that's based on an older or custom SUSE image, do the following:

  1. При необходимости установите пакет dhcp-client :Install the dhcp-client package, if needed:

    sudo zypper install dhcp-client
    
  2. Измените файл /etc/sysconfig/network/ifcfg-eth0, добавив следующий параметр:Edit the /etc/sysconfig/network/ifcfg-eth0 file, and add the following parameter:

     DHCLIENT6_MODE='managed'
    
  3. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo ifdown eth0 && sudo ifup eth0
    

SLES 12 и openSUSE LeapSLES 12 and openSUSE Leap

В недавно выпущенных образах SLES и openSUSE в Azure протокол DHCPv6 предварительно настроен.Recent SLES and openSUSE images in Azure have been pre-configured with DHCPv6. При использовании этих образов дополнительные изменения не требуются.No additional changes are required when you use these images. Если у вас есть виртуальная машина, использующая более старый или пользовательский образ SUSE, то сделайте следующее.If you have a VM that's based on an older or custom SUSE image, do the following:

  1. Измените файл /etc/sysconfig/network/ifcfg-eth0 и замените параметр #BOOTPROTO='dhcp4' следующим значением:Edit the /etc/sysconfig/network/ifcfg-eth0 file, and replace the #BOOTPROTO='dhcp4' parameter with the following value:

     BOOTPROTO='dhcp'
    
  2. В файл /etc/sysconfig/network/ifcfg-eth0 добавьте следующий параметр:To the /etc/sysconfig/network/ifcfg-eth0 file, add the following parameter:

     DHCLIENT6_MODE='managed'
    
  3. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo ifdown eth0 && sudo ifup eth0
    

CoreOSCoreOS

В недавно выпущенных образах CoreOS в Azure протокол DHCPv6 предварительно настроен.Recent CoreOS images in Azure have been pre-configured with DHCPv6. При использовании этих образов дополнительные изменения не требуются.No additional changes are required when you use these images. Если у вас есть виртуальная машина, использующая более старый или пользовательский образ CoreOS, сделайте следующее.If you have a VM based on an older or custom CoreOS image, do the following:

  1. Измените файл /etc/systemd/network/10_dhcp.network:Edit the /etc/systemd/network/10_dhcp.network file:

     [Match]
     eth0
    
     [Network]
     DHCP=ipv6
    
  2. Обновите IPv6-адрес:Renew the IPv6 address:

    sudo systemctl restart systemd-networkd