Neste artigo, vou mostrar como usar o DNSmasq para configurar um servidor DNS local, servidor DNS de cache e servidor DHCP. Então vamos começar.
Topologia de rede:
Esta é a topologia de rede deste artigo. Aqui, vou configurar roteador Como um servidor DNS e DHCP com Dnsmasq. roteador tem 2 interfaces de rede, uma (Ens33) se conecta ao Internet e o outro (Ens38) se conecta a um Rede Swtich. Todos os outros hosts (host1, host2, host3) na rede usa o servidor DHCP configurado no roteador Para atribuição automática de endereços IP e o servidor DNS para resolução de nomes.
Configurando IP estático:
Na minha topologia de rede, você viu, meu roteador tem duas interfaces Ens33 e Ens38. Ens33 conecta o roteador à Internet e Ens38 está conectado a um troca de rede, Quais outros computadores na rede se conectam a. Terei que usar o DHCP para obter um endereço IP para o Ens33 Interface do meu ISP para conexão com a Internet. Mas o Ens38 interface deve ser configurada manualmente.
Vamos usar a rede 192.168.10.0/24 Para interface Ens38 e outros computadores na rede. Se eu usar a rede 192.168.10.0/24, então o endereço IP do Ens38 A interface do roteador deve ser 192.168.10.1/24. Este é o endereço IP do servidor DNSmasq DNS e DHCP Server.
OBSERVAÇÃO: Seu nome de interface de rede pode ser diferente. Você pode descobrir o que é para você com o ip a comando.
No servidor Ubuntu 18.04 LTS, você pode usar NetPlan Para configurar as interfaces de rede. O arquivo de configuração do NetPlan padrão é /etc/netplan/50-cloud-init.Yaml.
Primeiro, abra o arquivo de configuração /etc/netplan/50-cloud-init.Yaml com o seguinte comando:
$ sudo nano/etc/netplan/50 cloud-init.Yaml
Agora, digite as seguintes linhas e salve o arquivo pressionando + x seguido pela y e .
Agora, reinicie o seu roteador com o seguinte comando:
$ sudo reiniciar
Uma vez o roteador botas, endereços IP devem ser atribuídos como esperado.
Instalando o dnsmasq:
Dnsmasq está disponível no repositório oficial do pacote do Ubuntu. Então, você pode instalá -lo facilmente usando o gerenciador de pacotes apt.
Usuários do Ubuntu Systemd resolvido por padrão para gerenciar servidores DNS e cache de DNS. Antes de instalar o dnsmasq, você deve parar e desativar Systemd resolvido Serviços. Caso contrário, você não poderá executar o Dnsmasq.
Para parar o Systemd resolvido Serviço, execute o seguinte comando:
$ sudo systemctl Stop systemd resolvido
Para desativar o Systemd resolvido Serviço, execute o seguinte comando:
$ sudo systemctl desative resolvido o sistema
Por padrão, o /etc/resolv.conf O arquivo está vinculado a outro arquivo de configuração do Systemd, como você pode ver na captura de tela abaixo. Mas, não queremos mais.
Então, remova o /etc/resolv.conf Link com o seguinte comando:
$ sudo rm -v /etc /resolv.conf
Agora, crie um novo /etc/resolv.conf Arquive e defina o servidor do Google DNS como o servidor DNS padrão com o seguinte comando:
$ echo "NameServer 8.8.8.8 "| sudo tee /etc /resolv.conf
Agora, atualize o cache do repositório de pacotes apt com o seguinte comando:
$ sudo apt update
Agora, instale o DNSmasq com o seguinte comando:
$ sudo apt install dnsmasq
Dnsmasq deve ser instalado.
Configurando o servidor DNSmasq DNS:
O arquivo de configuração do dnsmasq é /etc/dnsmasq.conf. Para configurar o dnsmasq como um servidor DNS, você deve modificar este arquivo.
O padrão /etc/dnsmasq.conf O arquivo contém muita documentação e comentou opções. Então, acho melhor renomear o /etc/dnsmasq.conf arquivo para /etc/dnsmasq.conf.bk e crie um novo.
Você pode renomear o arquivo de configuração com o seguinte comando:
$ sudo mv -v /etc /dnsmasq.conf /etc /dnsmasq.conf.bk
Agora, crie o arquivo de configuração /etc/dnsmasq.conf do seguinte modo:
$ sudo nano /etc /dnsmasq.conf
Agora, digite as seguintes linhas e salve o arquivo pressionando + x seguido pela y e .
# Configuração DNS
porta = 53
domínio necessário
Bogus-Priv
ordem rigorosa
expandir-hosts
domínio = exemplo.com
OBSERVAÇÃO: Mudar exemplo.com para seu próprio nome de domínio.
Agora, reinicie o serviço dnsmasq com o seguinte comando:
$ sudo systemctl reiniciar dnsmasq
Sem erros. Ótimo!
Agora, você tem que definir 192.168.10.1 como o endereço padrão do servidor DNS no /etc/resolv.conf.
Para fazer isso, abra /etc/resolv.conf Arquivo com o seguinte comando:
$ sudo nano /etc /resolv.conf
Agora, digite NameServer 192.168.10.1 antes da linha NameServer 8.8.8.8 como mostrado na captura de tela abaixo. Em seguida, salve o arquivo.
É isso.
Adicionando registros DNS:
Agora, você pode adicionar suas entradas de DNS ao /etc/hosts arquivo.
Primeiro, abra o /etc/hosts Arquivo com o seguinte comando:
$ sudo nano /etc /hosts
Agora, digite suas entradas do DNS no seguinte formato:
Ip_addr domain_name
Eu adicionei 4 entradas roteador.exemplo.com (192.168.10.1), host1.exemplo.com (192.168.10.51), host2.exemplo.com (192.168.10.52) , e host3.exemplo.com (192.168.10.53) conforme marcado na captura de tela abaixo. Você pode adicionar quantas entradas do DNS quiser.
Depois de terminar, salve o arquivo pressionando + x seguido pela y e .
Agora, reinicie o serviço Dnsmasq com o seguinte comando:
$ sudo systemctl reiniciar dnsmasq
Testando o servidor DNS:
Como você pode ver, a resolução DNS local funciona.
$ DIG roteador.exemplo.com
A resolução do nome da Internet também funciona.
$ DIG Google.com
Configurando o servidor DHCP:
Para configurar o servidor DHCP, abra o arquivo de configuração DNSmasq /etc/dnsmasq.conf novamente como segue:
$ sudo nano /etc /dnsmasq.conf
Agora, adicione as linhas marcadas ao final do arquivo. Em seguida, salve o arquivo.
# Configuração DHCP
DHCP-RANGE = 192.168.10.50.192.168.10.240.255.255.255.0,24H
dhcp-opção = opção: roteador, 192.168.10.1
DHCP-OPTION = OPÇÃO: DNS-SERVER, 192.168.10.1
DHCP-OPTION = Opção: NetMask, 255.255.255.0
dhcp-host = 00: 0c: 29: a5: bd: 4a, 192.168.10.51
dhcp-host = 00: 0c: 29: a5: bd: 5b, 192.168.10.52
dhcp-host = 00: 0c: 29: a5: bd: 6c, 192.168.10.53
Aqui, DHCP-RANGE é usado para definir o intervalo de endereços IP que o servidor DHCP atribuirá aos hosts.
DHCP-OPTION é usado para definir o gateway (Opção: roteador), Endereço do servidor DNS (Opção: DNS-Server) e máscara de rede (Opção: NetMask)
DHCP-HOST é usado para definir endereços IP específicos para hosts, dependendo dos endereços MAC especificados.
Agora, reinicie o serviço dnsmasq com o seguinte comando:
$ sudo systemctl reiniciar dnsmasq
Testando o servidor DHCP:
Como você pode ver, o computador host1 Tenho o endereço IP 192.168.10.51/24 Do servidor DHCP.
A resolução DNS também funciona de host1.
O mesmo caminho, host2 e host3 Também recebe o endereço IP correto do servidor DHCP e a resolução DNS funciona em cada um deles.
Para onde ir a seguir:
Se você quiser saber mais sobre o dnsmasq, consulte o arquivo de configuração padrão /etc/dnsmasq.conf (agora renomeado para /etc/dnsmasq.conf.bk). Possui descrição detalhada de todas as opções de configuração do dnsmasq.
$ menos /etc /dnsmasq.conf.bk
Arquivo de configuração DNSmasq padrão do servidor Ubuntu 18.04 LTS.
Então, é assim que você configura o Dnsmasq no Ubuntu Server 18.04 LTS. Obrigado por ler este artigo.