Distribuições baseadas em Linux possuem um conjunto de comandos que oferecem uma maneira de configurar redes de forma fácil e poderosa através da linha de comando. Este conjunto de comandos está disponível no pacote net-tools, que está presente há muito tempo em quase todas as distribuições, e inclui comandos como: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Esses comandos são suficientes para configurar a rede da maneira que qualquer usuário Linux iniciante ou experiente deseja, mas devido ao avanço no kernel do Linux ao longo dos últimos anos e à falta de manutenção desse conjunto de comandos empacotados, eles estão sendo descontinuados e uma alternativa mais poderosa, com capacidade de substituir todos esses comandos, está surgindo.
Essa alternativa também está presente há algum tempo e é muito mais poderosa do que qualquer um desses comandos. As próximas seções destacarão essa alternativa e a compararão com um dos comandos do pacote net-tools, ou seja, ifconfig.
ip – Um substituto para ifconfig
ifconfig está presente há muito tempo e ainda é usado para configurar, exibir e controlar interfaces de rede por muitos, mas uma nova alternativa agora existe em distribuições Linux que é muito mais poderosa do que ele. Essa alternativa é o comando ip
do pacote iproute2util.
Embora este comando possa parecer um pouco complexo à primeira vista, ele é muito mais abrangente em funcionalidade do que ifconfig. Ele é organizado funcionalmente em duas camadas da pilha de rede, ou seja, Camada 2 (Camada de Ligação), Camada 3 (Camada IP) e realiza o trabalho de todos os comandos mencionados acima do pacote net-tools.
Enquanto o ifconfig principalmente exibe ou modifica as interfaces de um sistema, este comando é capaz de realizar as seguintes tarefas:
- Exibição ou Modificação de propriedades da Interface.
- Adição, Remoção de entradas de Cache ARP juntamente com a criação de uma nova entrada ARP estática para um host.
- Exibição dos endereços MAC associados a todas as interfaces.
- Exibição e modificação das tabelas de roteamento do kernel.
Um dos principais destaques que o separa de seu antigo homólogo ifconfig é que este último usa ioctl para configuração de rede, que é uma forma menos apreciada de interação com o kernel, enquanto o primeiro aproveita o mecanismo de soquete netlink para o mesmo, que é um sucessor muito mais flexível do ioctl para intercomunicação entre o kernel e o espaço do usuário usando rtnetlink (que adiciona capacidade de manipulação do ambiente de rede).
Agora podemos começar a destacar as características do ifconfig e como elas são efetivamente substituídas pelo comando ip.
Comandos ip vs ifconfig
A seguinte seção destaca alguns dos comandos ifconfig e suas substituições usando comandos ip:
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, habilitadas ou desabilitadas.
Comando ifconfig
$ ifconfig

Comando ip
$ ip a

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/Remover 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/Remover 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
Adicionar Endereço MAC ao Hardware da 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 o 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 o endereço MAC usando o comando ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
Configurando outras configurações da interface de rede
Além de definir o endereço IP ou o 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 todo o modo de 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 inativas, 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 desabilitar, basta substituir on por off.
# ip link set dev eth0 arp on
Conclusão
Assim, destacamos os 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 sobre isso em seus comentários.
Se você deseja aprender mais sobre esses dois comandos, então deve ler nossos artigos anteriores que mostram exemplos práticos do ifconfig e do comando ip de forma 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/