Devo sair usando o Ifconfig?

171

Com os servidores que montam placas Infiniband, quando eu uso o ifconfigcomando, recebo este aviso:

Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.

Devo parar de usar ifconfig? É preterido em favor do ipcomando? Ou será atualizado em um futuro próximo?

Nota: Esta pergunta e respostas são referentes às distribuições "principais" do GNU / Linux . Não se deve presumir que as informações se apliquem a todas as distribuições, e especialmente a outros sistemas operacionais.

Zhen
fonte
23
Quanto mais cedo você mudar, melhor. Levei meses para substituir a memória muscular de ifconfig. Torna as operações no Windows ainda mais divertidas. " ip add-no, espere, não é isso, ifcon-NO, argh ipconfig"
Charles
7
Talvez um alias vai ajudar: alias ipconfig='echo ipconfig is deprecated, use ip instead'. Claro que você criou aliases mais sensatos.
ott--
98
ifconfigestá obsoleto? Eu devo ter vivido em uma caverna
wim
26
Acho curioso que um comando chamado "ip" tenha a capacidade de executar operações no nível do link.
James O'Gorman
12
Ele foi descontinuado apenas em certos sistemas operacionais. Se você usa coisas fora do Linux, acredito que o ifconfig ainda esteja em uso. Não vejo esse aviso no FreeBSD, por exemplo.
27412 Stefan Lasiewski

Respostas:

154

Citando o site de Thomas Pircher ( cc-by-sa ):

ifconfig vs ip

O comando /bin/ipjá existe há algum tempo. Mas as pessoas continuam usando o comando mais antigo /sbin/ifconfig. Sejamos claros: ifconfignão desaparecerá rapidamente, mas sua versão mais recente,, ipé mais poderosa e eventualmente a substituirá.

A página de manual ippode parecer intimidadora no início, mas depois que você se familiariza com a sintaxe de comando, é uma leitura fácil. Esta página não apresentará os novos recursos do ip. Ele apresenta uma comparação lado a lado se ifconfige ippara obter uma visão geral rápida da sintaxe de comando.

Mostrar dispositivos e configuração de rede

ifconfig

ip addr show
ip link show

Habilitar uma interface de rede

ifconfig eth0 up
ip link set eth0 up

Uma interface de rede é desabilitada de maneira semelhante:

ifconfig eth0 down
ip link set eth0 down
Fel
fonte
50
Interessante como em todos os casos de uso que você mencionou, o comando ip é mais longo e mais complexo. Provavelmente vai ser a principal razão as pessoas ainda usamifconfig
TheLQ
22
@ TheLQ: ipfornece muito, muito mais recursos. Claro que é mais complexo. De qualquer forma, muitos comandos podem ser encurtados. por exemplo, ip addr showpode ser encurtada a ip a, ip link showa ip l, ip link set eth0 upa ip l set eth0 upe assim por diante. Isso leva ipa par ifconfig.
BatchyX
16
Lembre-se, o mundo inteiro não é uma máquina Linux. Solaris, AIX, HP-UX, todos os BSDs e SCO (não que alguém se importe com eles ) usam ifconfig. Se você quer ser um unix admin (não apenas um Linux admin) você deve se certificar de que você é, pelo menos familiarizados com ifconfig e sua sintaxe básica ...
voretaq7
9
Seu primeiro exemplo responde. Por que executar 2 comandos quando 1 faz isso?
ott--
6
@ott ip addr showinclui praticamente a saída de ip link show.
nyuszika7h
40

Sim, ifconfigfoi preterido em favor do iproute2 (o ipcomando) no Linux .

Da mesma forma, os comandos arp, routee netstattambém estão obsoletos.

No entanto, o iproute2 é específico do Linux, quando alguns outros Unixes usam ifconfig, portanto, pode ajudar a saber / lembrar como ele funciona se você for usar outro Unix ...

Para aprender o "novo caminho", sugiro que você olhe para esses 3 links:

De acordo com o último link, ifconfignão é mantido por mais de 15 anos :

Exceto pela massa de patches que o Debian acumulou, o pacote net-tools não teve nenhum desenvolvimento upstream após a versão 1.60, lançada em 15 de abril de 2001.

Totor
fonte
9
ifconfigfoi desenvolvido pela BSD na época. O Linux basicamente usou a pilha de IPs do BSD (assim como o Windows e outros da época, por que ipconfigainda é semelhante a ifconfig). No começo do 2.4 Kernel Linux, divergindo bastante da pilha do BSD, isso foi no início de 2001. Não é por acaso que ifconfigno Linux não tem sido bem mantido desde então.
Chris S
3
10 anos !? Hora de lançar um projeto "save ifconfig" no GitHub, eu acho.
Kenchilada
20

ifconfig está obsoleta há muitos anos, é hora de mudar, especialmente em um caso como o seu.

Sven
fonte
1
Também gosto do seu encurtamento de comandos cisco-esque. "ip a" = "show de endereço IP"
Coops
5
meh. Existem scripts e outras ferramentas suficientes construídos sobre o ifconfig, que eu não sinto necessidade de alternar até que desapareça ...
Jason Antman
10
Eu nunca ouvi falar ip. Eu apenas testei em um servidor FreeBSD e ele diz ip: Command not found.. Talvez ifconfigseja preterido apenas no Linux.
ctype.h
2
@ ctype.h: Na verdade, ele é apenas obsoleto no linux. O lançamento do ifconfig visando o linux remonta a 1999. ipjá era a opção recomendada para os kernels 2.4.
BatchyX
5

ipfoi o substituto por ifconfigum tempo, provavelmente em algum momento ifconfigserá atualizado, no entanto, eu não esperaria por isso e aprenderia a trabalhar iptambém. É suportado em todas as distri Linux

Instantâneo
fonte
8
ip foi o substituto do ifconfig no Linux , como uma escolha feita por algumas distribuições.
Kaz
parece extremamente improvável que o ifconfig seja totalmente compatível com o linux. comandos como ifconfig eth0 192.168.0.7/24não têm um significado claro: por exemplo. se eth0já tiver 2 endereços IP (dois nele, não um, um apelido como eth0: 1).
Jasen