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-Tools | Iproute2 | Descrição |
ifconfig -a | ip link show | Exibe todas as interfaces de rede |
ifconfig eth1 up | ip link set up eth1 | Habilita interface de rede |
ifconfig eth1 down | ip link set down eth1 | Desabilita interface de rede |
ifconfig eth1 192.168.0.1/24 | ip addr add 192.168.0.1/24 dev eth1 | Defini IP/Mascára de rede |
ifconfig eth1 0 | ip addr del 192.168.0.1/24 dev eth1 | Remove definição de IP/Mascára de rede |
ifconfig eth1 | ip addr show dev eth1 | Mostra Informações específicas de uma interface |
ifconfig eth1 hw ether 00:52:bc:33:25:a1 | ip link set dev eth1 address 00:52:bc:33:25:a1 | Altera o MAC-ADDRESS |
route -n ou netstat -rn | ip route show | Exibe a tabela de roteamento |
route add default gw 192.168.0.1 | ip route add default via 192.168.0.1 | Adiciona a rota padrão |
route add -net 192.168.0.0/24 eth1 | ip route add 192.168.0.0/24 dev eth1 | Adiciona uma rota estática |
route del -net 192.168.0.0/24 | ip route del 192.168.0.0/24 | Exclui uma rota estática |
route del default | ip route del default | Exclui 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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix