So richten Sie eine statische IP für den Netzwerkmanager in Virtual Box unter Ubuntu Server ein

12

Hallo, ist jemand mit der Nicht-GUI-Version von Ubuntus Network Manager vertraut?

Ich möchte damit eine statische IP in der Virtualbox einrichten, ohne die Datei zu berühren /etc/network/interfaces.

  • IP: 192.168.56.101
  • Gateway: 102.168.1.1
  • Netzmaske: 255.255.255.0

Zusätzlich möchte ich eine zweite Netzwerkschnittstelle mit einer dynamischen IP einrichten, um mit der Vbox eine Verbindung zum Internet herzustellen.

Josh
quelle

Antworten:

5

Sie müssen Network Manager über die Befehlszeile verwenden. Dies ist nmcli .

Zunächst können Sie die verfügbaren Verbindungen, die Network Manager kennt, wie folgt auflisten. Dies ist wichtig, um den Namen zu finden, da die Geräte-ID nicht verwendet wird:

# nmcli con show

Dies gibt Ihnen so etwas wie:

NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  7a3b674a-f346-3cfb-8b30-ff70e6db1b60  802-3-ethernet  enp0s3

Sie können die Verbindung dann folgendermaßen ändern:

nmcli con mod "Wired connection 1"
  ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"
  ipv4.gateway "IP_GATEWAY"
  ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"
  ipv4.dns-search "DOMAIN_NAME"
  ipv4.method "manual"

Wenn Sie oben eine Zeile eingeben, habe ich sie nur in separate Zeilen aufgeteilt, um sie klarer zu machen.

Wenn Sie die Verbindung für die Verwendung von DHCP einstellen möchten, können Sie Folgendes verwenden:

nmcli con mod "Wired connection 1"
  ipv4.addresses ""
  ipv4.gateway ""
  ipv4.dns ""
  ipv4.dns-search ""
  ipv4.method "auto"

Sie benötigen alle leeren Anführungszeichen, da sie alle zuvor vorgenommenen Einstellungen entfernen.

Verwenden Sie zum Hinzufügen eines Netzwerks:

nmcli con add ...

Mit ähnlichen Parametern.

Starten Sie neu, um die Einstellungen zu aktivieren. (Ich habe versucht, Network Manager neu zu starten, aber das schien die Änderungen nicht zu aktivieren, aber ein Neustart hat es getan.)

John Simmonds
quelle
Die Typflagge war mir nicht klar. Ich habe eth1die interne Netzwerkschnittstelle mit statischer IP eingerichtet. sudo nmcli con add type "ethernet" ifname "eth1" con-name "intnet" autoconnect "yes" ip4 "192.168.0.1/24" gw4 "192.168.0.2"
Jack Miner Ewes
6

Für diejenigen, die den NetworkManager-Ansatz wollen, habe ich dies einfach durchgearbeitet und die vorgeschlagene Vorgehensweise gewählt. Es gibt einen Hauch von Informationen im Debian-Wiki und eine vollständige Dokumentation der Optionen auf der GNOME-Entwicklerseite . (Aus den RHEL7-Dokumenten geht hervor, dass ihre Version von nmcliUnterstützung bietet, also hoffentlich wird es das schaffen.)

Die dynamische IP ist ziemlich einfach (nur die Netzwerkkonfiguration, nicht die VBox-Seite):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 1
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=disabled

[ipv4]
method=auto

Verwenden Sie uuidgen(Paket uuid-runtime), um die UUID zu erstellen , und geben Sie die MAC-Adresse natürlich richtig ein. (Normalerweise ist es besser, dies zu tun, als einen Gerätenamen anzugeben.)

Für die statische IP (beachten Sie das Semikolon auf dem DNS-Array!):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 2
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=ignore

[ipv4]
method=manual
dns=8.8.8.8;8.8.4.4;
address1=192.168.56.101/24,192.168.1.1
jtniehof
quelle
1
Dies ist das Verzeichnis, in dem die Datei oben gezeigt wird/etc/NetworkManager/system-connections/
Aaron Lelevier
3

Normalerweise bearbeite ich die Datei /etc/network/interfacesund ändere die Informationen wie folgt:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1 (u had 102.168.1.1. So, I guessed it was a mistake)
AcidRod75
quelle
5
Das OP sagte, er wollte / etc / network / interfaces nicht berühren
guntbert
Sie haben Recht, ich würde es gerne über den Netzwerkmanager tun. Da die Dokumentation hierzu jedoch nicht berührt wird, ist das Berühren der Schnittstellendatei in Ordnung.
Josh
2

Da es sich bei der Frage speziell um NetworkManager handelt: Ich habe nie eine NM-Verbindung über die CLI konfiguriert und das nmcliTool scheint keine Option zum Erstellen einer Verbindung zu haben. Möglicherweise möchten Sie jedoch einen Blick darauf werfen, was die GUI tut, wenn Sie eine Verbindung als Systemverbindung deklarieren. Es wird eine Datei erstellt, /etc/NetworkManager/system-connectionsaber ich weiß nicht, ob das Dateiformat irgendwo dokumentiert ist.

Sie sollten in der Lage sein, eine dieser Verbindungen über zu aktivieren nmcli con up $name.

mss
quelle
2

Bearbeiten:

Um eine weitere Schnittstelle hinzuzufügen, die in Vbox auf das Internet zugreifen kann, verwenden Sie die Registerkarte Netzwerk des Einstellungsmenüs. Aktivieren Sie dann eine zusätzliche Schnittstelle und setzen Sie sie auf NAT (da dies der einfachste Weg ist, ins Internet zu gelangen). Und in der drahtlosen Maschine fügen Sie eine weitere Schnittstelle mit DHCP wie folgt hinzu: allow-hotplug eth1und nach einem Zeilenumbruchiface eth1 inet dhcp

(Aus irgendeinem Grund ist meine Formatierung schlecht geworden.)

Auf diese Weise können Sie über die Verbindung des Host-Betriebssystems auf das Netz zugreifen.


Die Befehlszeile "Client" von Network-Manager ist verwirrend und im Vergleich zur Standardmethode zum Verwalten von Schnittstellen unter Linux (und den meisten anderen Unixen) ziemlich nutzlos. Normalerweise würden Sie zuerst die bereits aktivierte Netzwerkschnittstelle herunterfahren (falls aktiviert) {Führen Sie ifconfig aus, um dies herauszufinden}:

ifconfig eth0 down #note: I assume you want to configure eth0, replace it if not

Danach bearbeiten Sie die Datei / etc / network / interfaces (ich bevorzuge die Verwendung von nano):

sudo nano /etc/network/interfaces

Und fügen Sie einen Abschnitt hinzu, der wie folgt aussieht:

allow-hotplug eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

Beachten Sie auch, dass Sie jedes andere Vorhandensein von eth0 aus der Datei entfernen müssen, da das System die Datei sonst nicht korrekt analysieren kann und keine Netzwerkverbindung besteht. Und schließlich müssen Sie die Schnittstelle wieder aktivieren:

ifup eth0

Dies sollte dazu führen, dass Ihr Ubuntu die Schnittstelle automatisch mit den gewünschten Parametern einrichtet, wenn es feststellt, dass das "Kabel angeschlossen" ist.

Auch wenn Sie das Bearbeiten der Schnittstellendatei wirklich vermeiden möchten, können Sie Folgendes verwenden:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Ich denke, dass die Änderungen auf diese Weise nicht dauerhaft sind (Sie verlieren sie zwischen Neustarts usw.), aber ich hatte das selbst nicht getestet.

Wolfer
quelle
Sie hätten über den Befehl erzählen können ip- ifconfigist auf dem Rückzug.
Guntbert
2

Derzeit ist in Ubuntu-Versionen der Netzwerk-Manager aktiviert.

Sie können den Verbindungsnamen mit dem folgenden Befehl abrufen:

nmcli con show

Sie können Ihre statische IP-Adresse über die Befehlszeile ändern:

sudo nmcli con mod "Connection name" ipv4.addresses xxx.xxx.xxx.xxx/24

Hinweis: / 24 definiert die Netzwerkmaske auf 255.255.255.0

Datei /ect/network/interfaceswird ignoriert , wenn Sie die Eigenschaft haben , managed=falseauf/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=**false**
Juanjo
quelle
0

Angenommen, Sie meinten 192.168.1.1 anstelle von 102.168.1.1. 192.168.56.101 und 192.168.1.1 befinden sich in verschiedenen Netzwerken und sprechen nicht ohne Hilfe. Was Sie brauchen, ist Folgendes:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

Angenommen, Sie haben eine Box (Router / Layer3-Switch usw.) mit einer IP-Adresse von 192.168.56.1 zur Beantwortung.

Bei a / 24 (255.255.255.0) müssen die ersten drei Oktette auf dem Host und dem Standard-Gateway 192.168.56.X oder 192.168.1.X übereinstimmen.

user125242
quelle
1
Das OP sagte, er wollte / etc / network / interfaces nicht berühren.
Guntbert