Назначение статического IP-адреса с помощью nmcli

Вопрос или проблема

Итак, я пытаюсь присвоить ВМ статический IP-адрес, и этот случай особенно упрямый.

ВМ работает на кластере ESXi с собственным публичным диапазоном IP-адресов.

Мне (вроде как) удалось настроить его с IPv4-адресом, за исключением того, что он переопределялся при каждой загрузке, а теперь, после работы с nmcli, я не могу назначить ему никакой IPv4-адрес.

Интерфейс – ens32, и я изменил ipv4.addresses на XXX.XXX.120.44/24 (хочу, чтобы у него был адрес 120.44), шлюз на XXX.XXX.120.1 и установил его на ручной.

У кого-то есть идеи, почему это не работает? Все онлайн-руководства предназначены для старой сетевой службы, а не для NetworkManager.

Попробуйте:

# nmcli con add con-name "static-ens32" ifname ens32 type ethernet ip4 xxx.xxx.120.44/24 gw4 xxx.xxx.120.1
# nmcli con mod "static-ens32" ipv4.dns "xxx.xxx.120.1,8.8.8.8"
# nmcli con up "static-ens32"

Затем найдите другие соединения и удалите их. Например:

# nmcli con show
NAME         UUID                 TYPE           DEVICE
ens32        ff9804db5-........   802-3-ethernet --
static-ens32 a4b59cb4a-........   802-3-ethernet ens32
# nmcli con del ens32

При следующей перезагрузке вы должны увидеть соединение static-ens32, так как это единственное доступное.

Индивидуальный IPv4-адрес – это /32. /24 обозначает сеть, которая в данном случае будет XXX.XXX.120.[0-255]. Попробуйте изменить запись ipv4.address на XXX.XXX.120.44/32 и посмотрите, что произойдет. Если это не сработает, мне придется задать тот же вопрос, что и в комментариях – является ли NetworkManager обязательным, или мы можем настроить адрес другими способами?

Изменение с /32 (одиночный) на /24 (сеть) решило мою проблему с назначением диапазона ipv4.addresses и первого IP-адреса.

Я думаю, что “ручной” может быть проблемой в вашем случае. Ручной режим может сообщить nm, что он вообще не должен управлять, или не обрабатывать dhcp. Вы пробовали “общий”, а затем ipv4.addresses, а не ipv4.address1? Или, если выбрать ручной режим, то ipv4.address1 может быть правильным вместо ipv4.addresses.

Вы смотрели в /var/log/syslog? dnsmasq в моем случае говорил, что 32 слишком мал, и nmcli отобразил “слишком малое” в выводе ошибок.

Ответ или решение

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

Шаг 1: Настройка статического IP-адреса

  1. Создайте новый профиль соединения:
    Используйте команду nmcli для создания нового соединения. Убедитесь, что вы заменили XXX.XXX.120.44 и XXX.XXX.120.1 на ваш статический IP-адрес и шлюз соответственно.

    nmcli con add con-name "static-ens32" ifname ens32 type ethernet ip4 XXX.XXX.120.44/24 gw4 XXX.XXX.120.1
  2. Настройте DNS-сервер:
    Добавьте DNS-серверы, которые будут использоваться вашему VM. В примере ниже используются два DNS-сервера, один из них внутренний (ваш), а другой — общедоступный (Google):

    nmcli con mod "static-ens32" ipv4.dns "XXX.XXX.120.1,8.8.8.8"
  3. Активируйте новое соединение:
    После завершения настроек подключитесь к новому профилю:

    nmcli con up "static-ens32"

Шаг 2: Удалите старые соединения

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

  1. Просмотрите текущие подключения:

    nmcli con show
  2. Удалите неактуальное соединение:
    Например, если у вас есть подключение под именем ens32, удалите его:

    nmcli con del ens32

Шаг 3: Проверка и устранение неполадок

  1. Проверьте настройки:
    Убедитесь, что адрес и шлюз настроены правильно. Вы можете использовать следующую команду для проверки:

    nmcli con show "static-ens32"
  2. Проверка журналов:
    Если что-то идет не так, просмотрите системные журналы для получения деталей, например:

    sudo journalctl -xe | grep NetworkManager

    Обратите внимание на возможные ошибки или предупреждения, которые могут помочь в диагностике.

  3. Параметр "manual" и "shared":
    Если использование параметра "manual" не работает, попробуйте изменить его на "shared". В таком случае, настраивайте IP-адреса через ipv4.addresses, а не ipv4.address1. Это может изменить поведение NetworkManager.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...