Ubuntu to niesamowity system operacyjny, dawno nie pracowałem z serwerem Ubuntu i nie było sensu aktualizować mojego Desktopa z wersji stabilnej. A nie tak dawno temu miałem do czynienia z najnowszą wersją serwera Ubuntu 18.04, moje zdziwienie nie miało granic, gdy zdałem sobie sprawę, że jestem nieskończenie do tyłu z duchem czasu i nie mogę założyć sieci, bo stary, dobry system konfigurowania interfejsów sieciowych firmy edytowanie pliku /etc/network /interfaces poszło na marne. A co go zastąpiło? coś okropnego i na pierwszy rzut oka zupełnie niezrozumiałego, poznajcie „Netplan”.
Pliki konfiguracyjne znajdują się wzdłuż ścieżki /etc/netplan/filename.yaml, pomiędzy każdym blokiem powinny znajdować się +2 spacje.
1) Standardowy nagłówek wygląda następująco:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4:no
Spójrzmy, co już zrobiliśmy:
- sieć: - jest to początek bloku konfiguracyjnego.
- renderer: networkd - tutaj wskazujemy menedżera sieci, którego będziemy używać, jest to networkd lub NetworkManager
- wersja: 2 - tutaj, jak rozumiem, jest wersja YAML.
- ethernets: - ten blok wskazuje, że skonfigurujemy protokół Ethernet.
- enps0f0: — wskaż, którą kartę sieciową skonfigurujemy.
- dhcp4:no - wyłącz DHCP v4, odpowiednio dla 6 v6 dhcp6
2) Spróbujmy przypisać adresy 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
Tutaj ustawiamy mak, ipv4, bramę i serwer DNS. Pamiętaj, że jeśli potrzebujemy więcej niż jednego adresu IP, to zapisujemy je oddzielone przecinkami z obowiązkową spacją.
3) Co jeśli potrzebujemy
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1
- bonds: - blok wyjaśniający, że skonfigurujemy wiązanie.
- bond0: - dowolna nazwa interfejsu.
- interfejsy: - zbiór interfejsów zebranych w bonding, „jak wspomniano wcześniej, jeśli jest kilka parametrów, opisujemy je w nawiasach kwadratowych”.
- parametry: — opisuje blok ustawień parametrów
- tryb: — określ tryb, w którym będzie działać wiązanie.
- mii-monitor-interval: — ustaw interwał monitorowania na 1 sekundę.
Wewnątrz bloku o nazwie bond możesz także skonfigurować parametry takie jak adresy, bramka4, trasy itp.
Dodaliśmy redundancję dla naszej sieci, teraz pozostaje tylko instalacja
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: — zadeklaruj blok konfiguracyjny vlan.
- vlan10: — dowolna nazwa interfejsu VLAN.
- id: — znacznik naszego vlanu.
- link: — interfejs, przez który będzie dostępny vlan.
- trasy: — zadeklaruj blok opisu trasy.
- — aby: — ustawić adres/podsieć, do której potrzebna jest trasa.
- via: — określ bramę, przez którą będzie dostępna nasza podsieć.
- on-link: — wskazujemy, że w momencie podniesienia łącza należy zawsze rejestrować trasy.
Zwróć uwagę na to, jak umieszczam spacje; jest to bardzo ważne w YAML.
Opisaliśmy więc interfejsy sieciowe, stworzyliśmy powiązania, a nawet dodaliśmy vlany. Zastosujmy naszą konfigurację, polecenie netplan Apply sprawdzi naszą konfigurację pod kątem błędów i zastosuje ją, jeśli się powiedzie.Następnie konfiguracja zostanie automatycznie podniesiona po ponownym uruchomieniu systemu.
Po zebraniu wszystkich poprzednich bloków kodu otrzymaliśmy coś takiego:
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]
Teraz nasza sieć jest gotowa do działania, wszystko okazało się nie tak straszne, jak się początkowo wydawało, a kod okazał się bardzo piękny i czytelny. PC dziękuję za netplan, pod linkiem znajduje się doskonała instrukcja
Źródło: www.habr.com