Comando ip no Linux (manipula interface de rede) [Guia Básico]

O Comando ip no Linux é uma poderosa ferramenta para mostrar e manipular as interfaces de rede, configurar endereços IP, alterar as tabelas de rotas e criar túneis.

Com este comando é possível inserir ou alterar entradas na tabela de rotas, adicionar ou modificar a rota padrão e também configurar endereços de rede.

Este comando substituí os comandos do Net-Tools ifconfig e route.

Os objetos com que o comando ip pode trabalhar são: link, addr, addrlabel, route, rule, neigh, ntable, tunnel, tuntap,  maddr,  mroute,  mrule,  monitor,  xfrm, netns, l2tp,  tcp_metrics, token e netconf.

No dia a dia, para um programador, é necessário saber como funcionam os objetos addr (que configuram o endereço IP), link (que habilita uma interface) e route (que modifica a tabela de rotas).

A primeira função do ip é mostrar o endereço IP das interfaces do host. Utiliza-se o comando ip seguido do objeto addr:

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536  
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
   
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    link/ether 00:26:55:04:d3:95 brd ff:ff:ff:ff:ff:ff
    inet 172.19.1.34/20 brd 172.19.15.255 scope global enp0s25
    inet6 fe80::226:55ff:fe04:d395/64 scope link

O comando ip pode ser utilizado para designar um endereço IP ao host, utilizando o objeto addr, seguido da palavra add:

# ip addr add 192.168.50.5 dev eth1

Neste caso será atribuído o IP 192.168.50.5 à interface eth1. Você pode ou não informar o tamanho da rede na notação CIDR:

# ip addr add 192.168.50.5/24 dev eth1

A mesma ideia pode ser utilizada para apagar um endereço IP de uma determinada interface, com o objeto addr e o comando del:

# ip addr del 192.168.50.5/24 dev eth1

Para habilitar uma interface, utilizamos o objeto link, seguido da palavra set, o nome da interface e o comando up:

# ip link set eth1 up

Para desabilitar uma interface, o mesmo, mas com o comando down:

# ip link set eth1 down

Para verificar a tabela de rotas do host, você pode usar o objeto route:

# ip route
default via 172.19.1.1 dev enp0s25 
172.19.0.0/20 dev enp0s25  proto kernel  scope link  src 172.19.1.34

Para adicionar uma rota estática na tabela de rotas, utiliza-se também o objeto route, seguido da palavra add, a rede que se deseja adicionar e a interface e gateway em que ela está conectada:

# ip route add 10.10.20.0/24 via 172.19.1.10 dev enp0s25

Neste exemplo, será adicionada a rede 10.10.20.0/24 cujo gateway será o endereço 172.19.1.10, que está conectado na interface enp0s25.

Ao listar novamente a tabela de rotas:

# ip route show
default via 172.19.1.1 dev enp0s25 
10.10.20.0/24 via 172.19.1.10 dev enp0s25 
172.19.0.0/20 dev enp0s25  proto kernel  scope link  src 172.19.1.34

O mesmo raciocínio vale para remover uma rota da tabela de rotas:

# ip route del 10.10.20.0/24

Ainda é possível adicionar uma rota padrão na tabela de rotas, utilizando o objeto route, seguido de add e a palavra default, seguido do endereço IP do gateway padrão:

# ip route add default via 192.168.50.100

As ferramentas ifconfig, route e netstat que fazem parte do pacote legado Net-Tools tem paralelo na ferramenta ip do iproute2, a seguir:

Net-ToolsIproute2Descrição
ifconfig -aip link showExibe todas as interfaces de rede
ifconfig eth1 upip link set up eth1Habilita interface de rede
ifconfig eth1 downip link set down eth1Desabilita interface de rede
ifconfig eth1 192.168.0.1/24ip addr add 192.168.0.1/24 dev eth1Defini IP/Mascára de rede
ifconfig eth1 0ip addr del 192.168.0.1/24 dev eth1Remove definição de IP/Mascára de rede
ifconfig eth1ip addr show dev eth1Mostra Informações específicas de uma interface
ifconfig eth1 hw ether 00:52:bc:33:25:a1ip link set dev eth1 address 00:52:bc:33:25:a1Altera o MAC-ADDRESS
route -n  ou netstat -rnip route showExibe a tabela de roteamento
route add default gw 192.168.0.1ip route add default via 192.168.0.1Adiciona a rota padrão
route add -net 192.168.0.0/24 eth1ip route add 192.168.0.0/24 dev eth1Adiciona uma rota estática
route del -net 192.168.0.0/24ip route del 192.168.0.0/24Exclui uma rota estática
route del default ip route del defaultExclui a rota padrão

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe