Como configurar e gerenciar conexões de rede usando a ferramenta 'nmcli'

Como configurar e gerenciar conexões de rede usando a ferramenta 'nmcli'

Como administrador do Linux, você tem várias ferramentas a serem usadas para configurar suas conexões de rede, como: nmtui, seu Gerente da rede com GNOMO Interface gráfica do usuário e, claro nmcli (Ferramenta de linha de comando gerente de rede).

Configurar a conexão Ethernet de rede usando a ferramenta NMCLI

Eu já vi muitos administradores usando nmtui Pela simplicidade. No entanto, usando nmcli Economiza seu tempo, dá confiança, pode usá -lo nos scripts e é a primeira ferramenta a ser usada para solucionar problemas de rede do servidor Linux e trazer de volta rapidamente sua funcionalidade.

Vendo muitos comentários perguntando ajuda sobre nmcli, Eu decidi escrever este artigo. Claro que você deve sempre ler as páginas cuidadosamente homens (é a ajuda do número 1 para você). Meu objetivo é economizar seu tempo e mostrar algumas dicas.

A sintaxe do NMCLI é:

# nmcli [options] objeto comando | ajuda 

Onde OBJETO é um de: geral, networking, rádio, conexão, dispositivo, agente.

Um bom ponto de partida seria verificar nossos dispositivos:

# nmcli dev status Tipo de dispositivo Conexão de estado Docker0 ponte conectada Docker0 Virbr0 ponte conectada Virbr0 ENP0S3 Ethernet Ethernet conectado ENP0S3 Virbr0-NIC Ethernet desconectado-lo loopback não gerenciado -- 

Como podemos ver na primeira coluna, é uma lista de nossos dispositivos de rede. Temos um cartões de rede com nome ENP0S3. Na sua máquina, você pode ver outros nomes.

A nomeação depende do tipo de placa de rede (se estiver a bordo, placa PCI, etc). Na última coluna, vemos nossos arquivos de configuração que são usados ​​por nossos dispositivos para se conectar à rede.

É simples entender que nossos dispositivos por si mesmos não podem fazer nada. Eles precisam de nós para criar um arquivo de configuração para dizer como alcançar a conectividade de rede. Nós chamamos esses arquivos também como “Perfis de conexão”. Nós os encontramos em /etc/sysconfig/scripts de rede diretório.

# cd/etc/sysconfig/rede-scripts/ # ls 
Saída de amostra
ifcfg-inp0s3 ifdown-isdn ifup ifup-plip ifup-tunnel ifcfg-lo ifdown-post ifup-aliases ifup-plusb ifup-wirless ifdown ifdown-ppp ifup-bnep ifup post.ipv6-global ifdown-bnep ifdowndown routes ifup -th ifup-ppp redes-funções ifdown-eth ifdown-sit ifup-ib ifup-up-up-functions-ipv6 ifdown-b ifdown-team ifup-ippp ifup-sit ifdown-ippp ifdown-teamport ifup-ipv6 ifup-team ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-teamport 

Como você pode ver aqui os arquivos com nome começando com ifcfg- (Configuração da interface) são perfis de conexão. Quando criamos uma nova conexão ou modificamos um existente com nmcli ou nmtui, Os resultados são salvos aqui como perfis de conexão.

Eu mostrarei dois deles da minha máquina, um com uma configuração DHCP e outro com IP estático.

# gato ifcfg-static1 # cat ifcfg-myoffice1 
Verifique a configuração da rede

Percebemos que algumas propriedades têm valores diferentes e outros não existem se não for necessário. Vamos dar uma olhada rápida para o mais importante deles.

  1. TIPO, Temos o tipo Ethernet aqui. Poderíamos ter wifi, equipe, vínculo e outros.
  2. DISPOSITIVO, o nome do dispositivo de rede que está associado a este perfil.
  3. BootProto, Se tiver valor "DHCP" Então nosso perfil de conexão leva IP dinâmico do servidor DHCP, se tiver valor "nenhum" Então não é preciso IP dinâmico e provavelmente atribui um IP estático.
  4. Ipaddr, é o IP estático que atribuímos ao nosso perfil.
  5. PREFIXO, a máscara de sub -rede. Um valor de 24 significa 255.255.255.0. Você pode entender melhor a máscara de sub -rede se escrever seu formato binário. Por exemplo, valores de 16, 24, 26 significam que os primeiros 16, 24 ou 26 bits, respectivamente, são 1 e o restante 0, definindo exatamente o que é o endereço da rede e qual é o alcance de IP que pode ser atribuído.
  6. PORTA DE ENTRADA, o gateway ip.
  7. DNS1, DNS2, Dois servidores DNS que queremos usar.
  8. Onboot, Se tiver valor "sim" Significa que, na inicialização, nosso computador lerá este perfil e tentará atribuí -lo ao seu dispositivo.

Agora, vamos seguir em frente e verificar nossas conexões:

# NMCLI CON SHOW 
Mostrar conexões de rede ativa

A última coluna de dispositivos nos ajuda a entender qual conexão é "ACIMA" e correr e que não é. Na imagem acima, você pode ver as duas conexões que estão ativas: MYOFFICE1 e ENP0S8.

Dica: Se você quiser ver apenas as conexões ativas, digite:

# nmcli con show -a 

Dica: Você pode usar o acerto de preenchimento automático Aba Quando você usa o NMCLI, mas é melhor usar o formato mínimo do comando. Assim, os seguintes comandos são iguais:

# NMCLI Connection Show # NMCLI CON SHOW # NMCLI C S 

Se eu verificar os endereços IP dos meus dispositivos:

# ip a 
Verifique o endereço IP do servidor

Eu vejo que meu dispositivo ENP0S3 tomou o 192.168.1.6 IP do servidor DHCP, porque o perfil de conexão MYOFFICE1 que está em alta tem uma configuração DHCP. Se eu trazer "acima" meu perfil de conexão com nome static1 Então meu dispositivo levará o IP estático 192.168.1.40 como é definido no perfil de conexão.

# nmcli con myoffice1; nmcli con up static1 # nmcli con show 

Vamos ver o endereço IP novamente:

# ip a 
Verifique o endereço IP estático da rede

Podemos fazer nosso primeiro perfil de conexão. As propriedades mínimas que devemos definir são tipo, Ifname e nome:

  1. tipo - Para o tipo de conexão.
  2. Ifname - Para o nome do dispositivo que atribui nossa conexão.
  3. nome - Para o nome da conexão.

Vamos fazer uma nova conexão Ethernet com o nome Myhome1, atribuído ao dispositivo ENP0S3:

# nmcli con 

Verifique sua configuração:

# CAT IFCFG-MYHOME1 
Crie nova conexão de rede

Como você pode ver, tem BootProto = dhcp, Porque não demos nenhum endereço IP estático.

Dica: Podemos modificar qualquer conexão com o “NMCLI CON Mod“ comando. No entanto, se você modificar uma conexão DHCP e alterá -la para estática, não se esqueça de mudar seu “IPv4.método" de "auto" para "manual". Caso contrário, você acabará com dois endereços IP: um do servidor DHCP e o estático.

Vamos fazer um novo perfil de conexão Ethernet com nome static2, que será atribuído ao dispositivo ENP0S3, com IP estático 192.168.1.50, Máscara de sub -rede 255.255.255.0 = 24 e gateway 192.168.1.1.

# nmcli con adicionar tipo Ethernet CONNOME.168.1.50/24 GW4 192.168.1.1 

Verifique sua configuração:

# CAT IFCFG-ESTATIC2 
Crie nova conexão Ethernet

Vamos modificar o último perfil de conexão e adicionar dois servidores DNS.

# nmcli con mod static2 ipv4.DNS “8.8.8.8 8.8.4.4 ” 

Dica: Há algo aqui que você deve prestar atenção: as propriedades para endereço IP e gateway têm nomes diferentes quando você adicionar e quando você modifica uma conexão. Quando você adiciona conexões que você usa "IP4" e "GW4", Enquanto você os modifica, você usa “IPv4” e “GWV4”.

Agora vamos trazer à tona este perfil de conexão:

# nmcli con abaixo static1; nmcli con up static2 

Como você pode ver, o dispositivo ENP0S3 tem agora endereço IP 192.168.1.50.

# ip a 
Verifique o endereço IP da nova conexão de rede

Dica: Existem muitas propriedades que você pode modificar. Se você não se lembra deles de cor, pode se ajudar digitando “NMCLI CON Show” E depois disso o nome da conexão:

# nmcli con mostrar static2 
Verifique o endereço IP da nova conexão de rede

Você pode modificar todas essas propriedades escritas em minúsculas.

Por exemplo: Quando você derruba um perfil de conexão, o Gerente da rede Procura outro perfil de conexão e o traz automaticamente. (Eu deixo como exercício para verificar). Se você não deseja que seu perfil de conexão seja automático:

# nmcli con mod static2 conexão.Autoconnect no 

O último exercício é muito útil: você fez um perfil de conexão, mas deseja que ele seja usado por usuários específicos. É bom classificar seus usuários!

Nós deixamos apenas o usuário Stella Para usar este perfil:

# nmcli con mod static2 conexão.Permissões Stella 

Dica: Se você quiser dar permissões a mais de um usuário, você deve digitar Usuário: Usuário1, Usuário2 sem espaço em branco entre eles:

# nmcli con mod static2 conexão.Usuário de permissões: Stella, John 
Permitir conexões de rede aos usuários

Se você login como outro usuário que não pode trazer "acima" Este perfil de conexão:

# nmcli con show # nmcli con 
Ativar conexão de rede

Uma mensagem de erro diz que a conexão 'static2' não existe, Mesmo se virmos que existe. Isso ocorre porque o usuário atual não tem permissões para trazer à tona essa conexão.

Conclusão: Não hesite em usar nmcli. É fácil e útil.