Поделиться через


Назначение нескольких IP-адресов виртуальным машинам с помощью портала Azure

Виртуальная машина Azure, к которой подключены один или несколько сетевых интерфейсов. Каждому такому адаптеру статически или динамически назначается один или несколько общедоступных или частных IP-адресов.

Назначение нескольких IP-адресов виртуальной машине дает следующие возможности:

  • Возможность размещать на одном сервере несколько веб-сайтов или служб с разными IP-адресами и TLS/SSL-сертификатами.
  • возможность использовать виртуальную машину в качестве виртуального сетевого устройства, такого как брандмауэр или балансировщик нагрузки.
  • Возможность добавлять любые (первичные или вторичные) частные IP-адреса сетевых адаптеров в пул серверов Azure Load Balancer. Дополнительные сведения о балансировке нагрузки нескольких IP-конфигураций см. в разделе Балансировка нагрузки нескольких IP-конфигураций и правила исходящего трафика.

Каждому сетевому адаптеру, подключенному к виртуальной машине, присвоена одна или несколько конфигураций IP-адресов. Каждая конфигурация получает один статический или динамический частный IP-адрес. Кроме того, каждой конфигурации также может быть присвоен один ресурс общедоступного IP-адреса. Дополнительные сведения о IP-адресах в Azure см. в разделе IP-адреса в Azure.

Note

Все конфигурации IP-адресов на одной сетевой карте должны быть связаны с одной подсетью. Если желательно использовать несколько IP-адресов в разных подсетях, может использоваться несколько сетевых интерфейсов на виртуальной машине. Дополнительные сведения о нескольких сетевых адаптерах на виртуальной машине в Azure см. в статье Create VM с несколькими сетевыми адаптерами.

Сетевой карте может быть назначено ограниченное число частных IP-адресов. Существует также ограничение на количество общедоступных IP-адресов, которые можно использовать в подписке Azure. Дополнительные сведения см. в статье об ограничениях Azure.

В этой статье объясняется, как добавить несколько IP-адресов на виртуальную машину с помощью портала Azure.

Note

Если вы хотите создать виртуальную машину с несколькими IP-адресами или статическим частным IP-адресом, необходимо создать ее с помощью PowerShell или Azure CLI.

Prerequisites

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .

  • Существующая Azure виртуальная машина с общедоступным IP-адресом. Дополнительные сведения о создании виртуальной машины см. в статье Создать виртуальную машину Windows или Создать виртуальную машину Linux.

    • Пример, используемый в этой статье, называется myVM. Замените это значение именем вашей виртуальной машины.
    • Виртуальные машины Windows Server требуют открытия порта 3389 для подключений по протоколу удаленного рабочего стола (RDP). Виртуальные машины Linux требуют, чтобы порт 22 был открыт для подключений Secure Shell (SSH).
  • Экземпляр Azure Bastion, развернутый для управления виртуальными машинами в той же подсети, что и виртуальная машина. Дополнительные сведения см. в статье Автоматическое развертывание Azure Bastion

Note

Хотя шаги, описанные в этой статье, назначаются всем IP-конфигурациям одной сетевой карты, можно также назначить несколько IP-конфигураций любому сетевому адаптеру на виртуальной машине с несколькими сетевыми картами. Дополнительные сведения см. в статье Создание виртуальной машины с несколькими сетевыми картами.

Схема: ресурсы конфигурации сети, созданные по инструкциям из практического руководства.

Рисунок. Схема ресурсов конфигурации сети, созданных в этой статье.

Important

Избегайте нарушения подключения при добавлении IP-адресов
При добавлении дополнительных IP-конфигураций на виртуальную машину не требуется преобразовать существующий (основной) частный IP-адрес из Dynamic в статический.

Изменение основного типа выделения IP-адресов может нарушить подключение RDP/SSH и может потребовать действий по восстановлению, таких как добавление временного IP-адреса. Это не требуется, если ваша цель заключается только в добавлении вторичных IP-адресов.

Рекомендуемый подход:

  • Оставьте основную частную IP-конфигурацию без изменений.
  • Добавьте новые вторичные IP-конфигурации (статические или динамические) непосредственно в сетевой адаптер.
  • Только измените первичный IP-адрес на статический, если фиксированный первичный адрес является явным образом обязательным, и вы понимаете влияние.

Добавление общедоступного и частного IP-адреса к виртуальной машине

Вы можете добавить частный и общедоступный IP-адрес в сетевой интерфейс Azure, выполнив следующие действия.

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите виртуальную машину. Выберите виртуальные машины в результатах поиска.

  3. На виртуальных машинах выберите myVM или имя виртуальной машины.

  4. Выберите параметры сети в разделе "Сеть".

  5. В параметрах сети выберите имя сетевого интерфейса и IP-конфигурации виртуальной машины в раскрывающемся меню сетевого интерфейса или IP-конфигурации . Отобразится существующая IP-конфигурация. В этом примере он называется myvm138_z1 (primary) / ipconfig1 (primary).

    Снимок экрана: сеть myVM и выбор сетевого интерфейса.

  6. В конфигурациях IP-адресов нажмите кнопку +Добавить , чтобы создать новую вторичную IP-конфигурацию.

  7. В разделе Добавить конфигурацию IP введите или выберите следующие сведения:

    Setting Value
    Name Введите ipconfig2.
    Параметры частного IP-адреса
    Allocation Выберите "Статический".
    Частный IP-адрес Введите неиспользуемый адрес в сети для виртуальной машины.
    Для подсети 10.1.0.0/24 в примере IP-адрес будет иметь значение 10.1.0.5.
    Общедоступный IP-адрес Выберите "Связать общедоступный IP-адрес"
    Общедоступный IP-адрес Выберите " Создать общедоступный IP-адрес".
    Введите public-ip-02 в поле "Имя".
    Выберите Стандарт в SKU.
    Нажмите кнопку ОК.
  8. Нажмите ОК.

Note

При добавлении статического IP-адреса укажите неиспользуемый и допустимый адрес в подсети.
Это относится только к новой вторичной IP-конфигурации. Основной IP-конфигурации не требуется изменять.

Important

Перезагрузка виртуальной машины необходима для распознавания только что добавленных IP-адресов операционной системы.
Добавление дополнительных IP-конфигураций не требует изменения основного выделения IP-адресов и не нарушает существующее подключение.

Добавление частного IP-адреса в виртуальную машину

Частный IP-адрес можно добавить к виртуальной машине, выполнив следующие действия.

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите виртуальную машину. Выберите виртуальные машины в результатах поиска.

  3. На виртуальных машинах выберите myVM или имя виртуальной машины.

  4. Выберите "Сеть" в параметрах.

  5. Выберите имя сетевого интерфейса виртуальной машины. В этом примере оно называется myvm889_z1.

    Снимок экрана: сеть myVM и выбор сетевого интерфейса.

  6. В сетевом интерфейсе выберите IP-конфигурации в разделе "Параметры".

  7. Отобразится существующая IP-конфигурация. Эта конфигурация создается при создании виртуальной машины. Чтобы добавить частный и общедоступный IP-адрес на виртуальную машину, нажмите кнопку +Добавить.

  8. В разделе Добавить конфигурацию IP введите или выберите следующие сведения:

    Setting Value
    Name Введите ipconfig3.
    Параметры частного IP-адреса
    Allocation Выберите "Статический".
    IP address Введите неиспользуемый адрес в сети для виртуальной машины.
    Для подсети 10.1.0.0/24 в примере IP-адрес будет иметь значение 10.1.0.6.
  9. Нажмите ОК.

Note

При добавлении статического IP-адреса укажите неиспользуемый и допустимый адрес в подсети.
Это относится только к новой вторичной IP-конфигурации. Основной IP-конфигурации не требуется изменять.

Important

Перезагрузка виртуальной машины необходима для распознавания только что добавленных IP-адресов операционной системы.
Добавление дополнительных IP-конфигураций не требует изменения основного выделения IP-адресов и не нарушает существующее подключение.

Добавление IP-адресов в операционную систему виртуальной машины

Подключитесь к виртуальной машине, созданной с несколькими частными IP-адресами, и войдите на нее. Все частные IP-адреса (включая первичные), добавленные в виртуальную машину, необходимо добавить вручную. Выполните следующие шаги в соответствии с операционной системой виртуальной машины.

Windows Server

Расширять
  1. Откройте командную строку или PowerShell.

  2. Введите ipconfig /all в командной строке. Вы увидите основной частный IP-адрес, назначенный через DHCP.

  3. Введите ncpa.cpl в командной строке, чтобы открыть конфигурацию сетевых подключений .

  4. Откройте свойства сетевого адаптера, назначенные новым IP-адресам.

  5. Дважды щелкните Протокол Интернета версии 4 (TCP/IPv4).

  6. Выберите параметр Использовать следующий IP-адрес. Введите следующие значения.

    Setting Value
    IP-адрес: Введите основной частный IP-адрес.
    Маска подсети: Введите маску подсети на основе IP-адреса.
    Например, если подсеть является подсетью /24 , маска подсети — 255.255.255.0.
    Шлюз по умолчанию: первый IP-адрес в подсети.
    Если подсеть имеет значение 10.0.0.0/24, IP-адрес шлюза равен 10.0.0.1.
  7. Выберите параметр Использовать следующие адреса DNS-серверов. Введите следующие значения.

    Setting Value
    Предпочитаемый DNS-сервер: Введите основной DNS-сервер.
    Введите IP-адрес 168.63.129.16 для использования DNS, предоставленного Azure по умолчанию.
  8. Нажмите кнопку "Дополнительно ".

  9. Нажмите кнопку "Добавить".

  10. Введите частный адрес IP, добавленный в сетевой интерфейс Azure. Введите соответствующую маску подсети. Нажмите кнопку "Добавить".

  11. Повторите предыдущие шаги, чтобы добавить дополнительные частные IP-адреса, добавленные в сетевой интерфейс Azure.

Important

Вы никогда не должны вручную назначать общедоступный IP-адрес, назначенный виртуальной машине Azure в операционной системе виртуальной машины. При ручном настройке IP-адреса в операционной системе убедитесь, что он тот же адрес, что и частный IP-адрес, назначенный сетевому интерфейсу Azure. Неправильное назначение адреса может привести к потере подключения к виртуальной машине. Дополнительные сведения см. в разделе Изменение параметров IP-адреса.

Дополнительные сведения см. в разделе Частный IP-адрес.

  1. Нажмите кнопку "ОК" , чтобы закрыть параметры вторичного IP-адреса.

  2. Нажмите кнопку "ОК" , чтобы закрыть параметры адаптера. Соединение RDP восстанавливается.

  3. Откройте командную строку или PowerShell.

  4. Введите ipconfig /all в командной строке.

  5. Убедитесь, что в конфигурации присутствуют первичные и вторичные частные IP-адреса.

    PS C:\Users\azureuser> ipconfig /all
    
    Windows IP Configuration
    
       Host Name . . . . . . . . . . . . : myVM
       Primary Dns Suffix  . . . . . . . :
       Node Type . . . . . . . . . . . . : Hybrid
       IP Routing Enabled. . . . . . . . : No
       WINS Proxy Enabled. . . . . . . . : No
    
    Ethernet adapter Ethernet:
    
       Connection-specific DNS Suffix  . :
       Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter
       Physical Address. . . . . . . . . : 00-0D-3A-E6-CE-A3
       DHCP Enabled. . . . . . . . . . . : No
       Autoconfiguration Enabled . . . . : Yes
       Link-local IPv6 Address . . . . . : fe80::a8d1:11d5:3ab2:6a51%5(Preferred)
       IPv4 Address. . . . . . . . . . . : 10.1.0.4(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.5(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       IPv4 Address. . . . . . . . . . . : 10.1.0.6(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 10.1.0.1
       DHCPv6 IAID . . . . . . . . . . . : 100666682
       DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-A8-26-B1-00-0D-3A-E6-CE-A3
       DNS Servers . . . . . . . . . . . : 168.63.129.16
       NetBIOS over Tcpip. . . . . . . . : Enabled
    
  6. Убедитесь, что основной частный IP-адрес, используемый в windows, совпадает с основным IP-адресом сетевого интерфейса Azure виртуальной машины. Для получения дополнительной информации см. статью Отсутствие доступа в Интернет с Azure Windows VM с несколькими IP-адресами.

Проверка (Windows Server)

Чтобы проверить подключение к Интернету из вторичной IP-конфигурации через общедоступный IP-адрес, используйте следующую команду: Замените 10.1.0.5 дополнительным частным IP-адресом, добавленным в сетевой интерфейс Azure виртуальной машины.

ping -S 10.1.0.5 outlook.com

Note

Для вторичных IP-конфигураций можно выполнить команду ping до Интернета, если с конфигурацией связан общедоступный IP-адрес. Для первичных IP-конфигураций общедоступный IP-адрес не требуется для выполнения команды ping до Интернета.

SUSE Linux Enterprise и openSUSE

Расширять Дистрибутивы на основе SUSE используют подключаемый cloud-netconfig модуль из cloud-netconfig-azure пакета для управления IP-конфигурацией. Никаких действий, выполняемых вручную, не требуется от имени администратора. Первый IP-адрес интерфейса, установленного на платформе, назначается через DHCP. Затем подключаемый модуль cloud-netconfig проверяет API службы метаданных экземпляра Azure непрерывно (один раз в минуту) для получения дополнительных IP-адресов, назначенных интерфейсу, и добавляет и удаляет их в качестве вторичных IP-адресов автоматически.

Этот плагин должен быть установлен и включен на новых изображениях по умолчанию. Ниже приведены шаги по настройке старых рабочих нагрузок. https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/

Ubuntu 14/16

Расширять

Рекомендуем ознакомиться с последней версией документации к своей версии Linux.

  1. Откройте окно терминала.

  2. Убедитесь, что у вас есть права привилегированного пользователя. В противном случае введите следующую команду:

    sudo -i
    
  3. Обновите файл конфигурации сетевого интерфейса (предполагая ‘eth0’).

    • Сохраните имеющийся элемент строки для DHCP. Основной IP-адрес остается настроенным, как и ранее.

    • Добавьте конфигурацию для другого статического IP-адреса со следующими командами:

      cd /etc/network/interfaces.d/
      ls
      

      Вы должны увидеть .cfg файл.

  4. Откройте файл . В конце этого файла будут следующие строки:

    auto eth0
    iface eth0 inet dhcp
    
  5. Добавьте следующие строки после имеющихся строк в файле. Замените 10.1.0.5 своим частным IP-адресом и маской подсети.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Чтобы добавить другие частные IP-адреса, измените файл и добавьте новые частные IP-адреса в последующих строках:

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. Сохраните файл с помощью следующей команды:

    :wq
    
  7. Сбросьте сетевой интерфейс, выполнив следующую команду:

    ifdown eth0 && ifup eth0
    

    Important

    Если используется удаленное подключение, выполните скрипты ifdown и ifup в одной и той же строке.

  8. Проверьте, добавлен ли IP-адрес к сетевому интерфейсу, с помощью следующей команды:

    ip addr list eth0
    

    Должен отобразиться IP-адрес, добавленный как часть списка. Example:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Проверка (Ubuntu 14/16)

Чтобы убедиться, что вы можете подключиться к Интернету с помощью вторичной IP-конфигурации через связанный с ней общедоступный IP-адрес, используйте следующую команду:

ping -I 10.1.0.5 outlook.com

Note

Для вторичных IP-конфигураций пинг до Интернета возможен только в том случае, если с конфигурацией связан общедоступный IP-адрес. Для первичных IP-конфигураций общедоступный IP-адрес не требуется для выполнения команды ping до Интернета.

При проверке исходящего подключения из вторичного сетевого интерфейса для виртуальных машин Linux может потребоваться добавить соответствующие маршруты. Дополнительные сведения о дистрибутиве Linux см. в соответствующей документации. Следующий метод для достижения этой цели:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Убедитесь, что заменили:

    • 10.1.0.5 с частным IP-адресом, которому соответствует общедоступный IP-адрес

    • 10.1.0.1 для шлюза по умолчанию

    • eth2 для названия вашей вторичной сетевой карты

Ubuntu 18.04+

Расширять

Начиная с версии 18.04, netplan используется в Ubuntu для управления сетями. Рекомендуем ознакомиться с последней версией документации к своей версии Linux.

  1. Откройте окно терминала.

  2. Убедитесь, что у вас есть права привилегированного пользователя. В противном случае введите следующую команду:

    sudo -i
    
  3. Создайте файл для второго интерфейса и откройте его в текстовом редакторе:

    vi /etc/netplan/60-static.yaml
    
  4. Добавьте в файл перечисленные ниже строки, заменив 10.1.0.5/24 своим IP-адресом и маской подсети:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
    

    Чтобы добавить частные IP-адреса, измените файл и добавьте новые частные IP-адреса в последующих строках:

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.1.0.5/24
                    - 10.1.0.6/24
    
  5. Сохраните файл с помощью следующей команды:

    :wq
    
  6. Проверьте изменения с помощью команды netplan try, чтобы подтвердить синтаксис:

    netplan try
    

    Note

    netplan try применит изменения временно и откатит изменения через 120 секунд. Если есть потеря подключения, подождите 2 минуты, а затем снова подключитесь. По истечении этого периода произойдет откат внесенных изменений.

  7. Убедившись в отсутствии неполадок с помощью команды netplan try, примените следующие изменения конфигурации:

    netplan apply
    
  8. Проверьте, добавлен ли IP-адрес к сетевому интерфейсу, с помощью следующей команды:

    ip addr list eth0
    

    Должен отобразиться IP-адрес, добавленный как часть списка. Example:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Проверка (Ubuntu 18.04+)

Чтобы убедиться, что вы можете подключиться к Интернету с помощью вторичной IP-конфигурации через связанный с ней общедоступный IP-адрес, используйте следующую команду:

ping -I 10.1.0.5 outlook.com

Note

Для вторичных IP-конфигураций пинг до Интернета возможен только в том случае, если с конфигурацией связан общедоступный IP-адрес. Для первичных IP-конфигураций общедоступный IP-адрес не требуется для выполнения команды ping до Интернета.

При валидации исходящего подключения через вторичный сетевой адаптер для виртуальных машин Linux может потребоваться добавить соответствующие маршруты. Следуйте соответствующей документации по дистрибутиву Linux. Следующий метод является одним из способов достижения этой цели:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Замените:

    • 10.1.0.5 с частным IP-адресом, которому соответствует общедоступный IP-адрес

    • 10.1.0.1 для шлюза по умолчанию

    • eth2 для названия вашей вторичной сетевой карты

Red Hat Enterprise Linux и другие

Расширять

Note

Чтобы настроить дополнительные IP-адреса в RHEL10.x, достаточно перезапустить NetworkManger с помощью: systemctl restart NetworkManger.service или перезагрузить систему. Больше никаких действий не требуется.

RHEL 8.6 и выше, RHEL 9

Начиная с RHEL 8.6 и выше и RHEL 9 пакет networkmanager-cloud-setup может обрабатывать несколько IP-конфигураций и связанную конфигурацию маршрута.

  1. Отключен cloud-init для обработки вторичной IP-конфигурации в соответствующих файлах /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg или /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg. Это позволит NetworkManager и nm-cloud-setup управлять всей конфигурацией сети.
[root@rhel8 ~]# cat /etc/cloud/cloud.cfg.d/99-apply-network-config.cfg
datasource:
  Azure:
     apply_network_config: False
  1. Установите пакет NetworkManager-cloud-setup, если он еще не установлен
]# yum install NetworkManager-cloud-setup
Red Hat Enterprise Linux 8 for x86_64 - BaseOS from RHUI (RPMs)                                                                                                39 MB/s |  66 MB     00:01
Red Hat Enterprise Linux 8 for x86_64 - Supplementary (RPMs) from RHUI                                                                                        2.3 MB/s | 340 kB     00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (RPMs)                                                                                             41 MB/s |  60 MB     00:01
Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) from RHUI                                                                                             33 MB/s | 8.9 MB     00:00
Red Hat Ansible Engine 2 for RHEL 8 x86_64 (RPMs) from RHUI                                                                                                    14 MB/s | 2.5 MB     00:00
Dependencies resolved.
==============================================================================================================================================================================================
 Package                                           Architecture                  Version                                   Repository                                                    Size
==============================================================================================================================================================================================
Installing:
 NetworkManager-cloud-setup                        x86_64                        1:1.40.16-13.el8_9                        rhel-8-for-x86_64-appstream-rhui-rpms                        198 k
Upgrading:
 NetworkManager                                    x86_64                        1:1.40.16-13.el8_9                        rhel-8-for-x86_64-baseos-rhui-rpms                           2.3 M
 NetworkManager-libnm                              x86_64                        1:1.40.16-13.el8_9                        rhel-8-for-x86_64-baseos-rhui-rpms                           1.9 M
 NetworkManager-team                               x86_64                        1:1.40.16-13.el8_9                        rhel-8-for-x86_64-baseos-rhui-rpms                           161 k
 NetworkManager-tui                                x86_64                        1:1.40.16-13.el8_9                        rhel-8-for-x86_64-baseos-rhui-rpms                           356 k

Transaction Summary
==============================================================================================================================================================================================
Install  1 Package
Upgrade  4 Packages

Total download size: 4.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): NetworkManager-cloud-setup-1.40.16-13.el8_9.x86_64.rpm                                                                                                 2.0 MB/s | 198 kB     00:00
(2/5): NetworkManager-1.40.16-13.el8_9.x86_64.rpm                                                                                                              18 MB/s | 2.3 MB     00:00
(3/5): NetworkManager-team-1.40.16-13.el8_9.x86_64.rpm                                                                                                        4.1 MB/s | 161 kB     00:00
(4/5): NetworkManager-libnm-1.40.16-13.el8_9.x86_64.rpm                                                                                                        12 MB/s | 1.9 MB     00:00
(5/5): NetworkManager-tui-1.40.16-13.el8_9.x86_64.rpm                                                                                                         8.8 MB/s | 356 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                          28 MB/s | 4.9 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                      1/1
  Running scriptlet: NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64                                                                                                                       1/1
  Upgrading        : NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64                                                                                                                       1/9
  Running scriptlet: NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64                                                                                                                       1/9
  Running scriptlet: NetworkManager-1:1.40.16-13.el8_9.x86_64                                                                                                                             2/9
  Upgrading        : NetworkManager-1:1.40.16-13.el8_9.x86_64                                                                                                                             2/9
  Running scriptlet: NetworkManager-1:1.40.16-13.el8_9.x86_64                                                                                                                             2/9
  Installing       : NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64                                                                                                                 3/9
  Running scriptlet: NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64                                                                                                                 3/9
  Upgrading        : NetworkManager-team-1:1.40.16-13.el8_9.x86_64                                                                                                                        4/9
  Upgrading        : NetworkManager-tui-1:1.40.16-13.el8_9.x86_64                                                                                                                         5/9
  Cleanup          : NetworkManager-tui-1:1.40.0-1.el8.x86_64                                                                                                                             6/9
  Cleanup          : NetworkManager-team-1:1.40.0-1.el8.x86_64                                                                                                                            7/9
  Running scriptlet: NetworkManager-1:1.40.0-1.el8.x86_64                                                                                                                                 8/9
  Cleanup          : NetworkManager-1:1.40.0-1.el8.x86_64                                                                                                                                 8/9
  Running scriptlet: NetworkManager-1:1.40.0-1.el8.x86_64                                                                                                                                 8/9
  Cleanup          : NetworkManager-libnm-1:1.40.0-1.el8.x86_64                                                                                                                           9/9
  Running scriptlet: NetworkManager-libnm-1:1.40.0-1.el8.x86_64                                                                                                                           9/9
  Verifying        : NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64                                                                                                                 1/9
  Verifying        : NetworkManager-1:1.40.16-13.el8_9.x86_64                                                                                                                             2/9
  Verifying        : NetworkManager-1:1.40.0-1.el8.x86_64                                                                                                                                 3/9
  Verifying        : NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64                                                                                                                       4/9
  Verifying        : NetworkManager-libnm-1:1.40.0-1.el8.x86_64                                                                                                                           5/9
  Verifying        : NetworkManager-team-1:1.40.16-13.el8_9.x86_64                                                                                                                        6/9
  Verifying        : NetworkManager-team-1:1.40.0-1.el8.x86_64                                                                                                                            7/9
  Verifying        : NetworkManager-tui-1:1.40.16-13.el8_9.x86_64                                                                                                                         8/9
  Verifying        : NetworkManager-tui-1:1.40.0-1.el8.x86_64                                                                                                                             9/9
Installed products updated.

Upgraded:
  NetworkManager-1:1.40.16-13.el8_9.x86_64   NetworkManager-libnm-1:1.40.16-13.el8_9.x86_64   NetworkManager-team-1:1.40.16-13.el8_9.x86_64   NetworkManager-tui-1:1.40.16-13.el8_9.x86_64
Installed:
  NetworkManager-cloud-setup-1:1.40.16-13.el8_9.x86_64

Complete!
  1. Чтобы включить "nm-cloud-setup" для обработки вторичной IP-конфигурации, создайте nm-cloud-setup.service и nm-cloud-setup.timer (настройте параметры OnBootSec и OnUnitActiveSec в соответствии с вашими требованиями)
[root@rhel8 ~]# cat /etc/systemd/system/nm-cloud-setup.service
[Unit]
Description=Automatically configure NetworkManager in cloud
Documentation=man:nm-cloud-setup(8)
Before=network-online.target
After=NetworkManager.service

[Service]
Environment=NM_CLOUD_SETUP_AZURE=yes
Type=oneshot
ExecStart=/usr/libexec/nm-cloud-setup

[Install]
WantedBy=NetworkManager.service
[root@rhel8 ~]# cat /etc/systemd/system/nm-cloud-setup.timer
[Unit]
Description=Periodically run nm-cloud-setup

[Timer]
OnBootSec=1min
OnUnitActiveSec=1min

[Install]
WantedBy=timers.target

  1. Активировать службы и перезагрузить демон
systemctl enable --now nm-cloud-setup.service
systemctl start nm-cloud-setup.service
systemctl enable --now nm-cloud-setup.timer
systemctl daemon-reload
  1. Перезагрузите виртуальную машину и проверьте ее. Теперь виртуальная машина должна успешно определить соответствующие первичные и вторичные IP-адреса.

RHEL 8.5 и ниже

  1. Откройте окно терминала.

  2. Убедитесь, что у вас есть права привилегированного пользователя. В противном случае введите следующую команду:

    sudo -i
    
  3. Введите пароль и следуйте инструкциям. После того как вы станете привилегированным пользователем, перейдите к папке сетевых скриптов, используя следующую команду:

    cd /etc/sysconfig/network-scripts
    
  4. Выведите список связанных IFCFG-файлов, используя следующую команду:

    ls ifcfg-*
    

    Вы должны увидеть ifcfg-eth0 как один из файлов.

  5. Создайте новый файл конфигурации для каждого IP-адреса, добавленного в систему.

    touch ifcfg-eth0:0
    
  6. Откройте файл ifcfg-eth0:0 с помощью следующей команды:

    vi ifcfg-eth0:0
    
  7. Добавьте содержимое в файл eth0:0 в этом случае с помощью следующей команды. Замените 10.1.0.5 новым частным IP-адресом и маской подсети.

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.5
    NETMASK=255.255.255.0
    
  8. Сохраните файл, используя следующую команду:

    :wq
    
  9. Создайте файл конфигурации для каждого IP-адреса, чтобы добавить соответствующие значения:

    touch ifcfg-eth0:1
    
    vi ifcfg-eth0:1
    
    DEVICE=eth0:1
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.1.0.6
    NETMASK=255.255.255.0
    
    :wq
    
  10. Перезапустите сетевые службы и убедитесь, что изменения вступили в силу, выполнив следующие команды:

    systemctl restart NetworkManager.service
    ifconfig
    

    В возвращенном списке вы должны увидеть IP-адрес или адреса, которые вы добавили.

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.4  netmask 255.255.255.0  broadcast 10.1.0.255
        inet6 fe80::6245:bdff:fe7d:704a  prefixlen 64  scopeid 0x20<link>
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
        RX packets 858  bytes 244215 (238.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1021  bytes 262077 (255.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.5  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    
    eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.0.6  netmask 255.255.255.0  broadcast 10.1.0.255
        ether 60:45:bd:7d:70:4a  txqueuelen 1000  (Ethernet)
    

Проверка (Red Hat и другие)

Чтобы убедиться, что вы можете подключиться к Интернету с помощью вторичной IP-конфигурации через связанный с ней общедоступный IP-адрес, используйте следующую команду:

ping -I 10.0.0.5 outlook.com

Note

Для вторичных IP-конфигураций пинг до Интернета возможен только в том случае, если с конфигурацией связан общедоступный IP-адрес. Для первичных IP-конфигураций общедоступный IP-адрес не требуется для выполнения команды ping до Интернета.

При проверке исходящего подключения из вторичного сетевого интерфейса для виртуальных машин Linux может потребоваться добавить соответствующие маршруты. См. соответствующую документацию для дистрибутива Linux. Следующий метод для достижения этой цели:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Убедитесь, что заменили:

    • 10.0.0.5 с частным IP-адресом с общедоступным IP-адресом, связанным с ним

    • 10.0.0.1 для шлюза по умолчанию

    • eth2 для названия вашей вторичной сетевой карты

Debian GNU/Linux

Расширять

Рекомендуем ознакомиться с последней версией документации к своей версии Linux.

  1. Откройте окно терминала.

  2. Убедитесь, что у вас есть права привилегированного пользователя. В противном случае введите следующую команду:

    sudo -i
    
  3. Обновите файл конфигурации сетевого интерфейса (предполагая ‘eth0’).

    • Сохраните имеющийся элемент строки для DHCP. Основной IP-адрес остается настроенным, как и ранее.

    • Добавьте конфигурацию для каждого статического IP-адреса с помощью следующих команд:

      cd /etc/network/interfaces.d/
      ls
      

      Вы должны увидеть .cfg файл.

  4. Откройте файл . В конце этого файла будут следующие строки:

    auto eth0
    iface eth0 inet dhcp
    
  5. Добавьте следующие строки после имеющихся строк в файле. Замените 10.1.0.5 своим частным IP-адресом и маской подсети.

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    

    Добавьте новые ip-адреса в файл конфигурации:

    iface eth0 inet static
    address 10.1.0.5
    netmask 255.255.255.0
    iface eth0 inet static
    address 10.1.0.6
    netmask 255.255.255.0
    
  6. Сохраните файл с помощью следующей команды:

    :wq
    
  7. Перезапустите службы сети, чтобы изменения вступили в силу. Для Debian 8 и более поздних версий используйте:

    systemctl restart networking
    

    Для предыдущих версий Debian можно использовать следующие команды:

    service networking restart
    
  8. Проверьте, добавлен ли IP-адрес к сетевому интерфейсу, с помощью следующей команды:

    ip addr list eth0
    

    Должен отобразиться IP-адрес, добавленный как часть списка. Example:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:04:45:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.5/24 brd 10.1.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.6/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet 10.1.0.4/24 brd 10.1.0.255 scope global secondary eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe04:4516/64 scope link
       valid_lft forever preferred_lft forever
    

Проверка (Debian GNU/Linux)

Чтобы убедиться, что вы можете подключиться к Интернету с помощью вторичной IP-конфигурации через связанный с ней общедоступный IP-адрес, используйте следующую команду:

ping -I 10.1.0.5 outlook.com

Note

Для вторичных IP-конфигураций пинг до Интернета возможен только в том случае, если с конфигурацией связан общедоступный IP-адрес. Для первичных IP-конфигураций общедоступный IP-адрес не требуется для выполнения команды ping до Интернета.

При проверке исходящего подключения из вторичного сетевого интерфейса для виртуальных машин Linux может потребоваться добавить соответствующие маршруты. Дополнительные сведения о дистрибутиве Linux см. в соответствующей документации. Следующий метод для достижения этой цели:

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.1.0.5 lookup custom
ip route add default via 10.1.0.1 dev eth2 table custom
  • Убедитесь, что заменили:

    • 10.1.0.5 с частным IP-адресом, которому соответствует общедоступный IP-адрес

    • 10.1.0.1 для шлюза по умолчанию

    • eth2 для названия вашей вторичной сетевой карты

Дальнейшие шаги