Ubuntu узрушаючая аперацыйная сістэма, даўно не працаваў з Ubuntu server а абнаўляць свой Desktop са стабільнай версіі не было сэнсу. І вось нядаўна прыйшлося сутыкнуцца са свежанькім рэлізам Ubuntu server 18.04, майму здзіўленню не было мяжы, калі я зразумеў што я бясконца адстаў ад жыцця і не магу наладзіць сетку т.к старая добрая сістэма налады сеткавых інтэрфейсаў па сродках рэдагавання файла /etc/net /interfaces адышла ў лепту. А што ж прыйшло ёй на змену? што тое жудаснае і на першы погляд зусім не зразумелае, сустракайце "Netplan".
Файлы канфігурацыі знаходзяцца па шляху /etc/netplan/імяфайла.yaml, паміж кожным блокам калі павінна быць + 2 прабелы.
1) Стандартная шапка выглядае так:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4:no
Давайце разгледзім што мы зараз зрабілі:
- network: - гэта блок пачатак канфігурацыі.
- renderer: networkd - тут мы паказваем сеткавы менеджэр які будзем выкарыстоўваць, гэта альбо networkd альбо NetworkManager
- version: 2 - тут як я зразумеў версія YAML.
- ethernets: - гэты блок кажа аб тым што будзем канфігураваць ethernet пратакол.
- enps0f0: - паказваем які сеткавы адаптар будзем канфігураваць.
- dhcp4:no - адключаем DHCP v4, для 6 v6 dhcp6 адпаведна
2) Паспрабуем прызначыць ip адрасы:
enp3s0f0:
dhcp4:no
macaddress: bb:11:13:ab:ff:32
addresses: [10.10.10.2/24, 10.10.10.3/24]
gateway4: 10.10.10.1
nameservers:
addresses: 8.8.8.8
Тут мы задалі мак, ipv4, шлюз і сервер DNS. Заўваж тыя што калі нам трэба больш аднаго ip адрасу то мы пішам іх праз коску з абавязковым прабелам пасля.
3) А што калі нам патрэбен
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1
- bonds: - блок які тлумачыць што мы будзем наладжваць bonding.
- bond0: - адвольнае імя інтэрфейсу.
- interfaces: - набор інтэрфейсаў якія збіраюцца ў bond-дынг, »як агаворвалася раней калі параметраў некалькі апісваем іх у квадратных дужках».
- parameters: - апісваем блок налады параметраў
- mode: - паказваем мод па якім будзе працаваць bonding.
- mii-monitor-interval: - задаем інтэрвал маніторынгу 1 сек.
Усярэдзіне блока з імем bond-а таксама можна канфігураваць такія параметры як addresses,gateway4,routes і т.д.
Мы дадалі рэзерваванне для нашай сеткі, зараз засталося толькі павесіць
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
- vlans: - аб'яўляем блок налады vlan.
- vlan10: - адвольнае імя vlan інтэрфейсу.
- id: - тэг нашага vlan.
- link: - інтэрфейс праз які vlan будзе даступны.
- routes: - аб'яўляем блок апісання маршрутаў.
- - to: - задаем адрас/падсетку да якой неабходны маршрут.
- via: — паказваем шлюз, праз які будзе даступная наша падсетка.
- on-link: - паказваем што прапісваць маршруты заўсёды пры падняцці лінка.
Звярніце ўвагу на тое, як я расстаўляю прабелы, у мове YAML гэта вельмі важна.
Вось мы апісалі сеткавыя інтэрфейсы, стварылі bonding, і нават дадалі vlan-ы. Давайце прымянім наш канфіг, каманда netplan apply праверыць наш канфіг на наяўнасць памылак і прыменіць яго ў выпадку поспеху. Далей канфіг будзе сам падымацца пры перазагрузцы сістэмы.
Сабраўшы ўсе папярэднія блокі кода, вось што ў нас атрымалася:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4: no
ensp3s0f1:
dhcp4: no
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1
vlan10:
id: 10
link: bond0
dhcp4: no
addresses: [10.10.10.2/24]
routes:
- to: 10.10.10.2/24
via: 10.10.10.1
on-link: true
vlan20:
id: 20
link: bond0
dhcp4: no
addresses: [10.10.11.2/24]
gateway: 10.10.11.1
nameserver:
addresses: [8.8.8.8]
Вось наша сетка і гатова да эксплуатацыі, усё аказалася не так страшна як здалося спачатку і код атрымаўся вельмі прыгожы і чытэльны. PC дзякуй што па netplan ёсць выдатны мануал па спасылцы
Крыніца: habr.com