Вопрос или проблема
Я хотел бы изменить маску подсети на ubuntu 19.04, используя netplan. Я отредактировал единственный файл yaml, который у меня был, а именно \etc\netplan\50-cloud-init.yaml
network:
ethernets:
ens160:
addresses: [10.100.0.78/24]
gateway4: 10.100.0.253
dhcp4: no
nameservers:
addresses: [10.100.0.8,10.100.0.9]
optional: true
version: 2
Но если я введу команду 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
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:bc:ff:52 brd ff:ff:ff:ff:ff:ff
inet 10.100.0.78/24 brd 10.100.0.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:febc:ff52/64 scope link
valid_lft forever preferred_lft forever
Я хотел бы, чтобы маска подсети была 255.255.0.0. Где находится настройка маски подсети?
То, что обычно называют “маской подсети”, является более старым способом определения маски подсети. Однако маска подсети может быть переведена в диапазоны CIDR, что для некоторых людей проще обсуждать/понимать в документах, где маска подсети не рассчитывается в их головах легко. Таким образом, для Netplan маска подсети определяется через диапазоны CIDR, прикрепленные к определению IP-адреса. (RIPE.net имеет хорошую таблицу/документ по преобразованию маски подсети в CIDR, если вы хотите изучить это подробно или сохранить это для своих записей)
Число /24
в конце вашего адреса указывает на префикс CIDR, который, в свою очередь, соотносится с определениями маски подсети. Маска подсети /24 равна 255.255.255.0.
Вы хотите, чтобы эта маска была 255.255.0.0
, что соответствует диапазону CIDR /16
, поэтому укажите /16
вместо /24
и обновите свой gateway4
соответственно.
Затем выполните sudo netplan apply
, и это должно примениться. (Или перезагрузите систему).
Ответ или решение
Чтобы изменить маску подсети (netmask) на Ubuntu 19.04 с использованием Netplan, необходимо выполнить несколько шагов. Ниже представлены детальные инструкции по этому процессу.
Шаг 1: Определите, какую маску подсети вы хотите использовать
Вы уже упомянули, что хотите изменить маску подсети на 255.255.0.0
. Эта маска соответствует формате CIDR /16
, что означает, что первые 16 бит используются для адреса сети.
Шаг 2: Откройте файл конфигурации Netplan
Файлы конфигурации Netplan обычно располагаются в каталоге /etc/netplan/
. В вашем случае, вы редактируете файл 50-cloud-init.yaml
. Откройте его с помощью текстового редактора. Например, используйте команду:
sudo nano /etc/netplan/50-cloud-init.yaml
Шаг 3: Измените IP-адрес и маску подсети
Вам необходимо изменить строку с IP-адресом, чтобы указать новый CIDR. Измените addresses: [10.100.0.78/24]
на addresses: [10.100.0.78/16]
. Также убедитесь, что вы правильно определили шлюз, так как он должен быть в одной подсети с вашим новым адресом.
Ваш обновленный файл будет выглядеть следующим образом:
network:
ethernets:
ens160:
addresses: [10.100.0.78/16]
gateway4: 10.100.0.1 # Проверьте, является ли это адресом шлюза в новой подсети
dhcp4: no
nameservers:
addresses: [10.100.0.8, 10.100.0.9]
optional: true
version: 2
Примечание: Убедитесь, что указанный вами адрес шлюза (например, 10.100.0.1
) соответствует вашей сети и на самом деле является действительным шлюзом для этой подсети.
Шаг 4: Примените изменения
После внесения изменений сохраните файл (в редакторе nano нажмите Ctrl + O
, затем Enter
, а затем Ctrl + X
, чтобы выйти). Затем примените изменения с помощью следующей команды:
sudo netplan apply
Шаг 5: Проверьте статус сети
Чтобы убедиться, что изменения были успешно применены, используйте команду:
ip a
Вы должны увидеть новый IP-адрес с маской подсети /16
, которая соответствует 255.255.0.0
.
Заключение
Изменение маски подсети в Ubuntu 19.04 с помощью Netplan очень просто, если знать, как это сделать. Вы изменили CIDR для вашего IP-адреса и применили настройки с помощью команды netplan apply
. Если вы столкнулись с какими-либо проблемами, убедитесь, что все адреса в конфигурации сети верны и соответствуют вашей сетевой архитектуре.