Bearbeiten von Netzwerkschnittstellen ohne Neustart des Systems

23

Ich möchte einige Änderungen an meiner Netzwerkkonfiguration vornehmen, indem ich meine /etc/network/interfacesDatei bearbeite . Was ist der sauberste Weg, um Änderungen an dieser Datei vorzunehmen und diese wirksam werden zu lassen, ohne dass ein Neustart erforderlich ist? Normalerweise habe ich Folgendes gemacht:

  1. Bearbeiten Sie die Datei
  2. service networking restart

Aber ich habe den Eindruck, dass dies nicht der "richtige" Weg ist, solche Änderungen vorzunehmen.

Lorin Hochstein
quelle
Neustart des Service-Netzwerks fast = /etc/init.d/networking restart.
Shantanu

Antworten:

11

Fahren Sie die Netzwerkschnittstelle mit herunter

sudo ifdown eth0

(Ersetzen Sie sie eth0durch die Schnittstelle, die Sie ändern möchten), und rufen Sie sie mit erneut auf

sudo ifup eth0
Florian Diesch
quelle
4
Das hat bei mir nicht funktioniert. Es gab mir nur einen Fehler "eth0 nicht konfiguriert". Ich musste das System neu starten, damit die Änderung am 12.04 wirksam wurde.
JohnMerlino
3

In Ubuntu Server 16.04 müssen Sie den Befehl ip verwenden, um die Adresse zu löschen, bevor Sie das Netzwerk neu starten. Andernfalls werden Änderungen an der Adresse in der Interface-Datei nicht wirksam:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

Ich habe diese Antwort von diesem hilfreichen Artikel erhalten

BrianD
quelle
Perfekt, das sollte die Antwort auf die Frage sein.
Drew
2

Stoppen Sie alle Schnittstellen mit

sudo /etc/init.d/networking stop

Konfigurieren Sie dann Ihre Schnittstellen nach Ihren Wünschen

Starten Sie sie erneut

sudo /etc/init.d/networking start

Es ist kein Neustart erforderlich.

Achu
quelle
3
Dies funktionierte auch in Ubuntu 12.04 nicht. Nur das Neustart-System funktionierte.
JohnMerlino
0

Warum denkst du nicht, dass es der richtige Weg ist? Überlegen Sie, was Ubuntu beim Booten zusätzlich tun kann. Ubuntu hat eine Liste von Diensten, die während des Bootens ausgeführt werden müssen. Jeder Dienst hat eine Liste von aufeinanderfolgenden Befehlen, um sich selbst zu starten. Ubuntu führt den Netzwerkdienst nur über das Skript /etc/init.d/networking aus, das einige Befehle enthält, die zum Ausführen des Netzwerkdienstes erforderlich sind. Wenn also Änderungen in Ihrem Netzwerk vorgenommen werden müssen, müssen Sie Ihren Dienst neu starten und die aufeinander folgenden Befehle Ihres Dienstes abrufen.

Shantanu
quelle
Da durch einen Neustart garantiert alle von mir eingerichteten Schnittstellen gelöscht werden. Wenn ich eine Schnittstelle aus meiner Schnittstellendatei entferne, wird sie durch einen Neustart des Netzwerkskripts nicht entfernt.
Lorin Hochstein
bist du sicher? Jede Änderung im Netzwerk wird für mich mit sudo /etc/init.d/networking restart durchgeführt.
Shantanu
Wenn ich zum Beispiel ein getaggtes vlan (z. B. eth0.123) erstelle, scheint es nicht automatisch zerstört zu werden, wenn ich das Netzwerk neu starte
Lorin Hochstein
sudo eth0 down --- sudo eth0 up
shantanu
/etc/init.d/networking Alle Netzwerkkonfigurationsdateien erneut lesen und alle Einstellungen aktualisieren. Warum sollte die erstellte Schnittstelle zerstört werden? Wenn Sie Ihre IP- oder DNS-Adresse oder diese Art von Informationen ändern, reicht / etc / ... aus. Wenn Sie ein virtuelles LAN erstellen, müssen Sie Ihre Ethernet-Schnittstelle neu starten (sudo eth0 down, sudo eth0 up).
Shantanu
0

/etc/network/interfaces steuert die ifupdown-Tools.

Nachdem Sie Änderungen vorgenommen haben, können Sie einfach z sudo ifup eth0.

Poolie
quelle
0

Eigentlich funktioniert nichts davon. Getestet unter Ubuntu 16.10. diese hatten keine Wirkung.

  • ifdown ens3 und ifup ens3
  • Dienstnetzwerk stoppen und starten
  • Service-Netzwerk neu laden
  • systemctl stoppe networking.service und starte dann neu.

Durch all diese kam die alte DHCP-IP zurück und nicht die statische. Ich frage mich, ob das beabsichtigt ist.

SLS
quelle