Настройка сети в Ubuntu Server 18.04 [Netplan]
Содержание статьи:
1. Самые распространенные параметры в файле /etc/netplan/*.yaml
2. Настройка сети на Ubuntu Server 18.04
2.1 Настройка динамического IP-адреса [по DHCP]
2.2 Настройка статического IP-адреса [Указание настроек вручную]
3. Пример конфигурации для двух интерфейсов
4. Применение изменений в конфигурации сети и проверка
Настраивать сеть будем c помощью утилиты Netplan. [Netplan - впервые появилась в Ubuntu 17.10 для облегчения управления сетевыми настройками. Netplan хранит параметры сетевых интерфейсов в формате YAML, конфигурация в формате YAML в свою очередь поддерживается сетевыми рендерами NetworkManager и systemd-networkd, нам предоставляется возможность выбрать, какой из рендеров использовать в качестве основного сетевого демона системы.]
Для того чтобы посмотреть все сетевые интерфейсы введите команду ifconfig -a.
ifconfig -a
Видим интерфейс "ens160" с IP-адресом - 192.168.3.16. Если у вас другое название интерфейса, то в конфигурациях не забудьте поменять его.
Прописывать конфигурацию интерфейсов будем в файле /etc/netplan/50-cloud-init.yaml, с помощью редактора nano, я так понимаю файл может называться по разному у разных пользователей [К примеру 01-netcfg.yaml], но сразу же после установки файл с расширением .yaml в этой папке один. Поэтому для того чтобы приступить к редактированию файла лучше воспользоваться универсальной командой.
sudo nano /etc/netplan/*.yaml
Сразу скажу что для того чтобы сохранить документ в nano надо нажать "Ctrl+o"->"Enter", а чтобы закрыть "Ctrl+x"->"Enter".
!!!!ВНИМАНИЕ!!! Отступы слева в конфигурациях должны быть ОБЯЗАТЕЛЬНО и поставлены они должны быть !!!!ПРОБЕЛАМИ!!!! В конфигурациях представленных в этой статье количество пробелов правильное, считайте или копируйте:)
Если вы поставите отступы клавишей "TAB", то на этапе проверки конфигурации на ошибки, вылезет ошибка - " Error while loading /etc/netplan/50-cloud-init.yaml, aborting. / Ошибка при загрузке ".
Если же вы решите написать всё в столбик без отступов, получите ошибку - " An error occured: the configuration could not be generated / Произошла ошибка: конфигурация не может быть сгенерирована ".
1. Самые распространенные параметры в файле /etc/netplan/*.yaml
Для начала разберемся какие самые распространенные параметры в этом файле могут быть.
-----------------------------------------------------------------------------
network:
renderer: networkd - Выбор сетевого рендера. Выбран networkd
ethernets: - Блок с настройками сетевых интерфейсов.
ens160: - Имя первого сетевого интерфейса.
addresses: [192.168.3.13/24] - Статический IP-адрес сетевого интерфейса/Маска сети. На данный момент указан IPv4, можно также через запятую указать IPv6(пишется в кавычках) - [192.168.3.13/24,“2001:1::1/64”]
gateway4: 192.168.3.1 - Указание основного шлюза для IPv4.
gateway6: "2001:4::1"- Указание основного шлюза для IPv6.(пишется в кавычках)
dhcp4: yes/no - или true/false - включить/выключить получение сетевых настроек по DHCP для IPv4.
dhcp6: yes/no - или true/false - включить/выключить получение сетевых настроек по DHCP для IPv6.
macaddress: 52.54.00.6d.3c.59 - указание MAC-адреса.
nameservers: - Блок с настройками DNS.
addresses: [8.8.8.8,8.8.4.4] - IP-адреса DNS-серверов, можно несколько через запятую.
ens192: - Имя второго сетевого интерфейса.
addresses: [10.1.0.5/24]
version: 2
-----------------------------------------------------------------------------------
2. Настройка сети на Ubuntu Server 18.04
2.1 Настройка динамического IP-адреса [по DHCP]
Так как при установке мы получили IP-адрес по DHCP, следовательно конфигурация рабочая.
Конфигурация для получения IP-адреса по DHCP:
------------------------
network:
ethernets:
ens160:
addresses: []
dhcp4: true
version: 2
------------------------
2.2 Настройка статического IP-адреса [Указание настроек вручную]
Конфигурация для указания настроек сети вручную.
-----------------------------------
network:
renderer: networkd
ethernets:
ens160:
addresses: [192.168.3.13/24]
gateway4: 192.168.3.1
dhcp4: no
dhcp6: no
nameservers:
addresses: [8.8.8.8,8.8.4.4]
version: 2
----------------------------------
3. Пример конфигурации для двух интерфейсов
Конфигурация для указания настроек сети для двух интерфейсов "ens160" и "ens192".
---------------------------------------------------
network:
renderer: networkd
ethernets:
ens160:
addresses: []
dhcp4: true
ens192:
dhcp4: no
dhcp6: no
addresses: [192.168.1.220/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
version: 2
--------------------------------------------------
4. Применение изменений в конфигурации сети и проверка
Я для себя выбрал конфигурацию - "Настройка статического IP-адреса [Указание настроек вручную]"
Проверим конфигурацию на наличие ошибок и применим изменения.
sudo netplan try
Если ошибок нет, то вы получите сообщение: "Вы хотите сохранить эти настройки?" Нажмите ENTER.
Лично у меня настройки применились в 2/3 случаев сразу же после ввода "sudo netplan try" на всякий случай введём команду специально предназначенную для применения изменений сделанных в файле конфигурации:
sudo netplan apply
Проверим вступили ли изменения в силу:
ifconfig
Всё отлично IP-адрес поменялся, сеть настроена, доступ в интернет есть!
!!!!ВНИМАНИЕ!!!! Отступы слева в конфигурациях должны быть ОБЯЗАТЕЛЬНО и поставлены они должны быть !!!!ПРОБЕЛАМИ!!!! В конфигурациях представленных в этой статье количество пробелов правильное, считайте или копируйте:)
Если вы поставите отступы клавишей "TAB", то на этапе проверки конфигурации на ошибки, вылезет ошибка - "Error while loading /etc/netplan/50-cloud-init.yaml, aborting./Ошибка при загрузке".
Если же вы решите написать всё в столбик без отступов, получите ошибку - "An error occured: the configuration could not be generated/Произошла ошибка: конфигурация не может быть сгенерирована".