DHCP e indirizzi IP statici contemporaneamente su un'unica interfaccia

13

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:1 dovrebbe avere un indirizzo IP statico e eth0:0 dovrebbe essere configurato usando DHCP.

Come possiamo ottenere entrambi?

    
posta shantanu 21.04.2014 - 20:06
fonte

3 risposte

9

Sì, questo può essere fatto. Tuttavia, di solito si utilizza eth0 ed eth0: 0 per questo 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é potrebbe entrare in conflitto con le impostazioni del gateway ottenute da DHCP. Se si inseriscono le impostazioni manuali in / etc / network / interfaces, è necessario assicurarsi che il gestore di rete non stia cercando di gestire le impostazioni. Questo è coperto qui .

    
risposta data jkt123 22.04.2014 - 01:55
fonte
8

Dopo aver cercato intensamente una risposta allo stesso problema, ho elaborato una soluzione che consente a Network Manager di continuare a gestire le connessioni. Innanzitutto, crea una connessione DHCP normalmente in Network Manager utilizzando Modifica connessioni & gt; Inserisci. Questo creerà un file situato in / etc / NetworkManager / system-connections /. Apri questo file nel tuo editor di testo con i permessi Super User. Esempio: sudo nano / etc / NetworkManager / system-connections / DHCPEthernet

Il codice sarà simile a questo:

[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 linea sotto la 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à che entrambi gli indirizzi IP funzionano correttamente. 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
    
risposta data Andrew Vian 10.07.2014 - 19:41
fonte
2

Ho controllato un po 'e ho scoperto che oggigiorno è possibile creare questa configurazione usando lo strumento nmcli . Infatti, consente il controllo completo di NetworkManager. Le pagine di manuale per nmcli sono molto complete e abbastanza comprensibili. Vedi man nmcli e 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 dallo strumento NetworkManager della GUI e modificalo utilizzando l'editor CLI (qui il nome è Ethernet connection ):

$ sudo nmcli c edit 'Ethernet connection'

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'Ethernet connection 1'

Type 'help' or '?' for available commands.
Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, ignore-auto-routes, ignore-auto-dns, dhcp-hostname, dhcp-send-hostname, never-default, may-fail, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> set ipv4.addresses {your_address_here}/{your_network_prefix_here}
Do you also want to set 'ipv4.method' to 'manual'? [yes]: no
nmcli ipv4> save
Connection 'Ethernet connection' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) successfully updated.
nmcli ipv4> quit

Le porzioni in grassetto sono i tuoi input, sostituisci le cose in parentesi graffe con le tue impostazioni. Rispondere no alla domanda su ipv4.method mantiene la configurazione DHCP. Afterwords è necessario disabilitare e riattivare la configurazione, cosa che si può fare usando gli strumenti della GUI o nmcli.

Se lo desideri, è 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. Al massimo, non ti mostreranno gli indirizzi statici.

    
risposta data Ville Koivunen 01.05.2018 - 16:24
fonte

Leggi altre domande sui tag