Como substituir o comando ifconfig pelo ip

Usuários tradicionais do Linux podem ter se acostumado a usar o comando ifconfig para solucionar, diagnosticar problemas ou fazer ajustes relacionados à interface de rede no seu sistema.
A ferramenta faz parte do pacote net-tools (no Debian) e vem sendo descontinuada há algum tempo — ou, pelo menos, não vinha recebendo mais atualizações.

ethernet cable
Ethernet.

Clique nos links dentro do texto e no final, para obter mais informações.
Alguns usuários ficaram surpresos com o “sumiço” da ferramenta, nas versões mais atuais de seus sistemas operacionais favoritos.
Entretanto, quem fizer questão, pode facilmente instalar o ifconfig, da seguinte forma:


sudo apt install net-tools

Por curiosidade, a opção ‘show’ mostra que o ifconfig (em destaque) ainda consta entre os pacotes do net-tools:


apt show net-tools

Package: net-tools
Version: 1.60+git20161116.90da8a0-1
Priority: optional
Section: net
Maintainer: net-tools Team 
Installed-Size: 963 kB
Depends: libc6 (>= 2.14), libselinux1 (>= 1.32)
Conflicts: ja-trans (<= 0.8-2)
Replaces: ja-trans (<= 0.8-2), netbase (<< 4.00)
Homepage: http://sourceforge.net/projects/net-tools/
Tag: admin::configuring, implemented-in::c, interface::commandline,
 network::configuration, network::routing, network::vpn, protocol::ipv6,
 role::program, scope::utility, use::routing
Download-Size: 248 kB
APT-Sources: http://ftp.br.debian.org/debian stretch/main amd64 Packages
Description: conjunto de ferramentas para rede NET-3
 Este pacote inclui as importantes ferramentas para controlar o sub-sistema
 de rede do kernel do Linux. Ele inclui: arp, ifconfig, netstat, rarp,
 nameif e route. Adicionalmente, este pacote contém utilitários relacionados
 a tipos particulares de hardware de rede (plipconfig, slattach, mii-tool) e
 aspectos avançados de configuração IP (iptunnel, ipmaddr).
 .
 No pacote original (do autor), 'hostname' e outros estão incluídos.
 Esses não são instalados por este pacote, visto que existe um pacote
 especial "hostname*.deb".

Se você usar o comando apt changelog sobre o pacote ‘net-tools’, vai ver que a última atualização (patch) do ifconfig ocorreu em 2011.
Muitas águas rolaram por baixo desta ponte.
O ip é a ferramenta de configuração da rede, que vem ganhando força.
Se estiver disposta(o) a seguir em frente e experimentar o novo, me acompanhe.

Saiba mais sobre o comando ip, para configuração de redes no Linux

É importante enfatizar que o ip não é, simplesmente, uma substituição do ifconfig.
São usados para propósitos similares, mas são diferentes entre si, em suas estruturas.
Veja o que dá para fazer com o ip:

  • Descobrir quais interfaces estão configuradas no sistema.
  • Inquirir sobre o estado de uma interface de rede.
  • Configurar as interfaces de rede — o que inclui o loop-back local e a Ethernet.
  • Ativar ou desativar uma interface.
  • Gerenciar o roteamento estático e padrão.
  • Configurar o tunelamento sobre o IP.

No próximo tópico, veremos alguns exemplos aonde o ip pode ser usado como substituto do ifconfig, para exibir o estado das interfaces de rede.
Lembre-se que a ferramenta requer privilégios administrativos, de forma que você vai ter que usar ou o su ou o sudo, para executar o comando.
Não esqueça de adequar os exemplos deste texto, à realidade da sua rede, aí.

Como obter informações da rede

Sempre usei muito o ifconfig para obter dados sobre as interfaces de rede presentes em meu hardware.
Isto pode ser feito apenas invocando o comando, sem dar qualquer parâmetro, argumento ou opção.
Esta tarefa pode ser executada com o comando ip da seguinte forma:


ip a

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: enp2s0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 6263sec preferred_lft 6263sec
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Você sempre pode acrescentar as opções ‘-color’ (ou apenas ‘-c’) e ‘-human’ (‘-h’), para obter a saída, com destaques importantes colorizados e em formato um pouco mais legível (por humanos). Veja um exemplo:


ip -c -h a

terminal resultado do comando ip
Use a opção ‘-4’, para exibir informações sobre a rede IPv4:


ip -4 a 

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 5136sec preferred_lft 5136sec

Ou ‘-6’, para as informações de rede IPv6:


ip -6 a

1: lo:  mtu 65536 state UNKNOWN qlen 1
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: wlp1s0:  mtu 1500 state UP qlen 1000
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Quer restringir as informações a apenas uma das suas interfaces? Use o ‘show’ acompanhado do nome da interface de rede:


ip a show wlp1s0

3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.3/24 brd 192.168.100.255 scope global dynamic wlp1s0
       valid_lft 4818sec preferred_lft 4818sec
    inet6 fe80::8274:c9b8:688a:300a/64 scope link 
       valid_lft forever preferred_lft forever

Combine parâmetros e, sinta-se à vontade para incluir o comando grep, para filtrar melhor as informações exibidas:

ip -4 -c -h a show wlp1s0 | grep --color state

3: wlp1s0:  mtu 1500 qdisc mq state UP group default qlen 1000

Para ver apenas as interfaces de rede ativas, use o comando da seguinte forma:


ip -c link ls up

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0:  mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff
3: wlp1s0:  mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff

Como deixar sempre colorida a saída do comando ip

Note que gosto de acrescentar a opção ‘-c’, para colorizar a saída do comando — o que torna mais fácil a sua leitura.
Isto é opcional, claro.
Você pode incluir esta e outras opções automaticamente a cada nova entrada do comando, usando o alias:


alias ip='ip -c'

Se quiser torná-lo permanente, inclua esta linha ao final do arquivo .bashrc (do superusuário).

Referências

https://www.linux.com/learn/replacing-ifconfig-ip.

https://linuxconfig.org/how-to-install-missing-ifconfig-command-on-debian-linux.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *