Come posso (dalla CLI) assegnare più indirizzi IP a una interfaccia?


43

Sul mio server voglio assegnare più indirizzi IP a una scheda NIC, ma senza usare la ifconfignotazione "alias" obsoleta o obsoleta (come eth0:0) /etc/network/interfacesperché in Aliasing IP (su www.kernel.org) puoi leggere

Gli alias IP sono un modo obsoleto di gestire più indirizzi IP / maschere per interfaccia


ifconfig è deprecato? Non lo sapevo.
Mahesh,

@Mahesh Sì, ifconfig è un artefatto dell'era SysV. 'iproute2' è lo strumento più moderno. ifconfig rimarrà per un po 'su varie distro, ma sì, è deprecato; "deprecato" è solo un colloquialismo che abbiamo usato per indicare "cercare qualcosa di più nuovo da usare".
David Betz,

Risposte:


48
  1. Se hai bisogno di un indirizzo IP aggiuntivo solo per il momento, puoi aggiungerlo a qualsiasi interfaccia sul tuo computer con

     sudo ip address add <ip-address>/<netmask> dev <interface>
    

    per esempio

     sudo ip address add 172.16.100.17/24 dev eth0
    

    aggiungerebbe 172.16.100.17usando una maschera di rete a 24 bit all'elenco degli indirizzi configurati per il tuo eth0.

    Puoi controllare il risultato con

    ip address show eth0
    

    e puoi cancellare di nuovo questo indirizzo con

    sudo ip address del 172.16.100.17/24 dev eth0
    

    Naturalmente queste modifiche vanno perse al riavvio del computer.

  2. Per rendere permanenti gli indirizzi aggiuntivi è possibile modificare il file /etc/network/interfacesaggiungendo quante più stanze del modulo

    iface eth0 static
        address 172.16.100.17/24
    

    così sembra

    iface eth0 inet dhcp
    
    iface eth0 inet static
        address 172.16.100.17/24
    
    iface eth0 inet static
        address 172.16.24.11/24
    

    Puoi persino conservare l' dhcpindirizzo principale.

    Per attivare queste impostazioni senza riavviare, usare ifdown/ifuplike

    sudo ifdown eth0 && sudo ifup eth0
    

    È essenziale mettere questi due comandi in una riga se si esegue il remoting nel server perché il primo interromperà la connessione! Dato in questo modo la sessione SSH sopravviverà.


Puoi forse creare una VPN con più di un indirizzo IP installando da Software Manager.
Michael,

Non è necessario riavviare Ubuntu 16.04.3 LTS dopo aver aggiunto o eliminato un IP
Daniel F

1
sembra che ifdown sia deprecato nelle versioni più recenti di Ubuntu.
Sajuuk,

20

Con il nuovo toolkit, è facile come con il vecchio aggiungere nuovi indirizzi IP:

ip addr add 192.168.1.1/24 dev eth0

Quando si guarda di ip addr shownuovo, viene visualizzato il secondo indirizzo IP assegnato all'interfaccia:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0
    inet 192.168.1.1/24 scope global eth0
    inet6 fe80::223:54ff:fe45:f307/64 scope link
       valid_lft forever preferred_lft forever

Rimuovi quell'indirizzo IP con:

ip addr del 192.168.1.1/24 dev eth0

La suite iproute2:

La suite iproute2 è la suite di comunicazione per la comunicazione tra processi tra il kernel e lo spazio utente tramite il protocollo netlink. Dovrebbe sostituire tutti gli strumenti di rete standard. Ecco cosa sostituiscono:

  • ifconfig-> ip addreip link
  • route -> ip route
  • arp -> ip neigh
  • iptunnel -> ip tunnel
  • ipmaddr -> ip maddr
  • netstat -> ss

Grazie per aver fornito i comandi corrispondenti.
Guntbert,

grazie @chaos, bene posso avere più IP del mio no di interfacce sul mio sistema ??
lazzaro,

@jazzz sì, come puoi vedere nell'output della mia interfaccia sopra, ci sono 2 indirizzi IP assegnati ad esso (192.168.0.100 e 192.168.1.1). Puoi aggiungerne un altro, se lo desideri.
caos

@chaos, ma come posso usarli, per esempio, voglio creare un gruppo per il multicast, posso formare un gruppo da loro, puoi fare riferimento alla mia domanda askubuntu.com/questions/547105/…
lazarus

1
@chaos Accetto la mia risposta invece della tua eccellente perché alla tua manca la "permanenza" che mi aspetto su una configurazione del server.
Guntbert,

0

Un modo è:

sudo ip addr add 192.168.0.2/24 dev eth1
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.