Андрей Смирнов
Время чтения: ~5 мин.
Просмотров: 52

Настройка сети через Netplan в Ubuntu 17.10 и выше

Конфигурирование сетевого интерфейса в Ubuntu 18.04 для многих стало сюрпризом. Хотя всем привычный конфигурационный файл /etc/network/interfaces существует, в нем сказано:

1.png

Перевод.

Конфигурирование через ifupdown было заменено на netplan. настройка через /etc/netplan. Хотите вернуться к ifupdown установите его командой:

sudo apt install ifupdown

2.png

Посмотрим что в этом файле.

  • network — начало блока конфигурации сети;
  • ethernets — данный параметр сообщает, что далее пойдет настройка одноименного протокола;
  • enp0s3 — название конфигурируемого сетевого интерфейса. Вероятно, что в вашем случае название будет иным. Список всех интерфейсов можно посмотреть командой ifconfig -a;
  • addresses — блок IP-адресов назначаемых интерфейсу с префиксом сети. Один ip-адрес указывается как в примере, несколько адресов указываются в квадратных скобках “[ и ]”, разделяются запятыми;
  • gateway4 — сетевой шлюз IPv4;
  • nameservers — блок настройки серверов имен.
  • addresses — именно в блоке nameservers, указывают к каким серверам DNS обращаться. Указываются без сетевого префикса. Несколько адресов указываются в квадратных скобках “[ и ]”, разделяются запятыми.
  • version — версия языка YAML.

Активируем текущие настройки командой:

netplan apply

Мы рассмотрели основные опции. Больше примеров настройки — на официальном сайте. Как быть, если система не использует netplan?

Тут по старинке. Сначала получаем список доступных интерфейсов:

ifconfig -a

4.png

В данном случае имеется 2 сетевых интерфейса без IP-адресов (пока). Настраиваются средствами DHCP. Перейдем к настройкам.

sudo nano /etc/network/interfaces

5.png

Что это означает.

  • auto enp0s3 — автоматический запуск конкретного интерфейса;
  • iface enp0s3 inet static — сообщает о статическом конфигурировании;
  • address 10.10.2.6 — собственно, сам IPv4-адрес для данного интерфейса;
  • netmask 255.255.255.0 — сетевая маска
  • gateway 10.10.2.1 — IPv4-шлюз
  • dns-nameservers 8.8.8.8 — указываем DNS-серверы

Применяем настройки:

sudo /etc/init.d/networking restart

7.png

Важно. Бывает ситуация, что файл настроек верный, но сервер не изменяет IP-адрес. В этом случае помогает перезапуск сервера командой:

sudo reboot

Облачные VPS/VDS

Создайте сервер всего за 1 минуту!

от8 руб/месяц

Netplan — это новая утилита сетевых настроек с помощью командной строки, установленный начиная с Ubuntu 17.10 для легкого управления и сетевых настроек в системах Ubuntu. Она позволяет настроить сетевой интерфейс с использованием абстракции YAML. Он работает совместно с сетевыми демонами NetworkManager и systemd-networkd (называемыми рендерерами, вы можете выбрать, какой из них использовать) в качестве интерфейсов к ядру.

Он считывает сетевую конфигурацию, описанную в файле /etc/netplan/*.yaml. Вы можете хранить конфигурации для всех своих сетевых интерфейсов в этих файлах.

Файлы конфигурации находятся по пути /etc/netplan/имяфайла.yaml.

Содержание

Получение адреса по DHCP

Конфигурация для автоматического получения адреса выглядит так:

network:      renderer: networkd      version: 2      ethernets:          eth0:              addresses: []              dhcp4: true  

Давайте рассмотрим что мы сейчас сделали:

  • network: — это блок начало конфигурации.
  • renderer: networkd — здесь мы указываем сетевой менеджер который будем использовать, это либо networkd либо NetworkManager
  • version: 2 — тут как я понял версия YAML.
  • ethernets: — этот блок говорит о том что будем конфигурировать ethernet протокол.
  • eth0: — указываем какой сетевой адаптер будем конфигурировать.
  • dhcp4:no — отключаем DHCP v4, для 6 v6 dhcp6 соответственно

Настройка статического адреса

Добавим на интерфейс eth1 статический ip адрес, для этого добавим в первую конфигурацию секцию для eth1.

eth1:    dhcp4:no    macaddress: aa:14:1c:aa:f4:56    addresses: [192.168.1.2/24, 192.168.1.3/24]    gateway4: 192.168.1.1    nameservers:      addresses: 172.31.0.23

Здесь мы задали мак, ipv4, шлюз и dns сервер. Замет те что если нам нужно больше одного ip адреса то мы пишем их через запятую с обязательным пробелом после.

Настройка агрегации интерфейсов

Давайте теперь настроим bonding. Конфигурация будет выглядеть следующим образом.

network:       renderer: networkd       version: 2       ethernets:           eth0:            dhcp4: no          eth1:            dhcp4: no      bonds:         bond0:          dhcp4: no          interfaces: [eth0, eth1]          parameters:            mode: 802.3ad            mii-monitor-interval: 1
  • bonds: — блок поясняющий что мы будем настраивать bonding.
  • bond0: — произвольное имя интерфейса.
  • interfaces: — набор интерфейсов собираемых в bond-динг, »как оговаривалось ранее если параметров несколько описываем их в квадратных скобках».
  • parameters: — описываем блок настройки параметров
  • mode: — указываем мод по которому будет работать bonding.
  • mii-monitor-interval: — задаем интервал мониторинга 1 сек.

Внутри блока с именем bond-а также можно конфигурировать такие параметры как addresses,gateway4,routes итд.

Настройка Vlan

Мы научились настраивать сеть на физическом интерфейсе и агрегацию каналов. Теперь давайте настроим vlan. Для этого добавьте в свой конфиг секцию vlans.

vlans:    vlan50:      id: 50      link: eth0      dhcp4: no      addresses: [192.168.1.2/24]      gateway: 192.168.1.1      routes:          - to: 192.168.1.2/24           via: 192.168.1.1           on-link: true
  • vlans: — объявляем блок настройки vlan.
  • vlan10: — произвольное имя vlan интерфейса.
  • id: — тег нашего vlan.
  • link: — интерфейс через который vlan будет доступен.
  • routes: — объявляем блок описания маршрутов.
  • — to: — задаем адрес/подсеть до которой необходим маршрут.
  • via: — указываем шлюз через которой будет доступна наша подсеть.
  • on-link: — указываем что прописывать маршруты всегда при поднятии линка.

Обратите внимание на пробелы, в языке YAML это очень важно.

Применение конфигурации

После настройки сети, для того что бы конфигурация была применена, используйте команду.

netplan apply

Эта команда проверит наш конфиг на наличие ошибок и применит его в случае успеха. Далее конфиг будет сам подниматься при перезагрузке системы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Используемые источники:

  • https://serverspace.by/support/help/nastroika-interfeysa-v-ubuntu-18-04/
  • https://itproffi.ru/nastrojka-seti-cherez-netplan-v-ubuntu-17-10-i-vyshe/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации