As distribuições baseadas em Linux incluem um conjunto de comandos que fornecem uma maneira fácil e poderosa de configurar a rede através da linha de comando. Este conjunto de comandos está disponível no pacote net-tools, que tem existido em quase todas as distribuições por muito tempo e inclui comandos como: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Estes comandos são quase suficientes para configurar a rede de modo que qualquer iniciante ou usuário experiente de Linux desejar, mas devido ao avanço no kernel Linux nos últimos anos e ao fato de este conjunto de comandos estar sem manutenção, eles estão sendo descontinuados e uma alternativa mais poderosa que tem a capacidade de substituir todos esses comandos está emergindo.
essa alternativa também existe há algum tempo e é muito mais poderosa que qualquer um desses comandos. O restante deste capítulo destacará essa alternativa e a comparará com um dos comandos do pacote net-tools, o ifconfig.
ip – Um Substituto para ifconfig
ifconfig tem existido por muito tempo e ainda é usado para configurar, exibir e controlar as interfaces de rede por muitos, mas agora existe uma nova alternativa em distribuições Linux que é muito mais poderosa do que a mesma. essa alternativa é o comando ip
do pacote iproute2util.
Embora esse comando possa parecer um pouco complexo à primeira vista, ele é muito mais amplo em funcionalidade do que o ifconfig. Ele está organizado funcionalmente em dois níveis da pilha de rede, isto é, Layer 2 (Camada de Ligação), Layer 3 (Camada de IP) e faz o trabalho de todos os comandos mencionados acima do pacote net-tools.
Enquanto o ifconfig principalmente exibe ou modifica as interfaces do sistema, este comando é capaz de fazer as seguintes tarefas:
- Exibir ou modificar as propriedades das interfaces.
- Adicionando, removendo entradas da cache ARP, juntamente com a criação de novas entradas estáticas ARP para um host.
- Exibindo as endereços MAC associados a todas as interfaces.
- Exibindo e modificando as tabelas de roteamento do kernel.
Um dos principais destaques que o separam de sua versão antiga, o ifconfig, é que o último usa ioctl para configuração de rede, que é uma maneira menos apreciada de interação com o kernel, enquanto o primeiro aproveita o mecanismo de socket netlink para o mesmo fim, o qual é uma sucessora muito mais flexível do ioctl para intercomunicação entre o kernel e o espaço de usuário usando rtnetlink (o que adiciona a capacidade de manipular o ambiente de rede).
Agora podemos começar a destacar as features do ifconfig e como elas são eficazmente substituídas pelo comando ip.
ip vs ifconfig Comandos
A seguinte seção destaca alguns dos comandos do ifconfig e suas substituições usando os comandos ip:
1. Exibindo todas as Interfaces de Rede no Linux
Aqui, uma característica distintiva entre ip e ifconfig é que enquanto ifconfig mostra apenas interfaces habilitadas, ip mostra todas as interfaces, estejam elas habilitadas ou desabilitadas.
Comando ifconfig
$ ifconfig

Comando ip
$ ip a

2. Adicionando ou Excluindo um Endereço IP no Linux
O comando abaixo atribui o endereço IP 192.168.80.174 à interface eth0
.
ifconfig – Adicionar/Excluir Endereço IP
# ifconfig eth0 add 192.168.80.174
Sintaxe para adicionar/remover uma interface usando o comando ifconfig:
# ifconfig eth0 add 192.168.80.174 # ifconfig eth0 del 192.168.80.174
ip – Adicionar/Excluir Endereço IP
# ip a add 192.168.80.174 dev eth0
Sintaxe para adicionar/remover uma interface usando o comando ip:
# ip a add 192.168.80.174 dev eth0 # ip a del 192.168.80.174 dev eth0
4. Adicionar Endereço MAC à Interface de Rede
O comando abaixo define o endereço de hardware para a interface eth0
para o valor especificado no comando. Isso pode ser verificado verificando o valor HWaddr
na saída do comando ifconfig.
ifconfig – Adicionar Endereço MAC
Aqui, a sintaxe para adicionar endereço MAC usando o comando ifconfig:
# ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Adicionar Endereço MAC
Aqui, a sintaxe para adicionar endereço MAC usando o comando ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
4. Configurando Outras Configurações da Interface de Rede
Além de definir o endereço IP ou endereço de hardware, outras configurações que podem ser aplicadas a uma interface incluem:
- MTU (Unidade Máxima de Transferência)
- Flag de Multicast
- Comprimento da Fila de Transmissão
- Modo promíscuo
- Habilitar ou desabilitar todos os modos multicast
ifconfig – Outras Configurações de Rede
ip – Outras Configurações de Rede
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on
5. Habilitar ou Desabilitar Interface de Rede
Os comandos abaixo habilitam ou desabilitam uma interface de rede específica.
ifconfig – Desabilitar/Habilitar Interface de Rede
O comando abaixo desabilita a interface eth0
e isso é verificado pela saída do ifconfig, que por padrão mostra apenas as interfaces que estão ativas.
# ifconfig eth0 down
Para reabilitar a interface, basta substituir down por up.
# ifconfig eth0 up
ip – Desabilitar/Habilitar Interface de Rede
O comando ip abaixo é uma alternativa para ifconfig para desabilitar uma interface específica. Isso pode ser verificado pela saída do comando 'ip a'
, que mostra todas as interfaces por padrão, sejam elas ativas ou não, mas destaca seu status junto com a descrição.
# ip link set eth0 down
Para reabilitar a interface, basta substituir down por up.
# ip link set eth0 up
6. Habilitar ou desabilitar o uso do protocolo ARP
Os comandos abaixo habilitam ou desabilitam o protocolo ARP em uma interface de rede específica.
ifconfig – Habilitar/Desabilitar Protocolo ARP
O comando habilita o protocolo ARP a ser usado com a interface eth0. Para desabilitar essa opção, basta substituir arp por -arp
.
# ifconfig eth0 arp
ip – Habilitar/Desabilitar Protocolo ARP
Este comando é a alternativa ao ip para habilitar o ARP na interface eth0. Para desativar, basta substituir on por off.
# ip link set dev eth0 arp on
Conclusão
Assim, destacamos recursos do comando ifconfig e como eles podem ser feitos usando o comando ip. Atualmente, as distribuições Linux fornecem ao usuário ambos os comandos para que ele possa usar de acordo com sua conveniência. Então, qual comando é conveniente para você e que você preferiria usar? Comente isso em seus comentários.
Se você deseja aprender mais sobre esses dois comandos, deve ler nossos artigos anteriores que mostram exemplos práticos do ifconfig e do comando ip de uma maneira mais detalhada.
Não perca: 15 Exemplos de “ifconfig” para Configurar a Interface de Rede no Linux
Não perca: 10 Exemplos de Comando “ip” para Configurar a Interface de Rede no Linux
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/