A parte mais fundamental da administração e solução de problemas do Linux é verificar a configuração de IP de um sistema para garantir que o sistema tenha um IP válido e esteja acessível na rede local.
O comando ip no Linux é uma ferramenta poderosa que não apenas exibe o endereço IP atual de um sistema, mas também permite visualizar e gerenciar a configuração atual de interfaces de rede, endereços IP, rotas e ARP tabelas.
Vejamos alguns dos casos de uso comuns do comando ip no Linux.
Encontre o endereço IP no Linux
Para encontre o endereço IP do seu sistema Linux, use o comando ip seguido por endereço, endereço, ou a opção:
endereço de IP
Isso exibirá a configuração de todas as interfaces de rede, incluindo seus endereços IP.
No exemplo a seguir, você pode ver que o sistema possui três interfaces de rede: olha (endereço de loopback), ens33, e ens37. A saída inclui as seguintes informações:
- Informações da camada 1, como capacidade da interface e estado de conectividade da camada física, MTU, o estado operacional da interface (por exemplo, UP ou DOWN) e comprimento da fila de transmissão (qlen).
- Informações da camada 2, como o endereço MAC da interface.
- As informações da camada 3 incluem o endereço IP e seu tipo (endereçamento IP dinâmico ou endereçamento IP estático).
Para exibir informações resumidas sobre interfaces de rede, use o comando ip com o --apresentação opção da seguinte forma:
ip --breve apresentação de endereço
Para exibir apenas informações de endereço IPv4, use o seguinte comando:
endereço ip-4
Para descobrir as informações do endereço IP de um determinado interface de rede, use a seguinte sintaxe:
endereço de IP mostrar desenvolvedor [interface]
Por exemplo, para visualizar o endereço IP de uma interface de rede ens33, o comando seria:
endereço de IP mostrar dev ens33
Exibir e alterar o endereço MAC
Usando o comando ip, você também pode visualizar e alterar o endereço MAC do seu sistema.
Para veja o endereço MAC do seu sistema Linux, use o seguinte comando:
ip --breve exibição de link
Para visualizar o endereço MAC de uma interface específica, use:
ip --brief link show dev [interface]
Para alterar o endereço MAC, primeiro desative a interface:
sudo ip link definir desenvolvedor [interface] abaixo
Em seguida, use o seguinte comando para alterar o endereço MAC da sua interface:
sudo ip link definir desenvolvedor [interface] endereço [novo-endereço-mac]
Depois disso, abra a interface:
sudo ip link definir desenvolvedor [interface] acima
Exibir estatísticas da interface de rede
Usando o comando ip, você também pode visualizar as estatísticas de uma interface de rede. Use o seguinte comando ip para visualizar as estatísticas de todas as interfaces de rede em seu sistema:
ip-s link
A saída inclui estatísticas como bytes/pacotes transmitidos e recebidos, erros, pacotes descartados, multicast, etc. Para exibir as estatísticas de uma interface específica, use a seguinte sintaxe:
ip-s link mostrar desenvolvedor [interface]
Para abrir uma interface, use o seguinte comando ip:
sudo ip link definir [interface] acima
Para desativar a interface, execute:
sudo ip link definir [interface] abaixo
Você também pode alterar o MTU (unidade máxima de transmissão) de uma interface usando o seguinte comando:
sudo ip link definir mtu [número] dev [interface]
Por exemplo, para definir o MTU de uma interface de rede ens33 para 8000, o comando seria:
sudo ip link definir mtu 8000 dev ens33
Adicionar/remover endereço IP no Linux
Para adicionar um endereço IP a uma interface de rede, use a seguinte sintaxe:
ipendereçoadicionar[endereço de IP]desenvolvedor[interface]
Para adicionar um endereço IP 192.168.42.140/24 para interface de rede ens33, o comando seria:
endereço IP add 192.168.42.140/24 dev ens33
Use a seguinte sintaxe de comando para remover o endereço IP de uma interface:
ipendereçodel[endereço de IP]desenvolvedor[interface]
Para remover o endereço IP 192.168.42.140/24 da interface ens33, o comando seria:
endereço IP del192.168.42.140/24 dev ens33
Veja a tabela de roteamento no Linux
O comando ip route é usado para visualizar e modificar as rotas em um sistema Linux. Para exibir a tabela de roteamento do seu sistema, use o comando ip route sem nenhuma opção:
rota ip
Cada linha na saída representa uma rota configurada. Uma rota consiste em um endereço de rede de destino, um próximo salto (ou seja, o endereço IP do roteador), uma interface através da qual o pacote será enviado e a métrica (um valor usado para determinar a rota preferencial quando houver várias rotas disponíveis para o destino). A rota com a métrica mais baixa é preferida neste caso.
No exemplo acima, as duas primeiras entradas representam a rota padrão, que é usada quando nenhuma outra rota está disponível para o endereço de destino. 192.168.42.2 e 192.168.10.1 são os endereços IP do roteador. o desenvolvedor ens33 e ens37 indicar a interface que será utilizada para enviar os pacotes ao roteador. O protodhcp Os campos indicam que a rota padrão é aprendida do DHCP.
A segunda entrada representa o endereço APIPA (Automatic Private IP Addressing) 169.254.0.0/16. Quando um host não consegue obter um endereço IP de um servidor DHCP, ele atribui a si mesmo um endereço IP aleatório desta rede. Ele permite que eles se comuniquem com outros hosts na sub-rede que também falharam em obter o endereço IP.
A terceira e quarta entradas mostram os endereços de rede das redes locais às quais o sistema está conectado. O 192.168.10.0 é a rede que faz a interface ens37 está ligado enquanto o 192.168.42.0 é a rede ens33 está anexado.
O origem O campo indica o endereço IP da interface usada como endereço de origem ao enviar pacotes por esta rota.
Modifique a tabela de roteamento usando ip
Para adicionar manualmente uma rota, use o comando ip route seguido do endereço de rede de destino e do IP do gateway:
sudoiprotaadicionar[ID de rede]através da[IP do gateway]
Por exemplo, para adicionar uma rota que envia todo o tráfego destinado ao 192.168.20.0 rede para o gateway em 192.168.10.16, você usaria o seguinte comando:
sudo ip route add 192.168.20.0/24 via 192.168.10.16
Use o seguinte comando para adicionar uma rota padrão:
sudo ip route add padrão via [endereço IP] dev [interface]
Por exemplo, para adicionar a rota padrão que direciona o tráfego para o roteador em 192.168.10.1 através ens33, o comando seria:
sudoiprotaadicionarpadrãoatravés da 192.168.10.1desenvolvedorens33
rota ip pegar [endereço de IP]
Para excluir uma entrada da tabela de roteamento, use a seguinte sintaxe:
sudoiprotaexcluir[Endereço de rede]através da[IP do gateway]
Você também pode visualizar a rota que um endereço seguirá usando a seguinte sintaxe:
rota ip pegar [endereço de IP]
Gerenciar tabela vizinha no Linux
Você pode usar o ip relincha comando no Linux para visualizar e modificar a tabela vizinha, também conhecida como tabela ARP. Para visualizar as entradas atuais da tabela vizinha, use o seguinte comando:
ip relincha mostrar
Para adicionar uma nova entrada na tabela vizinha, use a seguinte sintaxe:
sudoiprelincharadicionar[endereço de IP]lladdr[endereço MAC]desenvolvedor[interface]
Para remover uma entrada da tabela vizinha, use a seguinte sintaxe:
sudoiprelinchardel[endereço de IP]desenvolvedor[interface]
Adicionar cor à saída do comando ip
Para tornar a saída mais fácil e rápida de entender, você pode adicionar cor à saída do comando ip usando o comando -c opção:
ip -c a
Gerenciando redes e endereços IP no Linux
O comando ip no Linux é uma ferramenta útil para administrar e solucionar problemas de conexões de rede. Desde visualizar as interfaces de rede e modificar as propriedades do link até localizar os endereços IP e gerenciar rotas, o comando ip permite que você execute várias tarefas de administração do sistema por meio da linha de comando.