Począwszy od około Ubuntu 18.04, deweloperzy Ubuntu przestali używać klasycznej /etc/init.d/networking
i /etc/network/interfaces
metody konfiguracji sieci i przełączyli się na coś zwanego netplan
. To bardzo rozzłościło wielu ludzi i zostało powszechnie uznane za zły ruch. Czy można usunąć netplan
i użyć poprawnej /etc/network/interfaces
metody konfiguracji sieci?
networking
network-manager
18.04
netplan
jdgregson
źródło
źródło
systemd
rozumiem, że destrukcyjne zmiany mogą czasem być korzystne i zostać uwzględnione. Jednak z pewnością nie jest to jeden z tych czasów, kiedy zmiana była potrzebna lub korzystna./etc/network/interfaces
, pasuje do większego obrazu systemowego. Mogę tylko zaufać, że ci, którzy wprowadzili zmianę, wiedzą, dlaczego jest to lepsze dopasowanie.Odpowiedzi:
Poniższa procedura działa dla Ubuntu 18.04 (Bionic Beaver)
I. Ponownie zainstaluj pakiet ifupdown :
II. Skonfiguruj plik / etc / network / interfaces za pomocą sekcji konfiguracji, takich jak:
III. Uczyń konfigurację skuteczną (nie jest wymagane ponowne uruchomienie):
IV. Wyłącz i usuń niechciane usługi:
Więc skończyłeś.
Uwaga: Państwo musi oczywiście dostosować wartości w zależności od systemu (sieci, nazwa interfejsu ...).
V. Resolver DNS
Ponieważ Ubuntu Bionic Beaver (18.04) korzysta z mechanizmu rozpoznawania kodów pośredniczących DNS dostarczonego przez SYSTEMD-RESOLVED.SERVICE (8), POWINIENEŚ także dodać DNS do kontaktu z plikiem /etc/systemd/resolved.conf. Na przykład:
a następnie ponownie uruchom usługę rozwiązaną przez system po zakończeniu:
Wpisy DNS w pliku INTERFACES (5) ifupdown, jak pokazano powyżej, są istotne tylko wtedy, gdy używasz RESOLVCONF (8) lub podobnego.
źródło
apt-get install
wtedy, gdy nie masz konfiguracji sieci. Co za wspaniały pomysł, kanoniczny.# systemctl unmak networking
-># systemctl unmask networking
dns-domain
iwdns-search
pliku interfejsów, powinieneś skonfigurowaćDomains
parametr w resolved.conf, tak myślę? W każdym razie, świetna robota, łącząc to wszystko tutaj, prawdopodobnie zaoszczędziło mi dużo czasu :)Zespół Netplan opublikował oficjalną odpowiedź na często zadawanych pytaniach tutaj :
Zobacz pełną odpowiedź Nuxwina.
źródło
Netplan i yaml są co najwyżej delikatne w środowisku tylko na serwerze (błędy wcięcia będą cię kosztować). Interfejsy były na tyle wybaczające, że znacznie ułatwiły zarządzanie ustawieniami sieciowymi na serwerze.
Netplan wprowadza nowe warstwy. Ale prawdziwym problemem jest to, że U18 psuje ifupdown i nie kończy zadania z NetPlan. Jeśli powrócisz do / etc / network / interfaces przez ponowną instalację ifupdown zarządzanie DNS nie działa już w pliku interfejsów. Wszelkie wpisy dns-nameservers są ignorowane. Zamiast tego dns jest ustawiony w /etc/resolv.conf. Ale nie możesz edytować tego pliku, ponieważ jest on ponownie zapisywany przy każdym uruchomieniu komputera. WTF? Netplan został zaprojektowany do zarządzania przez GUI, więc ci z nas w obozie tylko dla serwerów mają kruchy system, który musimy omijać. Nie dobre Ubuntu!
dlaczego nie dać nam sposobu przekierowania ustawień w / etc / network / interfaces do netplan podczas uruchamiania, aby pomóc nam w zakończeniu Netplan?
źródło
Dlaczego nie po prostu skonfigurować za pomocą Netplan?
Cóż, jak skonfigurowano w 18.04-Desktop, jest to pojedyncza linia przekazująca kontrolę nad wszystkimi interfejsami do NetworkManager.
Chociaż jest to prawdopodobnie odpowiednie dla 95% użytkowników, pamiętaj, że NetworkManager jest uruchamiany tylko po zalogowaniu się do sesji.
Jeśli chcesz, aby Twój komputer działał jako serwer / komputer stacjonarny, na przykład zacznij udostępniać pliki na komputerach lokalnych, działając jako serwer VNP itp. Itp. Lub coś „fantazyjnego”, zanim ktokolwiek się zaloguje, po prostu dlatego, że tak jest na, będziesz mieć problemy ze konfiguracją w standardowym 18.04-Desktop.
Oczywiście alternatywą byłoby użycie konfiguracji serwer-Netplan, która, o ile przeczytałem (nie sprawdziłem przez siebie), przekazuje kontrolę nad systemd-networkd. W takim przypadku powinieneś dowiedzieć się, jak systemd robi rzeczy, zastępując starą init z Systemu V.
Jeśli pójdziesz tą ścieżką, nadal musisz wprowadzić zmiany w netplan yaml, ponieważ w wersji komputerowej kontrola jest przekazywana NetworkManagerowi.
źródło
netplan
katalogi są puste!Kluczem jest wiedza, że
cloud.init
to prawdziwy program kontroli.Biorąc to pod uwagę, wiersz w
netplan
pliku konfiguracyjnym „opcjonalne: prawda” jest obowiązkowy.Wiedząc, że to ułatwiło.
Właśnie usunąłem
01-network-manager-all.yaml
i skopiowałem to/root/save/
. Następnie zamiast tego umieść znaną dobrą konfigurację50-cloud-init.yaml
: jej zawartość jest następująca:Następnie uruchom ponownie i powinno działać dobrze.
Znana dobra konfiguracja pochodzi z Konfiguruj połączoną sieć 802.3ad za pomocą netplan na Ubuntu 18.04 .
źródło
Zgodnie z tą odpowiedzią rozwiązaniem jest usunięcie wszystkich działających plików .yaml: Ubuntu 17.10 wyłącza netplan
Nie usunę niczego bez tworzenia kopii zapasowej. Możemy to zrobić łatwo, po prostu przenosząc pliki na bok. Najpierw zlokalizuj pliki:
W moim systemie 18.04 wydaje się, że jedynym plikiem operacyjnym jest /etc/netplan/01-network-manager-all.yaml. Przenieśmy to:
... gdzie użytkownik to Twoja nazwa użytkownika.
Teraz sprawdź, czy plik naprawdę zniknął:
Teraz dodaj wymagane elementy do / etc / network / interfaces.
Restart.
Jakaś poprawa?
Przypis: Trudno znaleźć dokładny proces, aby to zrobić. Być może będziemy musieli dopracować nieco w miarę upływu czasu.
źródło
ifup
/ifdown
,/etc/init.d/networking restart
,service networking restart
oraz metody Systemd, jaksystemctl restart networking
,systemctl restart Network-Manager.service
itp, ale żaden z nich nie było możliwe dla mnie po zainstalowaniu Ubuntu 18.04.sudo ip link set eth0 down
a następnie:sudo ifup -v eth0
Oczywiście zamień swój interfejs na mityczny eth0.ifupdown
nie jest instalowany domyślnie, więc po wywołaniuifup
mówi po prostu, jak go zainstalować.sudo ip link set eth0 down
Następuje jednaksudo ip link set eth0 up
wyłączenie i ponowne włączenie interfejsu.