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


14

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

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

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

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

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


Таким образом, это должно быть через сетевой менеджер любой ценой?
phk

1
Или есть DHCP доступный? Это бы оттолкнуло сложность на DHCP-сервер и потребовало бы только того, чтобы узел использовал DHCP.
thrig

Надеюсь, вы не возражаете, но я изменил название на более общее.
garethTheRed

@phk fedora 23 не любит, когда вы включаете сеть, и поэтому вы не можете использовать более старую систему конфигурации
Space Bear

У вас нет нмтуи?
TheLovelySausage

Ответы:


25

Пытаться:

# 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" iface 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соединение, так как оно единственное доступное.


Я пытаюсь сделать это с необработанной начальной точки новой установки, которая требует несколько иной последовательности команд. Готовы ли вы показать, как это сделать с нуля, с новой установкой CentOS 7? Вот ссылка: unix.stackexchange.com/questions/349607/…
CodeMed

0

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


nmcliхочет IP-адрес с маской подсети в нотации CIDR.
garethTheRed

Я играл с нотацией CIDR, и / 24/16 и / 32 не работали.
Космический Медведь

0

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

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

Вы смотрели в / var / log / syslog? У меня в dnsmasq сказано, что 32 слишком мало, а nmcli сообщает о «слишком малости» в выводе ошибки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.