===== Exemplos do comando ip (address, link, neighbour, route) ===== ==== Introdução ==== O comando **`ip`** no Linux é utilizado para gerenciar configurações de rede, substituindo comandos mais antigos como **`ifconfig`** e **`route`**. Ele permite a manipulação de interfaces de rede, endereços IP, rotas e muito mais. Os principais subcomandos do **`ip`** incluem: * **`address`**: Gerencia os endereços IP associados a interfaces de rede. * **`link`**: Manipula interfaces de rede, como trazer interfaces para cima/baixo e configurar opções. * **`neighbour`**: Trabalha com a tabela ARP para mapear endereços IP e seus MACs correspondentes. * **`route`**: Gerencia a tabela de rotas do kernel para definir o encaminhamento de pacotes de rede. ==== Address (Gerenciamento de Endereços IP) ==== * **Exibir os endereços IP das interfaces de rede:** - ip address show - Mostra os endereços IP atribuídos a todas as interfaces de rede. * **Atribuir um endereço IP a uma interface de rede:** - sudo ip address add 192.168.1.100/24 dev eth0 - Atribui o endereço IP `192.168.1.100` com máscara de sub-rede `/24` à interface `eth0`. * **Remover um endereço IP de uma interface:** - sudo ip address del 192.168.1.100/24 dev eth0 - Remove o endereço IP `192.168.1.100` da interface `eth0`. * **Exibir apenas os endereços IPv4 de uma interface específica:** - ip -4 address show dev eth0 - Exibe os endereços IPv4 da interface `eth0`. * **Exibir apenas os endereços IPv6 de uma interface específica:** - ip -6 address show dev eth0 - Exibe os endereços IPv6 da interface `eth0`. ==== Link (Gerenciamento de Interfaces de Rede) ==== * **Exibir o estado das interfaces de rede:** - ip link show - Mostra as interfaces de rede e seus respectivos estados (up/down). * **Trazer uma interface de rede "para cima" (ativar):** - sudo ip link set dev eth0 up - Ativa a interface de rede `eth0`. * **Trazer uma interface de rede "para baixo" (desativar):** - sudo ip link set dev eth0 down - Desativa a interface de rede `eth0`. * **Atribuir um novo endereço MAC a uma interface:** - sudo ip link set dev eth0 address 00:11:22:33:44:55 - Atribui o endereço MAC `00:11:22:33:44:55` à interface `eth0`. * **Modificar o MTU (Maximum Transmission Unit) de uma interface:** - sudo ip link set dev eth0 mtu 1400 - Define o tamanho máximo de pacote (MTU) para `1400` bytes na interface `eth0`. * **Ativar o modo promiscuous (promíscuo) em uma interface de rede:** - sudo ip link set dev eth0 promisc on - Ativa o modo promíscuo, no qual a interface `eth0` captura todos os pacotes de rede. ==== Neighbour (Tabela ARP/Neighbour Discovery) ==== * **Exibir a tabela ARP (ou tabela de vizinhança IPv6):** - ip neighbour show - Exibe a tabela ARP, mostrando os endereços IP mapeados para os endereços MAC correspondentes. * **Adicionar uma entrada ARP manualmente:** - sudo ip neighbour add 192.168.1.101 lladdr 00:11:22:33:44:55 dev eth0 - Adiciona manualmente uma entrada ARP para o IP `192.168.1.101` com o endereço MAC `00:11:22:33:44:55` na interface `eth0`. * **Excluir uma entrada da tabela ARP:** - sudo ip neighbour del 192.168.1.101 dev eth0 - Remove a entrada ARP para o endereço IP `192.168.1.101` na interface `eth0`. * **Limpar toda a tabela ARP:** - sudo ip neighbour flush all - Limpa todas as entradas da tabela ARP. * **Monitorar alterações na tabela ARP:** - ip monitor neighbour - Monitora as alterações na tabela ARP em tempo real. ==== Route (Gerenciamento da Tabela de Rotas) ==== * **Exibir a tabela de rotas:** - ip route show - Exibe a tabela de rotas, mostrando como os pacotes são roteados. * **Adicionar uma rota estática:** - sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0 - Adiciona uma rota para a rede `192.168.2.0/24` via o gateway `192.168.1.1` na interface `eth0`. * **Remover uma rota estática:** - sudo ip route del 192.168.2.0/24 - Remove a rota para a rede `192.168.2.0/24`. * **Adicionar uma rota padrão (gateway):** - sudo ip route add default via 192.168.1.1 - Define o gateway padrão como `192.168.1.1`. * **Alterar o gateway padrão:** - sudo ip route change default via 192.168.1.254 - Altera o gateway padrão para `192.168.1.254`. * **Exibir rotas específicas para IPv6:** - ip -6 route show - Exibe a tabela de rotas IPv6. ===== Exemplos compactos e coloridos com o comando ip ===== ==== Address (Exibição de Endereços IP) ==== * **Exibir endereços IP em formato conciso e colorido:** - ip -br -c a - Exibe os endereços IP de todas as interfaces em formato abreviado com cores. * **Exibir apenas endereços IPv4 em formato conciso:** - ip -4 -br -c a - Mostra os endereços IPv4 das interfaces, de forma abreviada e com cores. * **Exibir apenas endereços IPv6 em formato conciso:** - ip -6 -br -c a - Mostra os endereços IPv6 das interfaces, de forma abreviada e com cores. ==== Link (Exibição de Interfaces de Rede) ==== * **Exibir interfaces de rede em formato conciso e colorido:** - ip -br -c link - Mostra as interfaces de rede (link) em formato abreviado e colorido, incluindo o estado de cada interface. * **Exibir o estado de todas as interfaces de rede, incluindo o estado "UP" ou "DOWN":** - ip -br -c l - Exibe as interfaces de rede e seus estados (abreviação de `link`). ==== Neighbour (Exibição da Tabela ARP) ==== * **Exibir a tabela ARP em formato conciso e colorido:** - ip -br -c neighbour - Exibe a tabela ARP, com endereços IP e MAC em formato abreviado e com cores. ==== Route (Exibição de Rotas) ==== * **Exibir a tabela de rotas em formato conciso e colorido:** - ip -br -c route - Exibe as rotas definidas no sistema em um formato abreviado com cores, incluindo rotas para redes e o gateway padrão. * **Exibir rotas IPv4 em formato conciso e colorido:** - ip -4 -br -c route - Mostra as rotas IPv4 de forma abreviada e com cores. * **Exibir rotas IPv6 em formato conciso e colorido:** - ip -6 -br -c route - Exibe as rotas IPv6 de forma abreviada e colorida.