Начиная с Ubuntu 17.10 способ настройки сети полностью изменился. В более ранних версиях Ubuntu статический файл (/etc/network/interfaces) использовался для настройки сетевых интерфейсов. Canonical запустила новый инструмент под названием Netplan для управления настройками сети. Netplan — это утилита, которая использует YAML для настройки сети в системе Linux.
В этой статье мы узнаем:
- Как работает Netplan?
- Команды Netplan
- Как использовать Netplan для настройки: a) Один статический IP-адрес b) Несколько статических IP-адресов c) Несколько статических IP-адресов с несколькими шлюзами.
Предпосылки
- Система Ubuntu 20.04.
- Доступ к Sudo и знание сетей Ubuntu.
Как работает Netplan?
Netplan извлекает информацию о конфигурации сети из файла .yaml (формат YAML). Этот файл может находиться в следующих каталогах netplan:
- /etc/netplan/
- /lib/netplan/
- /run/netplan/
На начальном этапе загрузки Netplan создает внутренние файлы конфигурации внутри каталога /run и передает управление устройствами одному из поддерживаемых сетевых сервисов/демонов: NetworkManger или Systemd-networkd.
Команды Netplan
В сочетании с Netplan используются три команды:
- netplan generate: Это сгенерирует конфигурацию для рендереров или серверных частей, используя файл /etc/netplan.
- netplan apply: используется для применения всех конфигураций средств визуализации.
- netplan try: примените конфигурацию, затем дождитесь подтверждения пользователем.
Начало работы с Netplan
Базовая конфигурация Netplan может быть записана как:
# Текст, за которым следует '#', является комментарием.
# мы использовали NetworkManager в качестве средства визуализации, например
network:
version: 2
renderer: NetworkManager
Netplan считывает приведенную выше конфигурацию при загрузке системы и создает файл как ‘/run/NetworkManager/conf.d/10-globally-managed-devices.conf’. Система будет проинформирована о том, что все задачи по настройке сети и управлению устройствами будут выполняться NetworkManger. В настоящее время существует два бэкенда: NetworkManager и systemd-networkd. Одновременно может поддерживаться только один. Средство визуализации по умолчанию — «systemd-networkd».
Настройка статического IP-адреса с помощью Netplan
Файл конфигурации для Netplan (.yaml) хранится в каталоге ‘/etc/netplan’. В нашем случае в этой директории нет файла конфигурации, и интерфейсу ‘enp0s3’ не назначен IP.
Давайте приступим к назначению статического IP-адреса этому интерфейсу. Прежде чем мы углубимся в этот урок, вы должны прочитать следующее важное примечание:
ВАЖНОЕ ПРИМЕЧАНИЕ. Сначала вы должны проверить, работают ли приведенные ниже конфигурации, выполнив команду:
$ netplan try
Таким образом, мы можем откатить наши изменения в файле конфигурации после определенного тайм-аута. Следующий экран появится для подтверждения, хотите ли вы сохранить изменения или вернуться к конфигурации.
1. Установка единого статического IP-адреса
Для установки одного статического IP-адреса для системы, использующей Netplan, создайте новый файл конфигурации как «/etc/netplan/config.yaml». Давайте изменим интерфейс enp0s3 со следующими деталями:
IP address: 192.168.186.30 Gateway: default subnet prefix: /24
Теперь создайте или откройте файл конфигурации в каталоге ‘/etc/netplan/‘ с помощью команды:
$ sudo nano /etc/netplan/config.yaml
Теперь поместите в этот файл .yaml следующее содержимое:
сеть: network: version: 2 renderer: NetworkManager ethernets: enp0s3: addresses: - 192.168.186.204/24 routes: - to: 0.0.0.0/0 via: 192.168.186.143 metric: 600 nameservers: addresses: - 8.8.8.8
Чтобы применить приведенную выше конфигурацию, используйте команду:
$ sudo netplan apply
Теперь проверьте IP с помощью команды ip:
$ ip а
2. Установка нескольких статических IP-адресов
Если нам нужно установить несколько статических IP-адресов на указанном выше интерфейсе «enp0s3», просто добавьте еще один адрес в ключ адресов, как показано ниже:
network: version: 2 renderer: NetworkManager ethernets: enp0s3: addresses: - 192.168.186.204/24 - 192.168.186.206/24 routes: - to: 0.0.0.0/0 via: 192.168.186.143 metric: 600 nameservers: addresses: - 8.8.8.8
Чтобы применить приведенную выше конфигурацию, используйте команду:
$ sudo netplan apply
3. Установка нескольких статических IP-адресов с несколькими шлюзами
network: version: 2 renderer: NetworkManager ethernets: enp0s3: addresses: - 192.168.186.204/24 - 192.168.186.206/24 routes: - to: 0.0.0.0/0 via: 192.168.186.143 metric: 600 - to: 0.0.0.0/0 via: 192.168.186.150 metric: 100 nameservers: addresses: - 8.8.8.8
Чтобы применить приведенную выше конфигурацию, используйте команду:
$ sudo netplan apply
Во всех приведенных выше конфигурациях мы использовали NetworkManager в качестве рендерера; вы можете переключиться на networkd, изменив рендерер с NetworkManager на networkd. Образец версии config.yaml в этом случае будет таким:
network: version: 2 renderer: networkd
Подведение итогов
В этой статье мы научились устанавливать статический IP-адрес с помощью Netplan. Файл конфигурации Netplan очень чувствителен к пространству, поскольку использует формат YAML. Управление сетью с помощью Netplan довольно просто. Вам не будет сложно освоить его, как только вы к нему привыкнете.