Carregando...
Sem categoria

Usando o NetworkManager no Ubuntu Server ou Debian (e também DNSMasq via NetworkManager)

Tanto o Debian (sem interface gráfica) quanto Ubuntu Server não utilizam o Network Manager como software gerenciador de redes por padrão e para usá-lo é preciso fazer alguns passos.

O Ubuntu server utiliza o networkd juntamente com o netplan.

O Debian utiliza o interfaces (/etc/network/interfaces)

Instalar o Network Manager:

# Para uma instalação padrão:
sudo apt install network-manager
# ou se quiser economizar ainda mais espaço:
sudo apt install network-manager --no-install-recommends

Habilite o Network Manager no Netplan (Ubuntu apenas)

# Apague todos os arquivos na pasta /etc/netplan/
# Adicione um novo arquivo
sudo nano /etc/netplan/netplan.yaml
# E adicione o seguinte
network:
  renderer: NetworkManager
  version: 2

E pronto!

Você pode instalar também o dnsmasq para gerenciar as requisições DNS

Extra – Instalando o dnsmasq

Por que usar o dnsmasq? Ele é mais poderoso, flexível e maduro que o DNS resolver do systemd-networkd, permite fazer cache de DNS e outras funções mais.

Por padrão o dnsmasq-base já é instalado com o NetworkManager, mas você pode ter certeza instalando-o assim:

sudo apt install dnsmasq-base

Mas qual a diferença entre dnsmasq e dnsmasq-base?

O dnsmasq-base é uma versão leve do dnsmasq que funciona integrada ao NetworkManager, dessa forma não há um serviço exclusivo para ele, se não o próprio serviço do NetworkManager.

Você pode escolher instalar o dnsmasq completo também, fica à sua escolha. Neste tutorial vamos usar apenas o dnsmasq-base.

Diga para o NetworkManager usar o dnmasq da seguinte forma:

# Adicione um arquivo novo nas configurações do Network Manager
sudo nano /etc/NetworkManager/conf.d/dns.conf
# E insira o seguinte
[main]
dns=dnsmasq

# Agora reinicie o Network Manager
sudo systemctl restart NetworkManager

Continuação para o Ubuntu e outros sistemas que estejam usando o systemd-networkd para gerenciar o DNS

Agora precisamos parar e desabilitar o systemd-networkd (pois entra em conflito com o network manager) e o systemd-resolved (pois entra em conflito com o dnsmasq).

sudo systemctl stop systemd-networkd
sudo systemctl disable systemd-networkd

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

Temos também que apagar o arquivo /etc/resolv.conf, pois ele é um link simbólico (symlink) para um arquivo controlado pelo systemd-networkd.

sudo rm /etc/resolv.conf

Reinicie o NetworkManager para fazer com que ele tome controle do arquivo resolv.conf

sudo systemctl restart NetworkManager

Agora visualize o arquivo resolv.conf, ele terá um comentário do NetworkManager

cat /etc/resolv.conf

A saída é algo assim (perceba o “Generated by NetworkManager”, isso é importante):

# Generated by NetworkManager
nameserver 127.0.1.1

Testando se o dnsmask está funcionando

Para testar se o dnsmask está funcionando, verifique se o serviço dele está escutando requisições DNS na porta 53 no ip 127.0.0.1

sudo lsof -i -P -n | grep LISTEN

E aparecerá algo tipo:

lightdm    1035             root   11u  IPv4   30973      0t0  TCP *:5900 (LISTEN)
sshd       1038             root    3u  IPv4   28056      0t0  TCP *:22 (LISTEN)
sshd       1038             root    4u  IPv6   28058      0t0  TCP *:22 (LISTEN)
dnsmasq    1287           nobody    5u  IPv4   32930      0t0  TCP 127.0.0.1:53 (LISTEN)

Verifique se um serviço chamado systemd-resolve está ativo e escutando também na porta 53… se sim, isso significa que o systemd-resolved ainda está ligado e pode entrar em conflito com o dnsmasq, desabilite-o.

Perceba o nome dnmasq, o ip e a porta
127.0.0.1:53 (LISTEN)

Você também pode verificar em um gerenciador de tarefas como htop

sudo htop
# Digite F4 e dnsmasq
# aparecerá algo assim:
PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
1287 nobody     20   0 19768  1236  1096 S  0.0  0.0  0:02.24 │  ├+ /usr/sbin/dnsmasq --no-resolv --keep-in-foreground

Referências

Configurando dnsmasq (mas é o dnsmasq completo, não apenas dnsmasq-base)
https://computingforgeeks.com/install-and-configure-dnsmasq-on-ubuntu/

Dnsmasq tips and tricks
https://www.linux.com/topic/networking/advanced-dnsmasq-tips-and-tricks/

Alterando configurações DNS do networkd
https://askubuntu.com/questions/1012641/dns-set-to-systemds-127-0-0-53-how-to-change-permanently

Dnsmasq using network manager
https://superuser.com/questions/681993/using-dnsmasq-with-networkmanager

Resolvendo conflitos entre dnsmasq e systemd resolved
https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *