ifconfig non mostra tutti gli IP associati alla macchina


11

Ho configurato più indirizzi IP su una scatola di Ubuntu, ma quando eseguo ifconfigmostra solo uno di essi. Sono in grado, tuttavia, di eseguire il ping di tutti gli altri indirizzi assegnati a questa macchina.

/etc/network/interface Contenuti:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
     address 192.168.202.11
     netmask 255.255.255.0
     network 192.168.202.0
     broadcast 192.168.202.255
     gateway 192.168.202.1

# dns-* options are implemented by the resolvconf package, if installed   
dns-search idil.dz1.da

auto eth0:1    
iface eth0:1 inet static
     address 192.168.202.12   
     netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
     address 192.168.202.13
     netmask 255.255.255.0

auto eth0:3
iface eth0:3 inet static
     address 192.168.202.14
     netmask 255.255.255.0

auto eth0:4
iface eth0:4 inet static
     address 192.168.202.15
     netmask 255.255.255.0

auto eth0:5
iface eth0:5 inet static
     address 192.168.202.16   
     netmask 255.255.255.0

Tuttavia, l'output di ifconfigè solo:

192.168.202.11


ifconfig -a mostra tutto?
Alex R

mostra solo l'indirizzo IP eth0 .. :(
pankaj sharma il

1
Quale versione di Ubuntu stai eseguendo? Aggiungi le tue informazioni anche al bug # 921280.
jdthood,

1
ip addr showopere
xinthose

Risposte:


20

ifconfigè sostanzialmente deprecato, anche se non ci sono piani di cui sono a conoscenza per sbarazzarmene. La sostituzione è il ipcomando. Il moderno equivalente di ifconfigper sé è ip address list.

Perché è ifconfigstato sostituito con ip? Molte nuove funzionalità sono state aggiunte alla rete Linux negli ultimi decenni da quando è ifconfigstato scritto. Ciò implicava un'API (netlink) completamente nuova per lo strumento userspace per parlare al kernel per configurare la rete. È stato molto più pratico scrivere un nuovo strumento per mappare meglio le nuove funzionalità attraverso l'API netlink e fino alla riga di comando, piuttosto che provare ad adattare il vecchio ifconfigstrumento. Dai un'occhiata alla manpage ip (8) per tutte le nuove fantastiche cose che puoi fare ora.

L'API del kernel utilizzata ifconfige lo ifconfigstrumento stesso rimane per la compatibilità all'indietro, ma questa interfaccia è cieca a tutto ciò che non è facilmente mappabile al vecchio modello.

La ragione per cui ifconfignon mostra gli alias IP è che sembra che sono stati aggiunti da Debian di ifupdown(il pacchetto che le maniglie /etc/network/interfaces) utilizzando un meccanismo diverso che non aggiunge le etichette :1, :2ecc Così lo ifconfigstrumento è cieco a loro, poiché la vecchia API imponeva queste etichette e quindi gli indirizzi extra non si associano alla vecchia API. Dalla manpage dell'indirizzo IP (8) :

          Each address may be tagged with a label string.  In order to
          preserve compatibility with Linux-2.0 net aliases, this string
          must coincide with the name of the device or must be prefixed
          with the device name followed by colon.

I bug collegati nella risposta di maggotbrain sembrano concentrarsi sull'aggiunta di supporto ifconfigper leggere indirizzi senza etichette. Un altro approccio potrebbe essere quello di organizzare la ifupdowncreazione di indirizzi con etichette, in modo tale ifconfigda poterli vedere senza modifiche.


0

Questo è molto probabilmente un bug nel pacchetto net-tools e in ifconfigparticolare.

Vedi i bug del launchpad qui e qui per ulteriori informazioni.

Se inserisci le tue interfacce manualmente, dalla riga di comando usando in ifconfigquesto modo (seguendo la tua configurazione sopra):

sudo ifconfig eth0:1 192.168.202.12 netmask 255.255.255.0
sudo ifconfig eth0:2 192.168.202.13 netmask 255.255.255.0
sudo ifconfig eth0:3 192.168.202.14 netmask 255.255.255.0
sudo ifconfig eth0:4 192.168.202.15 netmask 255.255.255.0
sudo ifconfig eth0:5 192.168.202.16 netmask 255.255.255.0

Queste interfacce verranno visualizzate, come previsto, durante l'esecuzione ifconfig.

/etc/network/interfacesTuttavia, queste modifiche non verranno visualizzate nel tuo . Quindi, dovrai aggiungerli in entrambi i posti.

Nota: anche questo non è persistente tra i ripristini dell'interfaccia, quindi sarà necessario rieseguire i comandi al riavvio dell'interfaccia / della macchina.

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.