Вопрос или проблема
Я только что сделал чистую установку Ubuntu 24.04, чтобы запустить одно приложение, iRedMail.
Я установил фиксированный IP:
sudo nano /etc/netplan/01-network-manager-all.yaml
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: нет
addresses: [192.168.x.xx/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 208.67.222.222]
но после перезагрузки я получаю:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether f8:db:88:fe:a8:2b brd ff:ff:ff:ff:ff:ff
altname enp2s0
inet xx.xx.xx.xx/22 metric 100 brd 192.168.3.255 scope global dynamic eno1
valid_lft 6253sec preferred_lft 6253sec
inet6 ff:ff:ff:ff:ff:ff/64 scope link
valid_lft forever preferred_lft forever
Я изменил IP в yaml-файле, но это не оказывает никакого влияния на значение из ip a
Я могу принудительно изменить с помощью
sudo ip addr add inet xx.xx.xx.xx/24 dev eth0
но при перезагрузке мы возвращаемся к исходному значению. Кто-нибудь может объяснить это поведение? Меня больше всего озадачивает изменение маски подсети с 24 на 22.
Интерфейс в выводе ip a
– это eno1
, но в вашей конфигурации Netplan он указан как enp2s0
. Измените на следующее:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: нет
addresses: [192.168.0.xx/24]
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 208.67.222.222]
Затем выполните sudo netplan apply
.
Примечание:
gateway4
устарел, поэтому я заменил его на routes
.
Смотрите определение gateway4
здесь.
Документацию по определению маршрутов по умолчанию можно прочитать здесь.
Ответ или решение
Решение проблемы с IP-адресами вне Netplan в Ubuntu 24.04
Введение
Если вы столкнулись с проблемой, когда назначенный вами статический IP-адрес в конфигурации Netplan не применяется после перезагрузки системы, важно понять, что может быть не так. В этой статье мы подробно рассмотрим вашу проблему, включая возможные причины и предложим эффективные решения.
Описание проблемы
Вы провели чистую установку Ubuntu 24.04 для работы с приложением iRedMail и настроили статический IP-адрес в файле YAML Netplan:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: no
addresses: [192.168.x.xx/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 208.67.222.222]
После перезагрузки вы заметили, что IP-адрес не применяется, и вы видите другой IP-адрес:
inet xx.xx.xx.xx/22 metric 100 brd 192.168.3.255 scope global dynamic eno1
Основные проблемы
-
Несоответствие имени интерфейса:
В выводе командыip a
вы видите интерфейсeno1
, тогда как в конфигурации Netplan вы указалиenp2s0
. Это разногласие может привести к тому, что настройки в Netplan не будут применяться. -
Изменение маски подсети:
Вы упомянули, что маска подсети изменилась с 24 на 22. Это может произойти из-за конфликта с DHCP-сервером, который назначает динамические IP-адреса в той же подсети. -
Устаревшее использование параметра
gateway4
:
Параметрgateway4
считается устаревшим в последних версиях Netplan, поэтому рекомендуется использоватьroutes
для задания маршрутов по умолчанию.
Решение
1. Обновление конфигурации Netplan
Необходимо изменить имя интерфейса с enp2s0
на eno1
. Измененная конфигурация должна выглядеть следующим образом:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
addresses: [192.168.0.xx/24]
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 208.67.222.222]
2. Применение изменений
После внесения изменений сохраните файл и выполните команду для применения настроек:
sudo netplan apply
3. Проверка состояния сети
После выполнения netplan apply
, проверьте состояние сетевых интерфейсов с помощью команды:
ip a
Убедитесь, что ваш статический IP-адрес отображается корректно.
4. Устранение проблем с DHCP
Если после всех изменений вы всё ещё видите свой IP-адрес, изменённый на динамический, проверьте, нет ли конфликта с DHCP-сервером. Возможно, ваше устройство принимает IP-адрес от роутера. В таком случае, либо выключите DHCP на роутере, либо задайте статический IP в диапазоне, который не конфликтует с назначаемыми DHCP.
Заключение
Следуя приведённым рекомендациям, вы сможете успешно настроить статический IP-адрес на своём сервере Ubuntu 24.04. Убедитесь, что имя интерфейса верное, и используйте актуальные параметры конфигурации, чтобы избежать дополнительных проблем. Если у вас возникнут новые вопросы или потребуются уточнения, не стесняйтесь обращаться за поддержкой.