Header Ads

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