Настройка сети в Ubuntu с помощью утилиты Netplan
Использование DHCP и статической адресации
Самый простой вариант, когда используется DHCP сервер для получения IP адреса:
network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: true
Для установки статического IP адреса используйте ключ address, который понимает список адресов (IPv4, IPv6), вместе с маской подсети (например, /24). Тут же можно указать и информацию о серверах DNS, а основной шлюз может быть определен только через маршрут по умолчанию.
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.10.10.2/24 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 1.1.1.1] routes: - to: default via: 10.10.10.1
Подключение нескольких интерфейсов с помощью DHCP
Современные сервера часто используют более одного сетевого интерфейса. Обычно серверам необходимо подключаться к нескольким сетям, и может потребоваться, чтобы трафик в Интернет проходил только через определенный интерфейс.
Можно добиться желаемой маршрутизации через DHCP, указав метрику для маршрутов, полученных у DHCP, что обеспечит предпочтение одних маршрутов по сравнению с другими. В этом примере «enred» предпочтительнее «engreen», так как имеет более низкую метрику:
network: version: 2 ethernets: enred: dhcp4: yes dhcp4-overrides: route-metric: 100 engreen: dhcp4: yes dhcp4-overrides: route-metric: 200
Подключение к открытой беспроводной сети
Netplan поддерживает подключение к открытой беспроводной сети (не защищенной паролем), требуя указания имени точки доступа:
network: version: 2 wifis: wl0: access-points: opennetwork: {} dhcp4: yes
Подключение к защищенной беспроводной сети WPA
Для указания что сеть беспроводная используют ключ «wifis» и применяют те же параметры конфигурации, что для проводных устройств Ethernet. Необходимо указать имя и пароль беспроводной точки доступа:
network: version: 2 renderer: networkd wifis: wlp2s0b1: dhcp4: no dhcp6: no addresses: [192.168.0.21/24] nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "network_ssid_name": password: "**********" routes: - to: default via: 192.168.0.1
Подключение к беспроводным сетям WPA Enterprise
Встречаются беспроводные сети, защищенные с помощью WPA или WPA2 Enterprise, что требует дополнительных параметров аутентификации.
Например, если сеть защищена с помощью WPA-EAP и TTLS:
network: version: 2 wifis: wl0: access-points: workplace: auth: key-management: eap method: ttls anonymous-identity: "@internal.example.com" identity: "joe@internal.example.com" password: "v3ryS3kr1t" dhcp4: yes
Или, если сеть защищена с помощью WPA-EAP и TLS:
network: version: 2 wifis: wl0: access-points: university: auth: key-management: eap method: tls anonymous-identity: "@cust.example.com" identity: "cert-joe@cust.example.com" ca-certificate: /etc/ssl/cust-cacrt.pem client-certificate: /etc/ssl/cust-crt.pem client-key: /etc/ssl/cust-key.pem client-key-password: "d3cryptPr1v4t3K3y" dhcp4: yes
Использование нескольких адресов на одном интерфейсе
Раздел addresses может принимать список адресов для назначения интерфейсу:
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.100.1.38/24 - 10.100.1.39/24 routes: - to: default via: 10.100.1.1
Псевдонимы интерфейса (например, eth0:0) не поддерживаются.
Использование нескольких адресов с несколькими шлюзами
Как и в приведенном выше примере, интерфейсы с несколькими адресами можно
настроить с несколькими шлюзами по умолчанию.
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.0.0.10/24 - 11.0.0.11/24 routes: - to: default via: 10.0.0.1 metric: 200 - to: default via: 11.0.0.1 metric: 300
Настройка объединения сетевых интерфейсов
Для настройки объединения физических интерфейсов объявляем сам интерфейс bond вместе со связанными в нем сетевыми интерфейсами и указанием режима самого объединения. Ниже приведен пример, использующей DHCP:
network: version: 2 renderer: networkd bonds: bond0: dhcp4: yes interfaces: - enp3s0 - enp4s0 parameters: mode: active-backup primary: enp3s0
Ниже приведен пример системы, работающей в качестве маршрутизатора, с различными объединенными интерфейсами и разными типами. Обратите внимание на значения ключей «optional: true», которые позволяют выполнять загрузку, не дожидаясь полной активации этих интерфейсов.
network: version: 2 renderer: networkd ethernets: enp1s0: dhcp4: no enp2s0: dhcp4: no enp3s0: dhcp4: no optional: true enp4s0: dhcp4: no optional: true enp5s0: dhcp4: no optional: true enp6s0: dhcp4: no optional: true bonds: bond-lan: interfaces: [enp2s0, enp3s0] addresses: [192.168.93.2/24] parameters: mode: 802.3ad mii-monitor-interval: 1 bond-wan: interfaces: [enp1s0, enp4s0] addresses: [192.168.1.252/24] nameservers: search: [local] addresses: [8.8.8.8, 8.8.4.4] parameters: mode: active-backup mii-monitor-interval: 1 gratuitious-arp: 5 routes: - to: default via: 192.168.1.1 bond-conntrack: interfaces: [enp5s0, enp6s0] addresses: [192.168.254.2/24] parameters: mode: balance-rr mii-monitor-interval: 1
Настройка сетевых мостов
Чтобы создать простой мост, состоящий из одного устройства, использующего DHCP, напишите:
network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: no bridges: br0: dhcp4: yes interfaces: - enp3s0
Если нужен статический адрес для моста используйте вариант:
network: version: 2 renderer: networkd ethernets: enp6s0: dhcp4: no bridges: br0: addresses: [10.0.0.10/24] routes: - to: default via: 10.0.0.1 nameservers: addresses: [8.8.8.8] interfaces: - enp6s0