Вопрос или проблема
Итак, я пытаюсь присвоить ВМ статический 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-адреса
-
Создайте новый профиль соединения:
Используйте команду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
-
Настройте DNS-сервер:
Добавьте DNS-серверы, которые будут использоваться вашему VM. В примере ниже используются два DNS-сервера, один из них внутренний (ваш), а другой — общедоступный (Google):nmcli con mod "static-ens32" ipv4.dns "XXX.XXX.120.1,8.8.8.8"
-
Активируйте новое соединение:
После завершения настроек подключитесь к новому профилю:nmcli con up "static-ens32"
Шаг 2: Удалите старые соединения
Чтобы избежать конфликтов, убедитесь, что старые подключения, которые могут обрабатывать интерфейс ens32
, удалены:
-
Просмотрите текущие подключения:
nmcli con show
-
Удалите неактуальное соединение:
Например, если у вас есть подключение под именемens32
, удалите его:nmcli con del ens32
Шаг 3: Проверка и устранение неполадок
-
Проверьте настройки:
Убедитесь, что адрес и шлюз настроены правильно. Вы можете использовать следующую команду для проверки:nmcli con show "static-ens32"
-
Проверка журналов:
Если что-то идет не так, просмотрите системные журналы для получения деталей, например:sudo journalctl -xe | grep NetworkManager
Обратите внимание на возможные ошибки или предупреждения, которые могут помочь в диагностике.
-
Параметр "manual" и "shared":
Если использование параметра "manual" не работает, попробуйте изменить его на "shared". В таком случае, настраивайте IP-адреса черезipv4.addresses
, а неipv4.address1
. Это может изменить поведение NetworkManager.
Заключение
Следуя данным шагам, вы сможете успешно назначить статический IP-адрес для виртуального сервера в вашей среде ESXi. Если возникнут дополнительные вопросы, не стесняйтесь исследовать дополнительные ресурсы из документации NetworkManager или задавать вопросы на форумах сообщества.
Обеспечьте обновление конфигурации после каждого изменения и не забудьте перезагрузить систему либо интерфейс для применения новых настроек, если это потребуется.