Come faccio ad aggiungere un indirizzo IP aggiuntivo a / etc / network / interfaces?


42

Ho un indirizzo IP aggiuntivo disponibile sul mio server e quindi devo assegnarlo nel file delle interfacce. Al momento, ho questo:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.254.0
gateway bbb.bbb.bbb.bbb
dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
dns-search vps-number.com

Cosa aggiungo per assegnare il mio nuovo indirizzo IP (fff.fff.fff.fff)? E come posso riavviarlo per accettare la nuova configurazione?


Che set di personaggi è quello? Dove l'hai trovato?
Verde

Risposte:


55
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address aaa.aaa.aaa.aaa
  netmask 255.255.254.0
  gateway bbb.bbb.bbb.bbb
  dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
  dns-search vps-number.com

auto eth0:0
iface eth0:0 inet static
  address fff.fff.fff.fff
  netmask 255.255.254.0

Quindi puoi correre sudo ifup eth0:0per portarlo su e sudo ifdown eth0:0per farlo cadere.


4
Questa è una variante obsoleta con alias. Usa invece quello sotto con "ip addr".
Alexander Kim,

5
Potrebbe essere vecchio (e forse obsoleto), ma non c'è nulla di sbagliato nell'utilizzo di questo metodo, poiché non è stato contrassegnato come "deprecato" e non esiste alcun piano per la sua rimozione nel prossimo futuro. IMHO questo metodo è più pulito e sicuro degli altri (vedi la risposta di Wilmer e i suoi commenti).
Eric Carvalho,

PS Se l'utilizzo auto eth1(non funzionava su AWS) non funziona, come nell'esempio auto eth0:0.
IvRRimUm

La soluzione legacy non ha funzionato per me su Debian Stretch, ho finito con solo il secondo IP. Vedi il iproute2metodo , ha funzionato.
X-yuri,

24

Per un indirizzo IP aggiuntivo, di solito aggiungo:

up ip addr add fff.fff.fff.fff/prefixlen dev eth0

nella parte inferiore della iface eth0 inet staticstanza per futuri riavvii, quindi eseguire sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0nuovamente il comando manualmente per attivarlo direttamente.

Se la tua maschera di rete è 255.255.254.0allora prefixlendovrebbe essere 23per te.

Mi piacerebbe sapere se c'è un modo migliore, però.


grazie mille, l'approccio accettato non funziona per il legame ( ifenslave ), ma questo funziona!
Mekkanizer,

upè problematico in quanto network-online.target non lo aspetta. servizi di systemd come nginx non riusciranno a legarsi su IP aggiunto da upall'avvio
sdaffa23fdsf

Per Debian Stretch / Ubuntu 16.04 Xenial o versione successiva c'è la soluzione ufficiale .
x-yuri

22

Come sottolinea Heihachi usando ethx: x aliases non è aggiornato. Tuttavia la ip addrsoluzione è peggiore. È brutto e incompleto, poiché dovrai anche aggiungere una downvariante o ifdownnon funzionerà in modo molto pulito.

Vedi https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface per una soluzione migliore: ora puoi semplicemente aver ripetuto stanze iface per la stessa interfaccia. Quindi, solo la soluzione sopra, ma rilascia il :xsuffisso.


2
Dalla documentazione al tuo link, parlando del metodo più moderno per fare le cose (chiamato iproute2): Nota tuttavia che questo metodo è pericoloso ! Alcune combinazioni di driver / hardware a volte potrebbero non riuscire ad attivare il collegamento se nessuna interfaccia è assegnata alle interfacce alias. Considerando che è la documentazione ufficiale che afferma che il nuovo modo non è così affidabile, preferirei attenermi a quello deprecato funzionante.
davvero, il

1
Miglioramento a causa del riferimento ufficiale e preciso della documentazione, ma non per "una soluzione migliore", poiché è contrassegnato come pericoloso nella documentazione ufficiale.
davvero, il

2
@reallynice Punto ragionevole, anche se IMHO se questo causa problemi su un sistema che mi suona come un kernel / driver difettoso. Sto usando più indirizzi IP su una singola interfaccia senza gli orribili alias: 0 /: 1 / etc per anni (inoltre sono abbastanza sicuro che la soluzione dal Wiki sia funzionalmente equivalente alla soluzione di Robbie sopra).
Wilmer

@Wilmer Ho un dispositivo vmxnet3 (VMware ESXi 6.5) su Ubuntu 16.04 e ho potuto ottenere solo il nuovo modo di far apparire il primo dispositivo. Eliminare il suffisso: x non era chiaramente migliore per me. La documentazione ha chiarito un errore che stavo riscontrando con il suffisso: x.
jbo5112,

L'ultimo problema noto con il iproute2metodo è stato nel 2015 . E il metodo legacy (hai notato il nome?) Non ha funzionato per me su Debian Stretch. Sembrava che le opzioni successive (da eth0:0) sostituissero quelle precedenti ( from eth0). Cioè, dopo che systemctl restart networkingho finito con solo il secondo IP (il primo IP è stato staccato).
X-yuri,
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.