Содержание
Конфигурирование сетевого интерфейса в Ubuntu 18.04 для многих стало сюрпризом. Хотя всем привычный конфигурационный файл /etc/network/interfaces существует, в нем сказано:
Перевод.
Конфигурирование через ifupdown было заменено на netplan. настройка через /etc/netplan. Хотите вернуться к ifupdown установите его командой:
sudo apt install ifupdown
Посмотрим что в этом файле.
- network — начало блока конфигурации сети;
- ethernets — данный параметр сообщает, что далее пойдет настройка одноименного протокола;
- enp0s3 — название конфигурируемого сетевого интерфейса. Вероятно, что в вашем случае название будет иным. Список всех интерфейсов можно посмотреть командой ifconfig -a;
- addresses — блок IP-адресов назначаемых интерфейсу с префиксом сети. Один ip-адрес указывается как в примере, несколько адресов указываются в квадратных скобках “[ и ]”, разделяются запятыми;
- gateway4 — сетевой шлюз IPv4;
- nameservers — блок настройки серверов имен.
- addresses — именно в блоке nameservers, указывают к каким серверам DNS обращаться. Указываются без сетевого префикса. Несколько адресов указываются в квадратных скобках “[ и ]”, разделяются запятыми.
- version — версия языка YAML.
Активируем текущие настройки командой:
netplan apply
Мы рассмотрели основные опции. Больше примеров настройки — на официальном сайте. Как быть, если система не использует netplan?
Тут по старинке. Сначала получаем список доступных интерфейсов:
ifconfig -a
В данном случае имеется 2 сетевых интерфейса без IP-адресов (пока). Настраиваются средствами DHCP. Перейдем к настройкам.
sudo nano /etc/network/interfaces
Что это означает.
- 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
Важно. Бывает ситуация, что файл настроек верный, но сервер не изменяет 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/