Come configurare un IP statico per gestore di rete in Virtual Box su Ubuntu Server


12

Salve, c'è qualcuno che abbia familiarità con la versione non gui di Ubuntus Network Manager?

Vorrei impostare un IP statico con esso in virtualbox senza toccare il file /etc/network/interfaces.

  • IP: 192.168.56.101
  • Gateway: 102.168.1.1
  • Maschera di rete: 255.255.255.0

Inoltre, vorrei configurare una seconda interfaccia di rete con un IP dinamico per connettersi a Internet con Vbox.

Risposte:


6

Devi usare Network Manger dalla riga di comando, questo è nmcli .

Innanzitutto, puoi elencare le connessioni disponibili di cui Network Manager è a conoscenza con quanto segue, questo è importante per trovare il nome, poiché l'id del dispositivo non viene utilizzato:

# nmcli con show

Questo ti darà qualcosa di simile:

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

È quindi possibile modificare la connessione con quanto segue:

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"

Quando inserisci il precedente usa una riga, l'ho appena diviso in righe separate per renderlo più chiaro.

Se si desidera impostare la connessione per utilizzare DHCP, è possibile utilizzare quanto segue:

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

Hai bisogno di tutte le virgolette vuote poiché rimuovono tutte le impostazioni che hanno precedentemente.

Per aggiungere una rete, utilizzare:

nmcli con add ...

Con parametri simili.

Per rendere attive le impostazioni, riavviare. (Ho provato a riavviare Network Manager, ma questo non sembra attivare le modifiche, ma è stato riavviato.)


La bandiera del tipo non era ovvia per me. Ho impostato eth1come interfaccia di rete interna utilizzando IP statico. 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

Per coloro che desiderano l'approccio NetworkManager, l'ho appena esaminato, prendendo la soluzione suggerita. C'è un tocco di informazioni sul wiki di Debian e la documentazione completa delle opzioni sul sito degli sviluppatori GNOME . (Dai documenti RHEL7, sembra che la loro versione nmcliabbia un supporto aggiuntivo, quindi speriamo che ce la faccia.)

L'IP dinamico è piuttosto semplice (basta fare la configurazione di rete, non il lato VBox):

[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

Usa uuidgen(pacchetto uuid-runtime) per creare l'UUID, e ovviamente riempi correttamente l'indirizzo MAC. (Di solito è meglio farlo piuttosto che specificare un nome di dispositivo.)

Per l'IP statico (notare il punto e virgola sull'array DNS!):

[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

1
Questa è la directory in cui il file vive mostra sopra/etc/NetworkManager/system-connections/
Aaron Lelevier

3

Normalmente modifico il file /etc/network/interfacese modifico le informazioni in questo modo:

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)

5
L'OP ha detto che non voleva toccare / etc / network / interfaces
guntbert il

Hai ragione, vorrei farlo tramite il gestore di rete. Ma dal momento che la documentazione di questo manca toccando il file delle interfacce sarà ok.
Josh,

2

Poiché la domanda riguarda specificamente NetworkManager: non ho mai configurato una connessione NM dal cli e lo nmclistrumento non sembra avere un'opzione per creare una connessione. Ma potresti voler dare un'occhiata a cosa fa la GUI quando dichiari una connessione come connessione di sistema. Crea un file /etc/NetworkManager/system-connectionsma non so se il formato del file sia documentato ovunque.

Dovresti essere in grado di abilitare una di quelle connessioni tramite nmcli con up $name.


2

Modificare:

Per aggiungere un'altra interfaccia che può accedere a Internet in Vbox, utilizzare la scheda di rete del menu delle impostazioni. Quindi abilitare un'interfaccia aggiuntiva e impostarla su NAT (poiché è il modo più semplice per accedere a Internet). E nella macchina virtuale aggiungi un'altra interfaccia con dhcp in questo modo: allow-hotplug eth1e dopo un'interruzione di rigaiface eth1 inet dhcp

(Per qualche ragione la mia formattazione è andata male.)

E in questo modo è possibile accedere alla rete utilizzando la connessione del sistema operativo host.


Il "client" della linea di comando del gestore di rete è confuso e praticamente inutile rispetto al modo standard di gestione delle interfacce sotto Linux (e la maggior parte degli altri unix). Normalmente prima dovresti rimuovere l'interfaccia di rete già abilitata (se è integrata) {esegui ifconfig per scoprirlo}:

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

Dopo di ciò modifica il file / etc / network / interfaces (preferisco usare nano):

sudo nano /etc/network/interfaces

E aggiungi una sezione lungo le linee di:

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

Inoltre, tieni presente che devi rimuovere ogni altra presenza di eth0 dal file, altrimenti il ​​sistema non sarà in grado di analizzare correttamente il file e non avrai una connessione di rete. E infine dovrai riattivare l'interfaccia:

ifup eth0

E questo dovrebbe far sì che Ubuntu imposti automaticamente l'interfaccia con i parametri desiderati ogni volta che rileva che il "cavo è collegato".

Inoltre, se vuoi davvero evitare di modificare il file delle interfacce puoi usare:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

Io penso che in questo modo le modifiche non saranno permanenti (si li perde tra un riavvio, ecc), ma non avevo provato io stesso.


Avresti potuto dire del comando ip: ifconfigè in declino.
Guntbert,

2

Attualmente le versioni di Ubuntu hanno abilitato Network Manager.

È possibile ottenere il nome della connessione con il comando:

nmcli con show

Puoi modificare il tuo indirizzo IP statico dalla riga di comando:

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

Nota: / 24 definisce la maschera di rete su 255.255.255.0

Il file /ect/network/interfacesviene ignorato se la proprietà è managed=falseattiva/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=**false**

0

supponendo che intendevi 192.168.1.1 anziché 102.168.1.1. 192.168.56.101 e 192.168.1.1 sono su reti diverse e non parleranno senza aiuto. quello di cui hai bisogno è questo:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

supponendo che tu abbia una scatola (switch router / layer3, ecc.) con un IP di 192.168.56.1 per rispondere.

Con un / 24 (255.255.255.0) è necessario che i primi tre ottetti corrispondano all'host e al gateway predefinito, 192.168.56.X o 192.168.1.X.


1
L'OP ha detto che non voleva toccare / etc / network / interfaces.
Guntbert,

Giusto. Ho detto così. Nel frattempo ho bisogno di una soluzione per netplan. Il comando nmcli sotto funziona anche quando si usa netplan
Josh

0

Configura facilmente l'IP statico con gateway e dns:

$ sudo nmcli con mod Your-Network ipv4.addr 172.17.100.118/23 gw4 172.17.100.1 ipv4.dns 1.1.1.1,1.0.0.1

È compatibile con netplan?
Josh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.