Рубрики
network \ сеть

netplan

Ссылки:

https://netplan.io/
https://habr.com/ru/articles/448400/
https://interface31.ru/tech_it/2020/08/nastroyka-seti-v-linux-pri-pomoshhi-netplan.html

Нафига?:

Что 
Все чаще встречается в образа для cloud install (debian12 gns, ubuntu)
При чистой установке debian 12 по прежнему ставится networking.

установка в debian
apt install netplan

Файлы конфигурации находятся по пути /etc/netplan/имяфайла.yaml, между каждым блоком когда должно быть + 2 пробела.

Структура YAML файла: 
поле0:
  поле1:значение1
  поле2:
    -элементсписка1
    -элементсписка2


netplan generate - создать конфигурационные файлы на основании сетевых конфигураций 
netplan try - проверить сетевые настройки
netplan apply - применить сетевые настройки без тестирования

Пример конфига с dhcp:

network: 
  version: 2 
  renderer: networkd 
  ethernets:
    ens33:
      dhcp4: true

Пример статики с роутами и днсами:

network:
  version: 2 
  renderer: networkd 
  ethernets: 
    ens33: 
      dhcp4: false 
      addresses: [192.168.233.154/24] 
      gateway4: 192.168.233.2 
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]

Если требуется указать несколько IP-адресов для одного интерфейса, то запись будет выглядеть так:

addresses: [192.168.233.154/24, 192.168.1.154/24] 

или

addresses:
  - 192.168.233.154/24
  - 192.168.1.154/24

Пример статики с роутами и днсами (более правильный для устаревшего/deprecated gateway4):

ens33: 
  dhcp4: false 
  addresses:
    - 192.168.233.154/24
  routes: 
    - to: default
      via: 192.168.233.2 
    - to: 192.168.111.0/24
      via: 192.168.233.101
  nameservers:
    addresses:
      - 1.1.1.1
      - 8.8.8.8

Пример wi-fi:

network:
  version: 2
  renderer: networkd
  wifis:
    wlx8416f91d8de0:
      dhcp4: true
      access-points:
        MyWiFi:
          password: Pa$$word_1

Пример bond:

bonds: — блок, поясняющий что мы будем настраивать bonding
bond0: — произвольное имя интерфейса
interfaces: — набор интерфейсов собираемых в bond
parameters: — описываем блок настройки параметров
mode: — указываем мод по которому будет работать bonding
mii-monitor-interval: — задаем интервал мониторинга 1 сек


  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

Пример vlan:

vlans: — объявляем блок настройки vlan
vlan10: — произвольное имя vlan интерфейса
id: — тег нашего vlan
link: — интерфейс через который vlan будет доступен
routes: — объявляем блок описания маршрутов
— to: — задаем адрес/подсеть до которой необходим маршрут
via: — указываем шлюз через которой будет доступна наша подсеть
on-link: — указываем что прописывать маршруты всегда при поднятии линка


vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

виртуальные фейсы

network:
    version: 2
    renderer: networkd
    ethernets:
        enp7s0f0:
    vlans:
        veth0:
            id: 0
            link: enp7s0f0
            addresses: [10.0.0.1/24]
	    macaddress: aa:bb:cc:dd:ee:ff
  	veth1:
            id: 0
            link: enp7s0f0
            addresses: [10.0.1.2/24]
	    macaddress: aa:bb:cc:dd:ee:ff