В современных версиях Ubuntu можно использовать несколько способов настройки сети, в которых несложно запутаться. В этой статье мы рассмотрим, как настроить сетевые параметры в Ubuntu с помощью сетевых менеджеров Network Manager, Systemd Networkd, Netplan, и с помощью статического конфигурационного файла /etc/network/interfaces (старый способ).
Настройка сетевых параметров с помощью Network Manager
По умолчанию в Ubuntu для управления сетью используется Network Manager. Это универсальный способ настройки сети для Ubuntu десктопов – включает в себя графический и nmcli интерфейс, позволяет удобно работать c беспроводными WLAN подключениями, VLAN.
Проверьте, что эта служба запущена:
$ systemctl status NetworkManager
Конфигурационный файл Network Manager — /etc/NetworkManager. В директории system-connections хранятся настройки подключения. Для настройки параметров сети используется утилита nmcl или псевдографический интерфейс Network Manager TUI.
$ sudo nmtui
Вывести список сетевых интерфейсов:
$ nmcli device
Отобразить все сетевые настройки:
$ nmcli
Вывести настройки интерфейса:
$ nmcli device show ens33
Настроить статический IP адрес для интерфейса через nmcli:
$ sudo nmcli con mod ens33 ipv4.addresses 192.168.55.140/24
$ sudo nmcli con mod ens33 ipv4.gateway 192.168.55.1
$ sudo nmcli con mod ens33 ipv4.dns "8.8.8.8"
Применить настройки:
$ nmcli con up ens33
Задать статический IP адрес интерфейсу:
$ sudo nmcli connection add type ethernet ifname ens33 con-name 'Wired connection 1' ip4 192.168.55.13/24 gw4 192.168.55.1
Изменить настройки подключения:
$ sudo nmcli connection modify 'Wired connection 1' ipv4.DNS 192.168.55.1
Включить/отключить интерфейс:
$ nmcli connection down my_ethernet
Конфигурация сети через systemd-networkd
В systemd можно использовать службу systemd-networkd для настройки сетевых параметров. Она более легкая и быстрая, чем Network Manager и рекомендуется использовать на серверах.
Сначала нужно отключить применение настроек из файла /etc/network/interfaces. Достаточно просто переименовать файл:
$ sudo mv /etc/network/interfaces /etc/network/interfaces.save
Конфигурационный файлы systemd-networkd.service находятся в директории /etc/systemd/network.
Здесь можно создать один из трех типов файлkв:
*.link
– задает физических параметров интерфейсов (имя, MAC, MTU, и т.д.)*.network
— сетевые настройки (DHCP/статический IP, MAC, MTU, маршруты, DNS.)*.netdev
—настройка виртуальных интерфейсов (VLAN, мосты, туннели, VPN)
Пример конфигурационного файла для получения интерфесом eth0настроек от DHCP:
$ sudo mcedit /etc/systemd/network/mylan.network
[Match] Name=eth0 [Network] DHCP=ipv4 LinkLocalAddressing=no
Если на хосте несколько сетевых интерфейсов, можно указать eth*
Пример статической конфигурации IP:
[Match] Name=enp8s0 [Network] Description=Local network Address=192.168.55.25/24 Gateway=192.168.55.1 DNS=192.168.55.1 192.168.155.1 Domains=vmblog.ru LinkLocalAddressing=no
Включить автозапуск службы systemd-networkd:
$ sudo systemctl enable systemd-networkd.service
$ sudo systemctl start systemd-networkd
Проверить статус интерфейсов:
$ networkctl list
Вывести сетевые настройки:
$ networkctl status
Лог systemd-networkd:
$ journalctl -u systemd-networkd.service
Настройка сети в Ubuntu с помощью Netplan
Netplan добавляет еще один уровень абстракции над сетевым менеджером. Конфигурационные файлы находятся в /etc/netplan.
По умолчанию в Ubuntu Desktop создан один конфиг файл:
$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
Директива renderer: NetworkManager указывает, что для управления сетью используется Network Manager.
Для получения настроек от DHCP для интерфейса enp0s3, используйте конфигурацию:
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: yes
Задать статический IP адрес:
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
Netplan позволяет проверить корректность сетевых настроек перед применением:
$ sudo netplan try
Применить сетевые настройки:
$ sudo netplan apply
Файл /etc/network/interfaces
Классически для настройки параметров сети в Ubuntu используется файл /etc/network/interfaces.
В самом простом случае, когда все сетевых настройки вы хотите получить от DHCP, тут нужно указать:
iface lo inet loopback auto eth0 iface eth0 inet dhcp
- iface – сетевой интерфейс
- inet – протокол IPv4
- lo – loopback интерфейс
- auto eth0 – включить интерфейс при загрузке
Если нужно задать статический IP:
iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.55.100 netmask 255.255.255.0 gateway 192.168.55.1 dns-nameservers 8.8.8.8 8.8.4.4
После внесенеия измненеия нужно перезапустить службу:
$ sudo systemctl restart networking.serviceКопировать
Включить/отключить сетевой интерфейс можно командами ifup и ifdown:
$ sudo ifdown enp7s0
$ sudo ifup enp7s0