Widziałem kilka osób, które twierdzą, że plik do ustawienia statycznego adresu IP nadal jest wyświetlany /etc/network/interfaces
Widziałem też innych ludzi, którzy mówili, że w 18.04 jest już włączony /etc/netplan
(co wydaje się niezadowoleni)
Próbowałem umieścić to:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses: [192.168.1.9/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]
W moim /etc/netplan/50-cloud-init.yaml
działaniu, sudo netplan apply
ale to po prostu zabija połączenie serwerów z Internetem.
networking
server
ip
18.04
końcowy 20
źródło
źródło
Odpowiedzi:
Jest to ustawiona statyczna instrukcja IP w Ubuntu-Server 18.04
Następnie zamień konfigurację, na przykład następujące wiersze:
Zatwierdź zmiany:
W przypadku napotkania niektórych problemów wykonaj:
[ UWAGA ]:
/24
jest równoważne z255.255.255.0
ens160
to twoja nazwa ethernetowa, którą możesz uzyskać za pomocą$ ifconfig
źródło
service networking restart
Wszystkie odpowiedzi
/etc/netplan/50-cloud-init.yaml
wymagające bezpośredniej edycji są niepoprawne, ponieważ CloudInit jest używany i wygeneruje ten plik. W Ubuntu 18.04.2 jest wyraźnie zapisane w pliku:Więc nie powinieneś edytować tego pliku, ale ten poniżej,
/etc/cloud/cloud.cfg.d/
jeśli nadal chcesz korzystać z CloudInit.Innym sposobem jest całkowite wyłączenie CloudInit najpierw poprzez utworzenie pustego pliku
/etc/cloud/cloud-init.disabled
(patrz https://cloudinit.readthedocs.io/en/latest/topics/boot.html ), a następnie inne odpowiedzi są prawidłowe. W Ubuntu 18.04.2 musiałem użyć,dpkg-reconfigure cloud-init
aby uwzględnić ten plik/etc/cloud/cloud-init.disabled
. Myślę, że to trochę dziwne.Sugeruję, aby zmienić nazwę pliku (
50-cloud-init.yaml
niepoprawna nazwa, ponieważ uważamy, że nadal używa CloudInit).Następnie możesz otrzymać nazwę pliku,
/etc/netplan/01-netcfg.yaml
która zawiera konfigurację poniżej. Zwróć uwagę na użycie mechanizmunetworkd
renderującego zamiast,NetworkManager
ponieważ konfiguracja jest na serwerze.źródło
sudo cloud-init clean -r
aby wprowadzić zmiany, zgodnie z odpowiedzią veperr (przynajmniej dla mnie na Ubuntu Server 18.04.3).renderer
ponadto wydaje się, że linia nie jest już poprawna (i brakuje jej w podstawowej wersji edytowanego pliku).Ubuntu 18.04 używa teraz Netplan do konfigurowania interfejsów sieciowych, więc konfiguracja musi zostać wykonana w pliku
/etc/netplan/50-cloud-init.yaml
, dokumentacja radzi, aby nie bałaganić starego pliku/etc/network/interfaces
. Użyłem tej konfiguracji z moją maszyną wirtualną Ubuntu Server i działa ona do tej pory, po prostu upewnij się, że informacje są poprawne;optional: true
ustawienie podobno przyspiesza czas bootowania za nie sprawdzenie, czy interfejs jest podłączony czy nie, jest to domyślne, także nie ma potrzeby do wartości oświadczyć, nie używany, na przykład DHCP, jeśli są one nieobecne są one traktowane jako wyłączone, również domyślnym mechanizmem renderującym w Ubuntu Server jestnetworkd
więc nie ma potrzeby deklarowania go. Biorąc informacje z twojego postu, powinno to wyglądać tak:Po zapisaniu pliku uruchom wyjście flaga będzie więcej informacji i może przyczynić się do wykrycia ewentualnych błędów. Sprawdź kabel Ethernet, jeśli w trybie wirtualnym przejrzyj konfigurację maszyny wirtualnej. Jeśli korzystam z sieci WLAN, przeczytałem, że konfiguracja jest nieco trudniejsza, ale nie skonfigurowałem jeszcze urządzenia podłączonego do Wi-Fi w tej wersji serwera.
sudo netplan --debug apply
debug
Jeśli chcesz uzyskać więcej informacji o Netplan, istnieje strona internetowa, zawiera kilka podstawowych przykładów konfiguracji.
https://netplan.io/
źródło
Plik konfiguracyjny ma format YAML : Nie używaj TAB podczas konfigurowania pliku. Działa tylko z SPACJĄ .
To był mój problem.
źródło
Znalazłem inny sposób korzystania z chmury-init.
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
- zawartość wydaje się taka sama, jak w / etc / netplan.wyczyść, uruchom ponownie i ponownie zainicjuj za
cloud-init
pomocą tego polecenia:To jest to! Twój system uruchomi
cloud-init
się ponownie , ponownie zainicjuje i przejmie zmianę/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
i zastosuje je,/etc/netplan/50-cloud-init.yaml
a wszystko będzie dobrze. Zweryfikuj za pomocąifconfig
.źródło
To ustawienie sprawia, że działa.
zrestartuj serwer
zmień eth0 na swój adapter, dowiedz się o swoim adapterze, używając ifconfig.
źródło
Aby znaleźć dostępne interfejsy Ethernet, użyj
ip link show
Następnie edytuj plik 50-cloud-init.yaml za pomocą
$sudo nano /etc/netplan/50-cloud-init.yaml
Dodaj konfigurację dostępnych interfejsów, takich jak eth0: i eth1:
Następnie użyj polecenia,
$sudo netplan apply
aby zastosować zmiany.źródło
Jak skonfigurować statyczny adres IP na Ubuntu Server 18.04
Następnie edytuj plik 50-cloud-init.yaml za pomocą
$sudo vim /etc/netplan/50-cloud-init.yaml
Zatwierdź zmiany:
$ sudo netplan apply
źródło
Konfiguracja sieci w 18.04 jest zarządzana przez netplan i konfigurowana z chmurą init. Aby zmienić konfigurację sieci, edytuj
50-curtin-networking.cfg
plik w/etc/cloud/cloud.cfg.d/
. Jeśli ten plik nie istnieje, utwórz go.Znajdź nazwę swojego interfejsu
Edytuj / utwórz plik konfiguracji sieci inicjującej chmurę
Aby ustawić statyczny adres IP, użyj klucza adresu, który pobiera listę adresów (IPv4 lub IPv6) wraz z długością prefiksu podsieci (np. / 24). Można również podać informacje o bramie i DNS:
Więcej opcji konfiguracji można znaleźć na https://netplan.io/examples
Ponownie załaduj konfigurację inicjującą chmurę. Spowoduje to ponowne uruchomienie serwera.
źródło