Ubuntu niesamowity system operacyjny, dawno z nim nie pracowałem Ubuntu Serwer i aktualizacja mojego pulpitu ze stabilnej wersji nie miały sensu. I tak niedawno musiałem się zmagać z zupełnie nową wersją. Ubuntu Na serwerze 18.04 byłem absolutnie zdumiony, gdy uświadomiłem sobie, że jestem daleko w tyle i nie mogę skonfigurować sieci, ponieważ stary, dobry system konfiguracji interfejsów sieciowych poprzez edycję pliku /etc/network/interfaces zniknął. A co go zastąpiło? Coś przerażającego i na pierwszy rzut oka zupełnie niezrozumiałego – poznajcie „Netplan”.
Szczerze mówiąc, na początku nie rozumiałem, o co chodzi i „po co to wszystko, przecież wszystko jest takie wygodne”, ale po krótkiej praktyce zrozumiałem, że ma to swój urok. Dość już tych lirycznych dywagacji, przejdźmy do tego, czym jest Netplan. To nowe narzędzie do konfiguracji sieci w… Ubuntu, przynajmniej „Nie spotkałem się z czymś podobnym w innych dystrybucjach”. Istotną różnicą w porównaniu z Netplan jest to, że konfiguracja jest napisana w języku , tak, dobrze słyszałeś YAML, programiści postanowili iść z duchem czasu (i niezależnie od tego, jak bardzo go chwalą, nadal uważam, że to okropny język). Główną wadą tego języka jest to, że jest bardzo wrażliwy na spacje, spójrzmy na konfigurację na przykładzie.
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:noSpó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.8Tutaj 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 i konfigurację można uznać za zakończoną.
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
