• Início
  • Institucional
    • Fale Conosco
    • Nossa Equipe
    • Sobre
  • ShowCasts
  • Speedtest
  • Vagas
  • Categorias
    • Android
    • Dev
    • GNU/Linux
    • Rede
    • Windows
  • Grupos

Integração de DNS com DHCP (dnsmasq)

Postado em 18 de julho de 2012 por Ricardo Pinheiro

Geralmente ao montar um servidor eu sempre instalo um servidor DNS, mesmo que ele não esteja com autoridade sobre nenhum domínio, realizo uma configuração apenas como cache para acelerar as consultas DNS da rede local. Quando preciso ter instalado também um servidor DHCP eu utilizo o dnsmasq que faz a integração DNS/DHCP num único .conf.

Vamos instalar o dnsmasq e configura-lo:

# cp dnsmasq.conf dnsmasq.conf.original

# vi /etc/dnsmasq.conf

domain-needed
bogus-priv
local=/empresa.local/
expand-hosts
domain=empresa.local
interface=eth1
listen-address=127.0.0.1
server=4.4.4.4
server=8.8.8.8
dhcp-range=172.16.1.100,172.16.1.200
dhcp-lease-max=100

Descrição:

domain-needed – Não encaminha requisições de consultas DNS para nomes de hosts simples (sem fqdn) para os servidores DNS listados em “server=…”, ou seja, twitter, facebook retornam um erro de host não encontrado.

bogus-priv – Qualquer pesquisa reversa para um ip privado (RFC 1918) não será redirecionada para os servidores listados em “server=…”.

local=/empresa.local/ – Pesquisas para o domínio “empresa.local” não serão encaminhadas para os servidores listados em “server=…”.

expand-hosts – Adiciona automaticamente o domínio (empresa.local) em nomes de máquinas simples. Exemplo desk01 será completado com desk01.empresa.local.

domain=empresa.local – Procura neste domínio por nome de máquinas simples (hostname).

interface=eth1 – Interface na qual o dnsmasq irá ouvir requisições DNS e DHCP, utilize uma linha para cada interface.

listen-address=127.0.0.1 – Faz o próprio dnsmasq utilizar o próprio cache, ao invés de encaminhar para um servidor DNS.

server=4.4.4.4 – Servidor DNS consultado caso o cache local não conheça o domínio solicitado. Para cadastrar outro servidor basta adicionar outra linha.

dhcp-range=172.16.1.100,172.16.1.200,12h – Define o range de IPs e o tempo de concessão da configuração.

dhcp-max-lease 100 – Máximo de concessões, se omitido utiliza 150.

Agora basta reiniciar o servidor:

# /etc/init.d/dnsmasq restart

Vamos testar a configuração:

# ping globo.com

PING globo.com (201.7.176.59) 56(84) bytes of data.
64 bytes from globosat.com.br (201.7.176.59): icmp_req=1 ttl=249 time=22.3 ms
64 bytes from globosat.com.br (201.7.176.59): icmp_req=2 ttl=249 time=25.2 ms
64 bytes from globosat.com.br (201.7.176.59): icmp_req=3 ttl=249 time=24.0 ms
64 bytes from globosat.com.br (201.7.176.59): icmp_req=4 ttl=249 time=22.4 ms
— globo.com ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 22.309/23.525/25.299/1.247 ms

Vamos aos clientes:

LINUX

Por padrão alguns clientes DHCP linux não enviam o hostname, então vamos acertar isso:

# vi /etc/dhcp/dhclient.conf

send host-name “debian100″;

Configurar para pegar configuração via DHCP:

# vi /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

Vamos reiniciar o serviço de rede:

# /etc/init.d/networking restart

# ping -c4 globo.com

WINDOWS

Por padrão todas as máquinas com S.O. Windows enviam por padrão o nome de máquina para o servidor DHCP. Então basta apenas configurar para pegar configuração de IP e DNS automaticamente.

Para testar abra o console e ping uma máquina da rede local apenas pelo nome de máquina, lembrando que as máquinas Windows bloqueiam ping por padrão.

C:> ping debian100

Caso seja necessário que um dos clientes seja mapeado para um IP basta voltar ao dnsmasq.conf e adicionar o seu MAC:IP:

# vi /etc/dnsmasq.conf

dhcp-host=08:00:27:6f:1a:10,172.16.1.30

E reiniciar o dnsmasq para que a configuração entre em vigor

# /etc/init.d/dnsmasq restart

Pronto, espero que tenham gostado do post e não se esqueçam de assinar o nosso portal.

Publicado em GNU/Linux | Tags: Debian, dhcp, DNS, dnsmasq, linux | 3 Comentários
« Criptografando seu Pendrive com LUKS
Sistema de arquivos remoto seguro (sshfs) »

3 thoughts on “Integração de DNS com DHCP (dnsmasq)”

  1. eduorloff diz
    27 de julho de 2014 às 15:24

    Muito bom!

    No entanto tenho algumas dúvidas, que abaixo pergunto:

    Como se sabe o dnsmasq é uma ferramenta que tem como propósito gerar o cache de requisições dns feitas pelo sistema operacional. Sendo assim, quando usamos o dnsmasq diminuímos o tempo de latência, pois antes de ocorrer a requisição dns nos servidores da internet, essa requisição é feita na máquina local. Se a requisição estiver no banco local é atendida sem precisar ir aos servidores de dns da internet. Isso faz com que a eficiência do processo seja maior. Tendo em mente o exposto faço as seguintes perguntas:

    1) como temos acesso ao banco de dados ou ao cache propriamente dito do dnsmasq?

    2) Outra coisa: como podemos “limpar” esse cache? Ao executar o comando “/etc/init.d/dnsmasq restart” limpa-se o cache automaticamente?

    Um grande abraço e parabéns pelo belo artigo!

    Responder
    • Ricardo Pinheiro diz
      30 de julho de 2014 às 07:49

      Eduardo,

      Primeiramente obrigado, quanto aos seus questionamentos não conheço nenhuma opção que dê acesso ao cache local do opendns e para limpar basta parar o processo ou restart pois os dados estão armazenados em memória.

      Abração

      Responder
  2. Marcos diz
    14 de janeiro de 2017 às 11:22

    Bom dia!
    Estou querendo implantar um servidor PXE em CentOS ou Debian/Ubuntu para a instalação do windows via rede.
    Na minha rede já possuo um DHCP que é fornecido pelo meu roteador e o servidor de dns é o próprio ip do roteador.
    Não configurei um domínio mas sim um grupo de trabalho.
    Onde devo alterar no arquivo acima para que não haja conflitos?
    Atte.,
    Marcos

    Responder

Deixe uma resposta Cancelar resposta

Páginas

  • Autores
    • Carlos Sathler
    • Douglas Portugal
    • Erick Martinez
    • Jeferson Salles
    • Maurício Nunes
    • Mauro Sérgio
    • Ricardo Martins
    • Ricardo Pinheiro
    • Rodrigo Maciel
    • Silney Lopes
    • Vagner Matos
  • Checkout
    • Purchase Confirmation
    • Purchase History
    • Transaction Failed
  • Eventos
  • Eventos
  • Fale Conosco
  • Galeria de Vídeo
  • Grupos do Telegram
  • Lista VIP
  • Nossa Equipe
  • Receba mais informações
  • ShowCasts
  • Sobre
  • Teste a sua velocidade
  • Video Gallery
  • Video Grid Gallery

Archives

  • junho 2018
  • maio 2018
  • fevereiro 2018
  • outubro 2017
  • setembro 2017
  • agosto 2017
  • fevereiro 2017
  • janeiro 2017
  • dezembro 2016
  • julho 2016
  • junho 2016
  • maio 2016
  • abril 2016
  • março 2016
  • fevereiro 2016
  • janeiro 2016
  • dezembro 2015
  • novembro 2015
  • outubro 2015
  • setembro 2015
  • agosto 2015
  • julho 2015
  • junho 2015
  • maio 2015
  • abril 2015
  • março 2015
  • fevereiro 2015
  • janeiro 2015
  • dezembro 2014
  • novembro 2014
  • outubro 2014
  • setembro 2014
  • agosto 2014
  • julho 2014
  • junho 2014
  • maio 2014
  • abril 2014
  • janeiro 2014
  • dezembro 2013
  • outubro 2013
  • setembro 2013
  • julho 2013
  • junho 2013
  • maio 2013
  • abril 2013
  • março 2013
  • fevereiro 2013
  • janeiro 2013
  • setembro 2012
  • agosto 2012
  • julho 2012
  • abril 2011
  • março 2011
  • fevereiro 2011

Categorias

  • AWS (7)
  • BSD (3)
  • Cloud Computing (11)
  • Dev (13)
  • DevOps (3)
  • Entrevistas (1)
  • Gestão (8)
  • GNU/Linux (135)
  • IoT (4)
  • Microsoft (86)
    • Hyper-V (9)
    • Office 365 (3)
    • Skype For Business (1)
    • SQL Server (1)
    • System Center (2)
    • Windows Server (2)
  • Monitoração (4)
  • Rede (37)
  • redes (10)
  • Segurança (23)
  • Sem categoria (25)
  • SharePoint (4)
  • ShowCasts (13)
  • Vagas (13)
  • VMware (1)
  • Windows (96)

WordPress

  • Acessar
  • WordPress

Inscrever

  • Posts (RSS)
  • Comentários (RSS)
© 2012 Mundo TI Brasil