Ich habe gesehen, dass einige Leute sagen, die Datei zum Festlegen der statischen IP ist immer noch /etc/network/interfaces
Und ich habe andere Leute gesehen, die sagten, dass es im 18.04 jetzt losgeht /etc/netplan
(worüber die Leute unglücklich zu sein scheinen)
Ich habe versucht, dies auszudrücken:
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]
In meinem /etc/netplan/50-cloud-init.yaml
und im Tun sudo netplan apply
aber bricht das gerade die Serververbindung zum Internet ab.
networking
server
ip
18.04
final20
quelle
quelle
Antworten:
Dies ist eine statische IP-Anweisung in Ubuntu-Server 18.04
Ersetzen Sie dann Ihre Konfiguration, z. B. die folgenden Zeilen:
Änderungen übernehmen:
Falls Sie auf einige Probleme stoßen, führen Sie Folgendes aus:
[ HINWEIS ]:
/24
ist gleichbedeutend mit255.255.255.0
ens160
Ist Ihr Ethernet-Name, können Sie ihn verwenden$ ifconfig
quelle
service networking restart
Alle Antworten, die Sie zum direkten Bearbeiten
/etc/netplan/50-cloud-init.yaml
auffordern , sind falsch, da CloudInit verwendet wird und diese Datei generiert. In Ubuntu 18.04.2 ist es klar in der Datei geschrieben:Sie sollten diese Datei also nicht bearbeiten, sondern die unter,
/etc/cloud/cloud.cfg.d/
wenn Sie CloudInit weiterhin verwenden möchten.Eine andere Möglichkeit besteht darin, CloudInit vollständig zu deaktivieren, indem Sie zuerst eine leere Datei erstellen
/etc/cloud/cloud-init.disabled
(siehe https://cloudinit.readthedocs.io/en/latest/topics/boot.html ). Die anderen Antworten sind in Ordnung. Unter Ubuntu 18.04.2 musste ich damitdpkg-reconfigure cloud-init
die Datei berücksichtigen lassen/etc/cloud/cloud-init.disabled
. Ich finde das ein bisschen komisch.Ich empfehle Ihnen, die Datei umzubenennen (nicht der richtige Name, da
50-cloud-init.yaml
wir annehmen, dass CloudInit weiterhin verwendet wird).Dann erhalten Sie möglicherweise einen Dateinamen,
/etc/netplan/01-netcfg.yaml
der die folgende Konfiguration enthält. Beachten Sie die Verwendung desnetworkd
Renderers, anstattNetworkManager
dass sich die Konfiguration auf einem Server befindet.quelle
sudo cloud-init clean -r
gemäß der Antwort von veperr eine Aktion ausführen, um die Änderung zu übernehmen (zumindest für mich unter Ubuntu Server 18.04.3).renderer
Zeile scheint nicht mehr gültig zu sein (und fehlt in der Basisversion der von Ihnen bearbeiteten Datei).Ubuntu 18.04 verwendet jetzt Netplan, um die Netzwerkschnittstellen zu konfigurieren. Die Konfiguration muss in der Datei erfolgen
/etc/netplan/50-cloud-init.yaml
. In der Dokumentation wird empfohlen, nicht mehr mit der alten Datei zu arbeiten/etc/network/interfaces
. Ich habe diese Konfiguration mit meiner virtuellen Ubuntu Server-Maschine verwendet und sie funktioniert bis jetzt. Vergewissern Sie sich nur, dass die Informationen korrekt sind. Dieoptional: true
Einstellung soll die Startzeit verkürzen, indem nicht überprüft wird, ob die Schnittstelle angeschlossen ist oder nicht. Dies ist die Standardeinstellung. Außerdem müssen keine nicht verwendeten Werte deklariert werden, z. B. DHCP Der Standard-Renderer in Ubuntu Server istnetworkd
so, dass er nicht deklariert werden muss. Wenn Sie die Informationen aus Ihrem Beitrag übernehmen, sollte dies folgendermaßen aussehen:Sobald Sie die Datei gespeichert haben, gibt
sudo netplan --debug apply
dasdebug
Flag weitere Informationen aus und kann helfen, Fehler zu erkennen. Überprüfen Sie das Ethernet-Kabel, wenn Sie die VM-Konfiguration virtuell überprüfen. Wenn ich ein WLAN verwende, habe ich gelesen, dass das Einrichten etwas komplizierter ist, aber ich habe noch keinen Computer eingerichtet, der mit dieser Serverversion mit WLAN verbunden ist.Wenn Sie weitere Informationen zu Netplan wünschen, gibt es eine Website mit einigen grundlegenden Konfigurationsbeispielen.
https://netplan.io/
quelle
Die Konfigurationsdatei hat das YAML-Format : Verwenden Sie beim Konfigurieren der Datei nicht die Tabulatortaste . Es funktioniert nur mit SPACE .
Das war mein Problem.
quelle
Ich habe einen anderen Weg mit Cloud-Init gefunden.
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
- der Inhalt scheint derselbe zu sein wie in / etc / netplan.Bereinigen, neu starten und neu initialisieren
cloud-init
mit diesem Befehl:Das ist es! Ihr System wird neu gestartet,
cloud-init
initialisiert und übernimmt die Änderung in/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
und wendet sie auf an,/etc/netplan/50-cloud-init.yaml
und alles wird gut. Bestätigen Sie mitifconfig
.quelle
Dies ist die Einstellung, die es funktioniert.
Starten Sie den Server neu
Ändern Sie eth0 in Ihren Adapter. Ermitteln Sie Ihren Adapter mit ifconfig.
quelle
Um verfügbare Ethernet-Schnittstellen zu finden, verwenden Sie
ip link show
Bearbeiten Sie anschließend die Datei 50-cloud-init.yaml mit
$sudo nano /etc/netplan/50-cloud-init.yaml
Fügen Sie die Konfiguration für verfügbare Schnittstellen wie eth0: und eth1: hinzu.
Verwenden Sie dann den Befehl
$sudo netplan apply
, um die Änderungen zu übernehmen.quelle
So richten Sie eine statische IP unter Ubuntu Server 18.04 ein
Bearbeiten Sie anschließend die Datei 50-cloud-init.yaml mit
$sudo vim /etc/netplan/50-cloud-init.yaml
Änderungen übernehmen:
$ sudo netplan apply
quelle
Die Netzwerkkonfiguration in 18.04 wird über netplan verwaltet und mit cloud-init konfiguriert. Um Ihre Netzwerkkonfiguration zu ändern, bearbeiten Sie die
50-curtin-networking.cfg
Datei in/etc/cloud/cloud.cfg.d/
. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie.Finden Sie Ihren Schnittstellennamen
Bearbeiten / Erstellen Sie die Cloud-Init-Netzwerkkonfigurationsdatei
Verwenden Sie zum Festlegen einer statischen IP-Adresse den Adressschlüssel, der eine Liste von (IPv4- oder IPv6-) Adressen zusammen mit der Subnetz-Präfixlänge (z. B. / 24) enthält. Gateway- und DNS-Informationen können ebenfalls bereitgestellt werden:
Weitere Konfigurationsoptionen finden Sie unter https://netplan.io/examples
Laden Sie die Cloud-Init-Konfiguration neu. Dadurch wird Ihr Server neu gestartet.
quelle