Você pode configurar endereços IP, interfaces de rede e regras de roteamento dinamicamente com o ip
comando Linux . Mostraremos como você pode usar esta substituição moderna do clássico (e agora obsoleto) ifconfig
.
Índice
Com o ip
comando, você pode ajustar a maneira como um computador Linux lida com endereços IP, controladores de interfaces de rede (NICs) e regras de roteamento . As alterações também têm efeito imediato – você não precisa reiniciar. O ip
comando pode fazer muito mais do que isso, mas vamos nos concentrar nos usos mais comuns neste artigo.
O ip
comando tem muitos subcomandos, cada um dos quais funciona em um tipo de objeto, como endereços IP e rotas. Existem, por sua vez, muitas opções para cada um desses objetos. É essa riqueza de funcionalidades que dá ao ip
comando a granularidade de que você precisa para realizar tarefas que podem ser delicadas. Isso não é trabalho de machado – requer um conjunto de bisturis.
Veremos os seguintes objetos:
addresses
via interfaces ( links
).Obviamente, você primeiro precisa saber com quais configurações está lidando. Para descobrir quais endereços IP seu computador possui, use o ip
comando com o objeto address
. A ação padrão é show
, que lista os endereços IP. Você também pode omitir show
e abreviar address
como “addr” ou mesmo “a”.
Os seguintes comandos são todos equivalentes:
mostrar endereço ip
ip addr show
endereço de ip
ip a
Vemos dois endereços IP, junto com muitas outras informações. Os endereços IP são associados a controladores de interface de rede (NICs). O ip
comando tenta ser útil e fornece várias informações sobre a interface também.
O primeiro endereço IP é o endereço de loopback (interno) usado para se comunicar no computador. O segundo é o endereço IP (externo) real que o computador possui na rede local (LAN).
Vamos detalhar todas as informações que recebemos:
UP
, o que significa que está operacional. A camada de rede física (camada um) também está ativa.qdisc
é um mecanismo de enfileiramento. Ele agenda a transmissão de pacotes. Existem diferentes técnicas de enfileiramento chamadas disciplinas. A noqueue
disciplina significa “enviar instantaneamente, não fazer fila”. Esta é a qdisc
disciplina padrão para dispositivos virtuais, como o endereço de loopback.DOWN
(a interface de rede não está operacional), UNKNOWN
(a interface de rede está operacional, mas nada está conectado) ou UP
(a rede está operacional e há uma conexão)./
) é a notação Classless Inter-Domain Routing (CIDR) que representa a máscara de sub-rede. Indica quantos bits contíguos iniciais são definidos como um na máscara de sub-rede. O valor de oito significa oito bits. Oito bits definidos como um representam 255 em binário, então a máscara de sub-rede é 255.0.0.0.valid_lft
valor.scope
, valid_lft
, e preferred_lft
.A interface física é mais interessante, como mostraremos a seguir:
UP
(operacional e conectada). A camada de hardware da rede (camada um) também UP
.scope
, valid_lft
, e preferred_lft
.Se quiser limitar a saída aos endereços IP da versão 4, você pode usar a -4
opção da seguinte maneira:
ip -4 addr
Se quiser limitar a saída aos endereços IP da versão 6, você pode usar a -6
opção da seguinte maneira:
ip -6 addr
Se você quiser ver as informações de endereço IP para uma única interface, você pode usar os show
e dev
opções, e nomeie a interface, como mostrado abaixo:
endereço ip mostrar dev lo
ip addr show dev enp0s3
Você também pode usar o sinalizador -4
ou -6
para refinar ainda mais a saída, de forma que você veja apenas o que está interessado.
Se você deseja ver as informações de IP versão 4 relacionadas aos endereços na interface enp0s3
, digite o seguinte comando:
ip -4 addr show dev enp0s3
Você pode usar as opções add
e dev
para adicionar um endereço IP a uma interface. Você apenas precisa dizer ao ip
comando qual endereço IP adicionar e a qual interface adicioná-lo.
Vamos adicionar o endereço IP 192.168.4.44 à enp0s3
interface. Também precisamos fornecer a notação CIDR para a máscara de sub-rede.
Nós digitamos o seguinte:
sudo ip addr add 192.168.4.44/24 dev enp0s3
Nós digitamos o seguinte para dar uma outra olhada nos endereços IP da versão 4 nesta interface:
ip -4 addr show dev enp0s3
O novo endereço IP está presente nesta interface de rede. Pegamos outro computador e usamos o seguinte comando para ver se podemos ping
o novo endereço IP :
ping 192.168.4.44
O endereço IP responde e envia de volta confirmações aos pings. Nosso novo endereço IP está instalado e funcionando após um simples ip
comando.
Para excluir um endereço IP, o comando é quase a mesma que a de adicionar um, a não ser que você substitua add
com del
, como mostrado abaixo:
sudo ip addr del 192.168.4.44/24 dev enp0s3
Se digitarmos o seguinte para verificar, vemos que o novo endereço IP foi excluído:
ip -4 addr show dev enp0s3
Você usa o link
objeto para inspecionar e trabalhar com interfaces de rede. Digite o seguinte comando para ver as interfaces instaladas em seu computador:
ip link show
Para ver uma única interface de rede, basta adicionar seu nome ao comando, conforme mostrado abaixo:
ip link show enp0s3
Você pode usar a set
opção com up
ou down
para parar ou iniciar uma opção de interface de rede. Você também deve usar sudo
, conforme mostrado abaixo:
sudo ip link definido enp0s3 para baixo
Nós digitamos o seguinte para dar uma olhada na interface de rede:
ip link show enp0s3
O estado da interface de rede é DOWN
. Podemos usar a up
opção de reiniciar uma interface de rede, conforme mostrado abaixo:
sudo ip link set enp0s3 up
Digite o seguinte para fazer outra verificação rápida do estado da interface de rede:
ip link show enp0s3
A interface de rede foi reiniciada e o estado é mostrado como UP
.
Com o route
objeto, você pode inspecionar e manipular rotas. As rotas definem para onde o tráfego de rede para diferentes endereços IP é encaminhado e por meio de qual interface de rede.
Se o computador ou dispositivo de destino compartilhar uma rede com o computador de envio, o computador de envio pode encaminhar o pacote diretamente para ele.
No entanto, se o dispositivo de destino não estiver conectado diretamente, o computador de envio encaminha o pacote ao roteador padrão. O roteador decide para onde enviar o pacote.
Para ver as rotas definidas em seu computador, digite o seguinte comando:
rota de ip
Vamos dar uma olhada nas informações que recebemos:
A segunda rota controla o tráfego para o intervalo de IP 169.254.0.0/16. Esta é uma rede de configuração zero , o que significa que ela tenta se autoconfigurar para comunicação na intranet. No entanto, você não pode usá-lo para enviar pacotes para fora da rede imediata.
O princípio por trás das redes de configuração zero é que elas não dependem do DHCP e de outros serviços presentes e ativos. Eles só precisam ver o TCP / IP para se identificarem com cada um dos outros dispositivos na rede.
Vamos dar uma olhada:
link
, o que significa que o escopo é limitado à rede à qual este computador está conectado diretamente.A terceira rota controla o tráfego para o intervalo de endereços IP de 192.168.4.0/24. Este é o intervalo de endereços IP da rede local à qual este computador está conectado. É para comunicação através, mas dentro, dessa rede.
Vamos decompô-lo:
link
, o que significa que o escopo é limitado à rede imediata à qual este computador está conectado.Se você quiser se concentrar nos detalhes de uma rota específica, pode adicionar a list
opção e o intervalo de endereços IP da rota ao comando da seguinte maneira:
lista de rotas ip 192.168.4.0/24
Acabamos de adicionar uma nova placa de interface de rede a este computador. Digitamos o seguinte e vemos que é mostrado como enp0s8
:
ip link show
Vamos adicionar uma nova rota para o computador para usar esta nova interface. Primeiro, digitamos o seguinte para associar um endereço IP à interface:
sudo ip addr add 192.168.121.1/24 dev enp0s8
Uma rota padrão usando o endereço IP existente é adicionada à nova interface. Usamos a delete
opção, conforme mostrado abaixo, para excluir a rota e fornecer seus detalhes:
sudo ip route delete default via 192.168.4.1 dev enp0s8
Agora usaremos a add
opção de adicionar nossa nova rota. A nova interface controlará o tráfego de rede no intervalo de endereços IP 192.168.121.0/24. Daremos uma métrica de 100; como será a única rota a lidar com esse tráfego, a métrica é bastante acadêmica.
Nós digitamos o seguinte:
sudo ip route add 192.168.121.0/24 dev enp0s8 métrico 100
Agora, digitamos o seguinte para ver o que nos dá:
rota de ip
Nossa nova rota está pronta. No entanto, ainda temos a rota 192.168.4.0/24 que aponta para a interface – enp0s8
digitamos o seguinte para removê-la:
sudo ip route delete 192.168.4.0/24 dev enp0s8
Devemos agora ter uma nova rota que aponta todo o tráfego destinado ao intervalo de IP 192.168.121.0/24 por meio da interface enp0s8
. Também deve ser a única rota que usa nossa nova interface.
Nós digitamos o seguinte para confirmar:
rota de ip
A grande vantagem desses comandos é que eles não são permanentes. Se você quiser limpá-los, apenas reinicie o sistema. Isso significa que você pode experimentá-los até que funcionem da maneira que desejar. E é uma coisa muito boa se você bagunçar terrivelmente o seu sistema – uma simples reinicialização restaurará a ordem.
Por outro lado, se você deseja que as alterações sejam permanentes, é necessário trabalhar mais um pouco. Exatamente o que varia dependendo da família de distribuição, mas todos envolvem a alteração de arquivos de configuração.
Desta forma, porém, você pode testar os comandos antes de tornar qualquer coisa permanente.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…