Was ist die maßgeblichste Datei / der autorisierendste Prozess zum Verwalten von IP-Adressen auf einem 18.04-Server?


8

Der 18.04 Server-Installationsprozess erstellt /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg, was wiederum zu generieren scheint /etc/netplan/50-cloud-init.yaml. Ich kann anscheinend nicht genau herausfinden, wie daraus 50-cloud-init.yamlgeneriert wird 50-curtin-networking.cfg.

Was ist die empfohlene Methode zum Verwalten von IP-Adressen auf einem 18.04-Server? Bearbeiten 50-curtin-networking.cfgund dann einen Befehl (?) Ausführen, um zu aktualisieren 50-cloud-init.yaml? Oder ein anderer Prozess?


network-configerzeugt 50-cloud-init.cfg. und cloud-init( cloudinit.readthedocs.io/en/latest ) Trigger network-config( cloudinit.readthedocs.io/en/latest/topics/network-config.html ). Dies geschieht bei der ersten Erstellung und beim Neustart, jedoch nur, wenn Sie dies erzwingen.
Rinzwind

Ich habe keine Dateien mit dem Namen 50-cloud-init.cfg- ich habe 50-curtin-networking.cfgund 50-cloud-init-yaml. Meinten Sie das erstere? Wenn ja, wie genau erzwingen Sie die Regeneration 50-cloud-init.yamlvon Cloud-Init 50-curtin-networking.cfg?
kartik_subbarao

Antworten:


5

Nehmen Sie Ihre Netzwerkänderungen an der Datei /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg vor, als würden Sie sie in die yaml-Datei einfügen.

Dann machen Sie folgendes:

sudo cloud-init clean
sudo cloud-init init
sudo netplan apply

Dadurch wird Ihre 50-curtin-network.cfg-Datei verarbeitet, die 50-cloud-init.yaml-Datei generiert und die yaml-Datei netplan configuration angewendet.

Auf diese Weise können Sie Ihre Netzwerkkonfiguration in die Datei 50-curtin-network.cfg schreiben, wie aus den Kommentaren hervorgeht.

Ein Großteil der Verwirrung zwischen dem Einrichten des Netzwerks in der Datei 50-cloud-init.yaml und der Datei 01-netcfg.yaml im Verzeichnis / etc / netplan ist auf das für Ubuntu 18.04 LTS verwendete Installationsprogramm zurückzuführen.

Das Live-Installationsprogramm verwendet Cloud-Init, das alternative Installationsprogramm jedoch nicht.

Für die Vernetzung ändert die Auswahl Ihres Installationsprogramms die Art und Weise, wie Sie die Vernetzung einrichten.

ubuntu-18.04.1-server-amd64.iso -> 01-netcfg.yaml ubuntu-18.04.1-live-server-amd64.iso -> 50-curtin-network.cfg


2
Sie möchten Cloud-Init Clean nur dann aufrufen, wenn Sie diesen Computer als Cloud-Image einrichten. Cloud-Init wird so konzipiert, dass es beim ersten Start eines Computers ausgeführt wird (z. B. beim Bereitstellen einer neuen VM).
Dmuir

2

Ich gehe davon aus, dass dies ein gewöhnlicher Server ist, der sich hinter einem Router oder Switch befindet und dann eine Verbindung zum Internet herstellt. Ich würde die 50-cloud-init.yamlDatei umbenennen :

sudo mv /etc/netplan/50-cloud-init.yaml  /etc/netplan/01-netcfg.yaml 

Dann finden Sie den entsprechenden Schnittstellennamen heraus:

ifconfig 

Angenommen, Ihre relevante Schnittstelle ist beispielsweise enp0s25, bearbeiten Sie die Datei:

sudo nano /etc/netplan/01-netcfg.yaml 

Ändern Sie die Datei zu lesen:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      addresses: [192.168.100.40/22]
      gateway4: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

Ersetzen Sie hier natürlich Ihre genauen Angaben. Abstand, Einrückung usw. sind entscheidend. Sorgfältig Korrektur lesen. Speichern Sie (Strg + O gefolgt von Eingabe) und schließen Sie den Texteditor (Strg + X).

Nächster:

sudo netplan apply
sudo ip link set enp0s25 down
sudo ip link set enp0s25 up

Haben Sie die gewünschte IP-Adresse erhalten?

ip addr show

Kannst du pingen?

ping -c3 8.8.8.8
ping -c3 www.ubuntu.com

Wenn Sie Ping-Retouren erhalten, sind Sie fertig.


Es scheint, als würden Sie vorschlagen, dass der Text oben in 50-cloud-init.yaml, der vor einer manuellen Bearbeitung warnt, ignoriert wird :-) Dies könnte der Ansatz sein, den ich gewählt habe, aber ich würde es im Idealfall tun Verstehe, warum dieser Text überhaupt da ist. Vermutlich hatten die Designer bei der Erstellung dieses Prozesses einen gewissen Workflow im Auge. Und was ist mit /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg?
kartik_subbarao

Ich habe die Frage umbenannt, um sie hoffentlich klarer zu machen.
kartik_subbarao

Ist das eine Cloud-Instanz?
Chili555

Nein, es ist keine Cloud-Instanz. Es ist ein eigenständiger Server in einem internen Netzwerk.
kartik_subbarao

Das habe ich oben gemeint, als ich sagte: "Ich nehme an, dies ist ein gewöhnlicher Server, ..." Bitte überprüfen Sie hier: blog.printk.io/2018/04/… Ich denke immer noch, dass 01-netcfg.yaml angemessen ist.
Chili555

0

Am Ende habe ich die Datei /etc/systemd/resolved.conf bearbeitet, den Kommentar in der Zeile DNS = entfernt und meine bevorzugten DNS-Einträge mit einem Leerzeichen zwischen den Einträgen IE: DNS = 8.8.8.8 8.8.4.4 hinzugefügt


0

Für mich in Ubuntu 19.04cloud-init init schreibt 50-curtin- network.cfg nicht in 50-cloud-init.yaml, es sei denn, Sie fordern systemctl auf, den Cloud-init-local-Dienst neu zu starten ...

cloud-init clean
systemctl restart cloud-init-local.service
netplan apply
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.