Como gerenciar conexões de rede Linux a partir da linha de comando
Roman Samborskyi / Shutterstock. com
O comando nmcli permite que você aproveite o poder do Linux NetworkManager direto da linha de comando, tornando-o perfeito para servidores sem ambiente de área de trabalho e administração de shell SSH remota.
O comando nmcli
O comando nmcli não é novo, ele foi lançado em 2010. Junto com o comando ip, ele substitui o venerável — mas obsoleto — ifconfig. Velhos hábitos são difíceis de morrer, e muitos administradores de sistemas ainda usam ifconfig. Eles já sabem como usá-lo, não há curva de aprendizado e eles só precisam fazer o trabalho. Então, por que aprender outra ferramenta?
Bem, eventualmente, ifconfig será descartado pelas distribuições, então é uma mudança que está por vir, gostemos ou não. Mas o nmcli tem alguns truques legais próprios que fazem valer a pena descobrir o que ele pode oferecer.
Os conceitos e sintaxe do ncmli
Como todos os comandos CLI, nmcli aceita parâmetros de linha de comando. Os parâmetros são agrupados em três categorias.
- Opções: modificam o comportamento do nmcli & # 8216;
- Seções: informam ao nmcli qual conjunto de ações você está invocando. Pense nas seções como coleções de comandos.
- Ações: dizem ao nmcli o que você deseja fazer. Pense neles como comandos.
O formato geral da sintaxe é:
nmcli < options > < seções > < ação >
- Ajuda: fornece pequenos textos de ajuda sobre os comandos ncmcli
- Geral: recupera o status e a configuração do NetworkManager
- Rede : Consulta, habilita ou desabilita conexões de rede
- Rádio: Consulta, habilita ou desabilita conexões de rede Wi-Fi
- Monitor: Monitora NetworkManager e mudanças de status de conexões de rede
- Conexão: manipula diretamente as interfaces de rede, incluindo habilitação e desabilitação, adição de novas conexões e remoção de conexões existentes
- Dispositivo: modifica os parâmetros do dispositivo de rede e conecta ou desconecta um dispositivo de uma conexão existente
- Segredo: registra o nmcli como um agente secreto do NetworkManager. Como o nmcli faz isso automaticamente, raramente é usado.
Primeiras etapas com nmcli
Vamos verificar se o NetworkManager está instalado, em execução e se podemos conectar a ele com nmcli. Usaremos a ação de status da seção geral.
status geral do nmcli
Publicidade
Na verdade, status é a ação padrão para geral, então poderíamos ter deixado essa palavra fora do comando. Porém, verificamos que o nmcli — e, portanto, o NetworkManager — está instalado e operacional. Vamos descobrir um pouco mais sobre este computador.
Podemos listar todos os perfis de conexão de rede em memória e em disco usando a ação show na seção de conexão:
exibição de conexão nmcli
A saída é mais ampla do que a janela do terminal. Nossos resultados foram:
NOME UUID tipo de dispositivo de ligação com fios 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e Ethernet Ethernet enp0s3-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 Ethernet Ethernet enp0s8-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9
A máquina de teste usada para este artigo está executando uma versão de pré-lançamento do Ubuntu 21.10. Ele possui três adaptadores de rede instalados, chamados enp0s3, enp0s8 e enp0s9.
Compreendendo o encanamento
Uma conexão de rede permite que seu computador se comunique em uma rede com outro dispositivo. Internamente, o nmcli contém todas as informações relacionadas a uma conexão de rede em um objeto de dados que ele chama de conexão.
Uma conexão nmcli encapsula todas as informações relacionadas a essa conexão, incluindo a camada de enlace de dados e informações de endereçamento IP. Você pode pensar nas conexões do nmcli & # 8216; s como os detalhes de configuração para conexões de rede do mundo real.
Para alcançar o mundo externo, uma conexão deve usar um dispositivo de interface de rede, como uma placa de rede. Uma conexão está ligada a um dispositivo. Quando um dispositivo está ativo e pode receber ou transmitir dados, a conexão é considerada ativa ou ativa. O estado inativo correspondente é chamado, sem surpresa, inativo ou inativo.
Adicionando conexões de rede
Com nmcli você pode criar uma conexão de rede e definir algumas de suas opções de configuração com um único comando. Neste computador de teste, não há conexão em enp0s8, o nome de nossa conexão com fio (ethernet) número 2. Adicionaremos uma conexão a enp0s8. Como estamos fazendo alterações no sistema, você precisará usar o sudo:
conexão sudo nmcli adicionar tipo ethernet ifname enp0s8
Este comando usa a ação adicionar da seção de conexão. Usamos a opção type para solicitar uma conexão ethernet e a opção ifname (nome da interface) para especificar o dispositivo de interface de rede que queremos que esta conexão use.
Vamos verificar o que aconteceu:
exibição de conexão nmcli
Publicidade
NOME UUID tipo de dispositivo de ligação com fios 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e Ethernet Ethernet enp0s3-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 Ethernet Ethernet enp0s8-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9 ethernet-enp0s8-1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet -
Nossa nova conexão, ethernet-enp0s8-1, foi criada. Seu identificador universalmente exclusivo (UUID) foi atribuído e o tipo de conexão é ethernet. Agora podemos torná-lo ativo com o comando up. O comando up deve ser seguido pelo nome da conexão ou seu UUID:
conexão nmcli up ethernet-enp0s8-1
Vamos verificar nossas conexões ativas mais uma vez:
mostrar conexão nmcli - ativo
NOME UUID TIPO DISPOSITIVO Conexão com fio 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8-1 b874aa09-3a25-4f52-b20b-1b958enet9741bes ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9
Nossa nova conexão, ethernet-enp0s8-1, agora está ativa e ligada ao dispositivo de interface de rede enp0s8.
Ajustando as conexões
Obviamente, o ncmli também permite que você altere os parâmetros das conexões existentes. Suponha que desejamos alternar uma interface de rede do protocolo de configuração dinâmica de hosts (DHCP) para o uso de um endereço IP estático. Para corresponder à nossa rede, precisamos de um endereço IP fixo de 192.168.1.40 para nossa nova conexão.
Para fazer isso, você precisa emitir dois comandos. Um para definir o endereço IP e outro para definir o método de conexão para obter um endereço IP como manual:
conexão nmcli modificar ethernet-enp0s8-1 ipv4. address 192.168.1.40/24
conexão nmcli modificar manual ethernet-enp0s8-1 ipv4. method
Publicidade
O “ / 24 ” que fornecemos com o endereço IP é a máscara de sub-rede no Classless Inter-Domain Routing (CIDR). Neste contexto, “ / 24 ” significa “ 255.255.255.0. ”
As alterações não terão efeito até que a conexão seja “ devolvida. ” Ou seja, desativado e colocado online novamente. O primeiro comando desativa a conexão e o segundo a ativa novamente.
conexão nmcli down ethernet-enp0s8-1
conexão nmcli up ethernet-enp0s8-1
Se você deseja reverter a alteração e passar de um endereço IP estático para um endereço IP DHCP, use a opção automática em vez de manual.
conexão nmcli modificar ethernet-enp0s8-1 ipv4. method auto
Gerenciamento de dispositivos
A seção nmclidevice contém ações (comandos) que permitem gerenciar as interfaces de rede instaladas em seu computador. Para ver o status de todas as interfaces de rede em seu computador, use:
status do dispositivo nmcli
Mostrando detalhes do dispositivo
Para examinar os detalhes de uma interface de rede, usamos a ação show da seção do dispositivo. Se você não fornecer um nome de dispositivo, os detalhes de todos os dispositivos serão recuperados e exibidos. Você pode rolar e subir e descer as páginas para revisá-los.
Vamos dar uma olhada em enp0s8, o dispositivo que nossa nova conexão está usando. Podemos verificar se o endereço IP em uso é o endereço que solicitamos anteriormente.
dispositivo nmcli mostra enp0s8
DISPOSITIVO. GERAL: enp0s8 TIPO. GERAL: ethernet GENERAL. HWADDR: 08: 00: 27: 79: A7: 68 GENERAL. MTU: 1500 GENERAL. STATE: 100 (conectado) GERAL. CONEXÃO: Ethernet- enp0s8-1 GENERAL. CON-PATH: / org / freedesktop / NetworkManager / ActiveConnection / 8 WIRED-PROPERTIES. CARRIER: on IP4. ADDRESS [1]: 192.168.1.40/24 IP4. GATEWAY: - IP4. ROUTE [1] : dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 102 IP6. ADDRESS [1]: fe80 :: 3241: 457d: cd1c: 2436/64 IP6. GATEWAY: - IP6. ROUTE [1]: dst = fe80 :: / 64, nh = ::, mt = 102
Uma tela cheia de informações é retornada por nmcli. Alguns dos itens comumente úteis são:
- DISPOSITIVO: O nome do dispositivo que &’ estamos examinando.
- TIPO: O tipo de conexão usando este dispositivo.
- HWADDR: O endereço MAC da placa de interface.
- ESTADO: Se este dispositivo tem uma conexão ativa nele.
- IP4. ADDRESS [1]: O endereço IP e máscara de sub-rede para este dispositivo.
- CONEXÃO: O nome da conexão que usa este dispositivo.
O editor interativo nmcli
Embora nmcli seja uma ferramenta de linha de comando, ele possui um editor interativo básico. A ação de edição na seção de conexão abre o editor interativo na conexão que você passa na linha de comando:
conexão nmcli editar ethernet-enp0s8-1
Publicidade
Algum texto de ajuda é impresso na tela, e você é apresentado com o “ nmcli > ” prompt de comando.
se você digitar imprimir e clicar em “ Enter ”, nmcli lista todas as propriedades associadas à conexão. Há muitos deles. Você pode rolar por eles para revisá-los.
imprimir
Vamos mudar nossa conexão de volta para DHCP. Usaremos o “ ipv4 ” definições. Para fazer isso, precisamos “ ir ” às configurações IPv4.
ir para ipv4
A propriedade que queremos alterar é o método. Queremos defini-lo como automático.
definir método automático
Você verá o seguinte prompt:
Você também deseja limpar 'ipv4. addresses'? [sim]:
Publicidade
Se você não limpar o endereço IP, da próxima vez que definir esta conexão para usar um endereço IP estático, ela usará o que foi definido anteriormente. Se você desmarcá-lo, precisará definir um novo endereço IP se alguma vez alterar essa conexão de volta para um endereço IP estático. Digite “ sim ” ou apenas pressione “ Enter ” para limpá-lo. Digite “ no ” e pressione “ Enter ” para mantê-lo.
Precisamos salvar nossas alterações:
salvar
Digite “ sair ” para sair do editor interativo. Se você não quiser sair, digite “ voltar ” para voltar ao nível principal e continuar usando o editor.
Há muito mais no homem
O comando nmcli pode fazer muito mais. Ele tem muitos parâmetros e opções de linha de comando. Tantas, na verdade, que sua página de manual tem mais de 1200 linhas. Revise-os para ver o que mais o nmcli pode fazer por você.
E, claro, se você estiver administrando remotamente conexões de rede, não desative a conexão em que se conectou. Isso nunca é divertido.
Nenhum comentário