Посмотреть на доступные сетевые интерфейсы мы точно также можем с помощью утилиты lshw. И на сервере Ubuntu эта утилита предустановлена.
В примере выше видно, что ens18 имеет назначенный ip адрес, а ens19 нет. Но оба интерфейса активны (state UP).
Настройка IP адреса
Вот настройка сетевых интерфейсов при помощи конфигурационных файлов в Ubuntu значительно отличается от Debian. Это потому-что в Ubuntu используется система для управления сетью — Netplan. И нужно будет изучить конфигурационные файлы и команды этой системы.
Конфигурационные файлы Netplan находятся в каталоге «/etc/netplan«, а конфигурационный файл созданный при установки системы — «/etc/netplan/00-installer-config.yaml«.
Посмотрим на этот конфиг с помощью утилиты cat:
$ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens18:
dhcp4: true
ens19:
dhcp4: true
version: 2
Такой формат конфигурационных файлов называется — YAML (произносится как «ямл»).
Разберём этот файл построчно:
network:
— говорит о том, что сейчас будем настраивать сеть;
ethernets:
— начинается настройка сетевых интерфейсов;
ens18:
— настраиваем интерфейс ens18;
dhcp4: true
— ip адрес будет получен по dhcp;
ens19:
— настраиваем интерфейс ens19;
dhcp4: true
— ip адрес будет получен по dhcp;
version: 2
— версия YAML.
Разбирать формат YAML не буду, просто покажу как назначить статичные ip адреса и отключить dhcp.
Число в имени файла — означает приоритет, и чем оно выше, тем выше приоритет у файла. Создадим новый конфиг, имя можно придумать любое, но чтобы этот файл стал главнее текущего, установим приоритет 02-:
$ sudo nano /etc/netplan/02-network.yaml
network:
ethernets:
ens18:
dhcp4: no
addresses: [ 172.28.90.75/20 ]
routes:
- to: default
via: 172.28.80.10
nameservers:
addresses: [ 77.88.8.8, 77.88.8.1 ]
ens19:
dhcp4: no
addresses: [ 192.168.0.10/24 ]
version: 2
После создания конфигурационного файла проверим его на синтаксис:
$ sudo netplan generate
Если в выводе пусто, значит конфигурация верна.
Теперь можно применить настройки:
$ sudo netplan apply
После этого, вам придётся заново подключится к серверу по ssh, по другому ip адресу.
Итак, мы указали ip адреса для обоих интерфейсов, а также назначили на одном из низ шлюз по умолчанию (routes: — to default) и dns сервера (nameservers).
И запомните, на сервере Ubuntu 22.04, не нужно использовать утилиты ifdown и ifup. Здесь работает netplan, и применять настройки нужно с помощью этой утилиты, предварительно проверив конфигурацию.
Добавление статических маршрутов
Добавлять статические маршруты нужно также в уже знакомом файле «/etc/netplan/02-network.yaml«:
$ sudo nano /etc/netplan/02-network.yaml
network:
ethernets:
ens18:
dhcp4: no
addresses: [ 172.28.90.75/20 ]
routes:
- to: default
via: 172.28.80.10
- to: 192.168.5.0/24
via: 172.28.80.5
on-link: true
nameservers:
addresses: [ 77.88.8.8, 77.88.8.1 ]
ens19:
dhcp4: no
addresses: [ 192.168.0.10/24 ]
version: 2
При добавлении маршрута нужно указать:
- to: 192.168.5.0/24
— префикс (сеть назначения);
via: 172.28.80.5
— через какой шлюз нужно добираться до сети назначения;
on-link: true
— активировать маршрут при поднятии интерфейса.
Применим настройки и проверим маршрут с помощью команды ip:
$ sudo netplan apply
$ ip route show
default via 172.28.80.10 dev ens18 proto static
172.28.80.0/20 dev ens18 proto kernel scope link src 172.28.90.75
192.168.0.0/24 dev ens19 proto kernel scope link src 192.168.0.10
192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink
В примере выше — 192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink
— и есть наш дополнительный статический маршрут.
Итог
Вот мы и прошли тему “Настройка сети на Ubuntu“.
Мы познакомились с системой Netplan. Научились настраивать сеть с помощью конфигурационных файлов /etc/netplan/**-имя.yaml. Узнали как проверить и применить настройки с помощью команды netplan.
Теперь можем указать ip адрес, адрес шлюза, адрес dns сервера, а также можем создать отдельные маршруты в системе Ubuntu 22.04
2022-04-11T17:32:01
Администрирование Linux