Descrição
Este tópico me ajudou arrumar a velocidade da Steam no linux dentre outras velocidades de download fodidas e agora estou aproveitando 100% de minha net.
Este guia irá ajudá-lo a instalar e configurar o servidor DNS Dnsmasq no Ubuntu 18.04 LTS (Bionic Beaver). Para quem é novo no Dnsmasq, o Dnsmasq é um servidor DNS simples, leve, fácil de usar e gerenciar, com suporte a scripts Lua, IPv6, DNSSEC, inicialização de rede para PXE, BOOTP e TFTP. Ele tem uma pequena pegada, portanto, adequado para roteadores e firewalls com recursos limitados.
O Dnsmasq foi projetado para fornecer DNS e, opcionalmente, serviços DHCP / TFTP para ambientes de rede de pequeno a médio porte. Quando recebe consultas DNS, ele as atende a partir de seu cache local ou as encaminha para um servidor DNS recursivo diferente, que pode ser BIND ou qualquer outro servidor DNS.
Uma configuração para o servidor DNS com autoridade do PowerDNS está disponível em nosso blog:
Subsistemas Dnsmasq
O Dnsmasq possui três subsistemas principais, a saber:
- Subsistema DNS : Fornece armazenamento em cache de A, AAAA, CNAME e PTR, também registros DNSKEY e DS.
- Subsistema DHCP : Fornece suporte para DHCPv4, DHCPv6, BOTP e PXE. Você pode usar as concessões DHCP estáticas e dinâmicas, incorporadas no servidor TFTP somente leitura para oferecer suporte ao netboot.
- Subsistema de anúncio de roteador: fornece autoconfiguração básica para o host IPv6
Passo 1: Instalando o Dnsmasq no Ubuntu 18.04
O Ubuntu 18.04 vem com o systemd-resolve, que você precisa desabilitar, pois ele se liga à porta 53, que entrará em conflito com a porta do Dnsmasq.
Execute os seguintes comandos para desativar o serviço resolvido:
sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved
Além disso, remova o arquivo resolv.conf
links simbólicos
$ ls -lh /etc/resolv.conf lrwxrwxrwx 1 raiz raiz 39 ago 8 15:52 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf $ sudo rm /etc/resolv.conf
Em seguida, crie um novo arquivo resolv.conf .
echo "nameserver 8.8.8.8"> /etc/resolv.conf
O Dnsmasq está disponível no repositório apt, a instalação fácil pode ser feita executando:
sudo apt-get instala o dnsmasq
O arquivo de configuração principal do Dnsmasq é o /etc/dnsmasq.conf
. Configure o Dnsmasq modificando este arquivo.
sudo vim /etc/dnsmasq.conf
Aqui está a configuração mínima
# Listen on this specific port instead of the standard DNS port # (53). Setting this to zero completely disables DNS function, # leaving only DHCP and/or TFTP. port=53 # Never forward plain names (without a dot or domain part) domain-needed # Never forward addresses in the non-routed address spaces. bogus-priv # By default, dnsmasq will send queries to any of the upstream # servers it knows about and tries to favour servers to are known # to be up. Uncommenting this forces dnsmasq to try each query # with each server strictly in the order they appear in # /etc/resolv.conf strict-order # Set this (and domain: see below) if you want to have a domain # automatically added to simple names in a hosts-file. expand-hosts # Set the domain for dnsmasq. this is optional, but if it is set, it # does the following things. # 1) Allows DHCP hosts to have fully qualified domain names, as long # as the domain part matches this setting. # 2) Sets the "domain" DHCP option thereby potentially setting the # domain of all systems configured by DHCP # 3) Provides the domain part for "expand-hosts" #domain=thekelleys.org.uk domain=mypridomain.com # Set Liste address listen-address=127.0.0.1 # Set to Server IP for network responses
Se você deseja ativar a validação e o armazenamento em cache do DNSSEC, remova o comentário
#dnssec
Faça quaisquer outras alterações que você veja relevantes e reinicie o dnsmasq quando terminar:
sudo systemctl restart dnsmasq
Etapa 2: Adicionando registros DNS ao Dnsmasq
Adicione registros DNS no arquivo. /etc/hosts
. O Dnsmasq responderá a consultas de clientes usando esses registros.
$ sudo vim /etc/hosts 10.1.3.4 server1.mypridomain.com 10.1.4.4 erp.mypridomain.com 192.168.10.2 checkout.mypridomain.com 192.168.4.3 hello.world
Você precisa reiniciar o serviço dnsmasq após adicionar os registros.
sudo systemctl restart dnsmasq
Etapa 3: Testando a funcionalidade DNS do Dnsmasq
Para verificar se o Dnsmasq responde aos registros que adicionamos, aponte o servidor DNS de seus servidores para o servidor Dnsmasq. Edite /etc/network/interfaces
para configuração persistente, ou o arquivo /etc/netplan/
nos servidores Ubuntu 18.04.
Como este é um teste, modifico o arquivo de tempo de execução /etc/resolv.conf
$ sudo vim /etc/resolv.conf nameserver 127.0.0.1 nameserver 8.8.8.8
Teste using dig:
$ dig A erp.mypridomain.com ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> A erp.mypridomain.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43392 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;erp.mypridomain.com. IN A ;; ANSWER SECTION: erp.mypridomain.com. 0 IN A 10.1.4.4 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Aug 21 10:35:41 UTC 2018 ;; MSG SIZE rcvd: 64
Aqui um outro exemplo:
$ dig checkout.mypridomain.com A +noall +answer ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> checkout.mypridomain.com A +noall +answer ;; global options: +cmd checkout.mypridomain.com. 0 IN A 192.168.10.2
Você pode confirmar que estamos recebendo respostas conforme o configurado.
Configurar o Dnsmasq como servidor DHCP (opcional)
Você pode usar o Dnsmasq para atribuir endereços IP a clientes, estáticos ou dinâmicos.
Edite o arquivo como /etc/dnsmasq.conf
e forneça as opções de DHCP. Você precisa fornecer:
- Endereço IP do gateway padrão
- Endereço IP do servidor DNS (Provavelmente Dnsmasq ou servidor DNS diferente)
- Máscara de sub-rede
- Faixa de endereços DHCP
- Servidor NTP
Veja abaixo o exemplo
dhcp-range=192.168.3.25,192.168.3.50,24h dhcp-option=option:router,192.168.3.1 dhcp-option=option:ntp-server,192.168.3.5 dhcp-option=option:dns-server,192.168.3.5 dhcp-option=option:netmask,255.255.255.0
Reinicie o dnsmasq e configure os clientes para obter um endereço IP desse servidor.
sudo systemctl restart dnsmasq
Conclusão
Dnsmasq é um fácil de configurar cache DNS que pode acelerar a navegação na Internet e a resolução de registros de domínio em seus sistemas. Você também pode aproveitar seu subsistema DHCP, que é fácil de configurar e usar para uma rede pequena.