В Ubuntu сетевой интерфейс можно настроить тремя популярными способами, через nmcli, nmtui и через netplan, в данной заметке мы будем рассматривать способ настройки через netplan.
Netplan — это относительно новая утилита для настройки сети в Ubuntu, основное её отличие в том что конфигурация пишется на языке YAML. И не любят netplan из-за того что язык очень чувствителен к пробелам.
И так погнали, сначала получаем список интерфейсов:
sudo ifconfig -a
Или так:
sudo ip a
Получаем что-то похожее на это:
manager@s-m01-proxy-001:~$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.33 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::215:5dff:fe00:1501 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:00:15:01 txqueuelen 1000 (Ethernet)
RX packets 3628285 bytes 383250864 (383.2 MB)
RX errors 0 dropped 139968 overruns 0 frame 0
TX packets 3912 bytes 312097 (312.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 145 bytes 12738 (12.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 145 bytes 12738 (12.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
По тому что вышло видим два интерфейса eth0 и lo, а так как lo это виртуальный внутренний интерфейс, мы будем настраивать eth0.
Удаляем все конфигурационные файлы .yaml из папки “/etc/netplan
“:
sudo rm -rf /etc/netplan/*
Теперь создаем новый конфигурационный файл для нашего интерфейса eth0:
sudo nano /etc/netplan/001-wired-eth0.yaml
Копируем конфиг ниже и правим его под себя:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses:
- 192.168.0.33/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 192.168.0.4
search:
- test.local
Запускаем генерацию и проверку нашей конфигурации:
sudo netplan generate
Если после генерации вылезли ошибки, их нужно отдебажить:
sudo netplan --debug generate
Если ошибок не вылезло (ну может, где пробел лишний поставили, или наоборот не доставили), применяем конфигурацию и перезапускаем интерфейс:
sudo netplan apply
Проверяем что наши настройки применились:
sudo ifconfig -a
Или так:
sudo ip a
На выходе получаем:
manager@s-m01-proxy-001:~$ 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:00:15:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.33/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe00:1501/64 scope link
valid_lft forever preferred_lft forever
И дополнительно проверим DNS сервер:
sudo resolvectl status
На выходе получим:
manager@s-m01-proxy-001:~$ sudo resolvectl status
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.0.4
DNS Servers: 192.168.0.4
DNS Domain: test.local
Ну, собственно всё.