Indirizzi DHCP e IP statici contemporaneamente su un'unica interfaccia


16

Possiamo usare più indirizzi IP per una singola interfaccia in Linux (eg. eth0:0, eth0:1). Ma possiamo usare DHCP e IP statico allo stesso tempo? eth0:1dovrebbe avere un indirizzo IP statico e eth0:0dovrebbe essere configurato usando DHCP.

Come possiamo realizzare entrambi?


Questa domanda è sulla configurazione di NetworkManager?
Madneon,

Risposte:


13

Sì, questo può essere fatto. Tuttavia, di solito dovresti usare eth0 ed eth0: 0 invece di eth0: 0 e eth0: 1. Puoi impostare il tuo file / etc / network / interfaces in questo modo:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

Probabilmente non vuoi impostare un gateway sull'interfaccia eth0: 0 perché ciò potrebbe entrare in conflitto con le impostazioni del gateway ottenute dal DHCP. Se inserisci le impostazioni manuali in / etc / network / interfaces dovrai assicurarti che il gestore della rete non stia cercando di gestire le tue impostazioni. Questo è coperto qui .


9

Dopo un'intensa ricerca di una risposta allo stesso problema, ho elaborato una soluzione che consente a Network Manager di continuare a gestire le connessioni. Innanzitutto, creare una connessione DHCP normalmente in Network Manager utilizzando Modifica connessioni> Aggiungi. Questo creerà un file che si trova in / etc / NetworkManager / system-connections /. Apri questo file nel tuo editor di testo con le autorizzazioni di Super User. Esempio: sudo nano / etc / NetworkManager / system-connections / DHCPEthernet

Il codice sarà simile al seguente:

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

Aggiungi una riga nella sezione ipv4 per l'indirizzo IP statico che desideri aggiungere. Sto usando 192.168.10.1 senza gateway per questo esempio

address1=192.168.10.1/24,0.0.0.0

Salvare il file e utilizzare Network Manager per disconnettersi e quindi riconnettersi alla rete. Il ping confermerà il corretto funzionamento di entrambi gli indirizzi IP. L'output di ip addr conferma il successo.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever

address1l'impostazione trovata qui è in realtà l' ipv4.addressesimpostazione di NetworkManager se si utilizza l'API o nmcli. In questo caso, è necessario mantenere l' ipv4.methodimpostazione su "auto".
Dave,

Dopo aver creato la connessione normalmente, non ho ancora alcun file nella mia directory / etc / NetworkManager / system-connections /. Vengono tenuti altrove? Forse una cosa SELinux?
Steve Jorgensen,

2

Ho controllato un po 'e ho scoperto che al giorno d'oggi è possibile creare questa configurazione utilizzando lo nmclistrumento. In effetti, consente il controllo completo di NetworkManager. Le pagine di manuale di nmcli sono molto complete e abbastanza comprensibili. Vedi man nmclie man nm-settings.

Per impostare la configurazione in questa domanda, il modo più semplice è modificare il profilo di connessione corrente. Scopri il nome del profilo dal tuo strumento GUI NetworkManager e modificalo usando l'editor CLI (qui il nome è Ethernet connection):

$ sudo nmcli c modifica 'Connessione Ethernet'

=== | editor di connessioni interattive nmcli | ===

Modifica della connessione "802-3-ethernet" esistente: "Connessione Ethernet 1"

Digita "help" o "?" per i comandi disponibili.
Digitare "descrivi [.]" Per una descrizione dettagliata della proprietà.

È possibile modificare le seguenti impostazioni: connessione, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> vai a ipv4
È possibile modificare le seguenti proprietà: metodo, dns, ricerca dns, opzioni dns, priorità dns, indirizzi, gateway, route, metrica route, ignora-auto-route, ignora-auto-dns, dhcp-hostname, dhcp -send-hostname, never-default, may-fail, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> imposta ipv4.addresses {indirizzo_utente_qui} / {indirizzo_prefisso_qui} 
Vuoi anche impostare "ipv4.method" su "manuale"? [sì]: no 
nmcli ipv4> salva
Connessione "Connessione Ethernet" (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) aggiornata correttamente.
nmcli ipv4> esci

Le porzioni in grassetto sono i tuoi input, sostituisci le cose in parentesi graffe con le tue impostazioni. Rispondere noalla domanda sulla ipv4.methodconservazione della configurazione DHCP. Dopodiché devi disabilitare e riattivare la configurazione, cosa che può essere fatta usando GUI-tools o nmcli.

Se lo si desidera, è anche possibile creare una nuova connessione dalla riga di comando:

sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

Ancora una volta, sostituisci le cose tra parentesi graffe con le tue impostazioni.

Infine, se desideri ancora modificare i file di configurazione, ricorda di ricaricare il file dopo la modifica:

sudo nmcli connection reload

Si noti che è probabile che le configurazioni create in questo modo confondano gli strumenti della GUI. Nel migliore dei casi, non ti mostreranno gli indirizzi statici.


0

Debian Buster / 10 NetworkManager nm-connection-editorora può farlo dall'interfaccia utente grafica.

Modifica la connessione, apri la scheda "Impostazioni IPv4", quindi:

  1. Impostare il metodo su "Automatico (DHCP)".
  2. Aggiungi "Indirizzi statici aggiuntivi" di seguito.

Questo scriverà le seguenti impostazioni in /etc/NetworkManager/system-connections/connection.nmconnection:

[ipv4]
address1=10.0.0.1/24
method=auto
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.