Как установить статический IP на Ubuntu 22.04 через netplan

В 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

Ну, собственно всё.

Подписаться
Уведомить о
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии