Dnsmasq

Tela Software:
Dnsmasq
Detalhes de Software:
Versão: 2.77 Atualizado
Data de upload: 2 Sep 17
Revelador: Simon Kelley
Licença: Livre
Popularidade: 120

Rating: 2.8/5 (Total Votes: 5)

Dnsmasq é um software de linha de comando livre, completamente gratuito, fácil de configurar e leve, projetado a partir do deslocamento para atuar como um servidor DHCP (Dynamic Host Configuration Protocol) e DNS (Domain Name System ) em sistemas operacionais GNU / Linux e UNIX.

O software foi projetado de forma a fornecer DNS, bem como a funcionalidade DHCP a uma rede pequena. É capaz de servir os nomes das máquinas locais que estão no DNS global e contém vários recursos atraentes.


Poderosas opções de linha de comando

Uma ampla gama de opções de linha de comando estão disponíveis para este projeto, que pode ser visualizado instantaneamente executando o & lsquo; dnsmasq --help & rsquo; comando em um aplicativo de terminal. Entre estes, podemos mencionar a capacidade de especificar um endereço local para ouvir, especificar o tamanho do cache nas entradas, bem como especificar um arquivo de configuração personalizado.

Introdução ao Dnsmasq

A instalação do Dnsmasq em um sistema operacional GNU / Linux é da mesma maneira que você faria com qualquer outro programa de código aberto que seja distribuído como um arquivo de origem. Primeiro, faça o download do pacote, guarde-o no seu computador (de preferência, seu diretório inicial) e extraia seu conteúdo usando um utilitário gerenciador de arquivos.

Em seguida, mude para o local onde você extraiu o arquivo em um emulador de terminal (por exemplo, cd /home/softoware/dnsmasq-2.72 - replace & lsquo; softoware & rsquo; com seu nome de usuário), execute o & lsquo; ./ configure & amp ; & amp; faça & rsquo; comando para configurar e compilar o programa, seguido pelo & lsquo; sudo make install & rsquo; comando para instalá-lo em todo o sistema.


Funciona em GNU / Linux, BSD e Mac OS X

Dnsmasq suporta vários sistemas operacionais, incluindo Linux (Debian, Gentoo, Slackware, Smoothwall, SUSE, IP-Cop, Firebox, floppyfw, LEAF, CoyoteLinux, Clarkconnect, Freesco, etc.), BSD (FreeBSD) e Mac OS X. Ele é executado em plataformas de computador de 32 bits e 64 bits.

O que é novo nesta versão:

  • Gerar um erro quando configurado com um loop CNAME, em vez de um bloqueio. Obrigado a George Metz por detectar este problema.
  • Calcule o comprimento do pacote de resposta de erro TFTP corretamente. Isso corrige um problema quando a mensagem de erro em um pacote TFTP excede o limite arbitrário de 500 caracteres. A mensagem foi truncada corretamente, mas não o comprimento do pacote, então dados adicionais foram anexados. Este é um possível risco de segurança, uma vez que os dados adicionais provêm de um buffer que também é usado para DNS, de modo que as consultas ou respostas DNS anteriores podem ser vazadas. Obrigado à Mozilla por financiar a auditoria de segurança que detectou esse erro.
  • Corrigir erro de lógica no código Linux netlink. Isso poderia causar o dnsmasq entrar em um loop apertado em sistemas com um número muito grande de interfaces de rede. Graças a Ivan Kokshaysky para o diagnóstico e parche.
  • Solucione o problema com --dnssec-timestamp pelo qual o recebimento do SIGHUP incorretamente englova a verificação do timestamp. Obrigado a Kevin Darbyshire-Bryant por este trabalho.
  • Bump zone serial no recarregamento / etc / hosts e amigos ao fornecer DNS autenticado. Obrigado a Harrald Dunkel por detectar isso.
  • Gerencie os endereços IPv6 mapeados v4 sanely in -synth-domain. Estes têm uma representação padrão como :: ffff: 1.2.3.4 e agora são convertidos em nomes como --ffff-1-2-3-4.
  • Gerencie os servidores de amostragem vinculados para uma interface (--server=1.2.3.4@eth0) quando a interface nomeada é destruída e recriada no kernel. Obrigado a Beniamino Galvani pelo patch.
  • Permitir registros do CNAME curinga em zonas autorizadas. Por exemplo --cname = *. Example.com, default.example.com Obrigado ao Pro Backup por patrocinar este desenvolvimento.
  • Bump o backlog permitido de conexões TCP de 5 a 32, e torná-lo uma opção configurável em tempo de compilação. Obrigado a Donatas Abraitis por diagnosticar isso como um problema potencial.
  • Adicionar DNSMASQ_REQUESTED_OPTIONS variável de ambiente ao script de mudança de locação. Obrigado a ZHAO Yu pelo patch.
  • Corrigir foobar no código rrfilter, que poderia causar respostas malformadas, especialmente quando a validação DNSSEC e o servidor a montante retorna a resposta com os RRs em uma determinada ordem. O único servidor DNS conhecido por fazer cócegas é Nominum's. Graças a Dave Taht por detectar o bug e ajudar na correção.
  • Corrige a página do manual que mentiu que apenas o endereço principal de uma interface é usado por - nome da interface.
  • Faça as consultas --localise-apply para nomes de --interface-name. Graças a Kevin Darbyshire-Bryant e Eric Luehrsen por empurrar isso.
  • Melhore o gerenciamento de conexões quando conversa com servidores TCP upstream. Especificamente, esteja preparado para abrir uma nova conexão TCP quando queremos fazer várias consultas, mas o servidor upstream aceita menos consultas por conexão.
  • Melhore o registro de servidores upstream quando há muitas entradas de "apenas endereços locais". Obrigado a Hannu Nyman pelo patch.
  • Faça --bogus-priv aplicar ao IPv6, para os prefixos especificados no RFC6303. Graças a Kevin Darbyshire-Bryant para trabalhar nisso.
  • Permitir o uso de endereços MAC com --tftp-unique-root. Obrigado a Floris Bos pelo patch.
  • Adicionar --dhcp-resposta-atraso opção. Obrigado a Floris Bos pelo patch.
  • Adicionar facilidade de configuração mtu para -ra-param. Obrigado a David Flamand pelo patch.
  • Capture STDOUT e STDERR saída de dhcp-script e log-lo como parte do fluxo de log dnsmasq. Facilita a vida para diagnosticar problemas inesperados em scripts. Obrigado a Petr Mensik pelo patch.
  • Gerar erros fatais ao não conseguir analisar a saída do script dhcp no modo "init". Evita erros estranhos quando o script acidentalmente emite mensagens de erro. Obrigado a Petr Mensik pelo patch.
  • Faça --rev-server para um trabalho de sub-rede RFC1918 mesmo na presença da bandeira --bogus-priv. Obrigado a Vladislav Grishenko pelo patch.
  • Extend --ra-param mtu: campo para permitir um nome de interface. Isso permite que a MTU de uma interface WAN seja anunciada nas interfaces internas de um roteador. Obrigado a Vladislav Grishenko pelo patch.
  • O ICMP-ping verifica o endereço em uso para DHCPv4 quando o cliente especifica um endereço em DHCPDISCOVER e quando um endereço configurado localmente. Graças a Alin Nastac por detectar o problema.
  • Adicionar nova etiqueta DHCP "conhecido-outro" que é configurado quando apenas um host dhcp existe para outra sub-rede. Pode ser usado para garantir que hosts privilegiados não recebam endereços "convidados" por acidente. Obrigado a Todd Sanket pela sugestão.
  • Remova a inclusão automática histórica do suporte IDN ao criar suporte de internacionalização. Isso não cabe agora, há uma escolha de bibliotecas IDN. Certifique-se de incluir qualquer -DHAVE_IDN ou -DHAVE_LIBIDN2 para suporte IDN.

O que é novo na versão 2.72:

  • Adicione o modo ra-advrouter, para o suporte IPv6 móvel RFC-3775.
  • Adicionar suporte para "ipsets" em * BSD, usando pf. Obrigado a Sven Falempim pelo patch.
  • Corrigir a condição de corrida que poderia bloquear o dnsmasq quando uma interface diminui rapidamente. Obrigado a Conrad Kostecki por ajudar a perseguir isso.
  • Adicione os métodos DBus SetFilterWin2KOption e SetBogusPrivOption. Graças ao projeto Smoothwall para o patch.
  • Corrigir falha na compilação contra Nettle-3.0. Obrigado a Steven Barth por detectar isso e encontrar a solução. Ao atribuir concessões de DHCP existentes a interfaces, comparando redes, lida com o caso de que duas ou mais interfaces tenham a mesma parte de rede, mas diferentes comprimentos de prefixo (favorecem o comprimento de prefixo mais longo). Obrigado a Lung-Pin Chang pelo patch.
  • Adicione um modo que detecta e elimina os laços de reencaminhamento de DNS, ou seja, uma consulta enviada para um servidor upstream retorna como uma nova consulta para o dnsmasq e, portanto, seria reencaminhada novamente, resultando em uma consulta que acompanha muitas vezes antes de ser descartada. Os servidores ascendentes que estão de volta são desativados e esse evento é logado. Graças a Smoothwall pelo seu patrocínio deste recurso.
  • Estenda --conf-dir para permitir a filtragem de arquivos. Então --conf-dir = / etc / dnsmasq.d, *. Conf carregará todos os arquivos em /etc/dnsmasq.d que terminam em .conf
  • Corrigir erro quando resultou em respostas NXDOMAIN em vez de NODATA em algumas circunstâncias.
  • Corrigir o erro que causou que o dnsmasq se tornasse insensível se não enviasse pacotes devido a uma interface de rede desaparecer. Obrigado a Niels Peen por detectar isso.
  • Corrigir problema com a opção - local-service em plataformas big-endian. Graças a Richard Genoud pelo patch.

O que é novo na versão 2.68:

  • Use endereços aleatórios para alocações de endereço temporário DHCPv6, em vez de endereços estáveis ​​determinados algoritmicamente.
  • Corrigir o erro, o que significou que o DHCPv6 DUID não estava disponível no script DHCP durante a vida útil do processo dnsmasq que criou o DUD de novo. Uma vez que o DUID foi criado e armazenado no arquivo de locação e o dnsmasq foi reiniciado, este erro desapareceu.
  • Corrigir erro introduzido em 2.67, o que pode resultar em NXDOMAIN incorreto retorna para consultas CNAME.
  • Corrige falhas de compilação no MacOS X e no openBSD.
  • Permitir especificações de sub-rede em --auth-zone para ser nomes de interface, bem como literais de endereço. Isso torna possível configurar o DNS autenticado quando os intervalos de endereços locais são dinâmicos e funcionam muito melhor do que o trabalho anterior em que existia DHCP construído a partir da filtragem de endereços IP. Como conseqüência, esse trabalho é removido. Sob certas circunstâncias, essa mudança irá interromper a configuração existente: se você estiver confiando na exceção do intervalo construído, você precisará alterar --auth-zone para especificar a mesma interface que é usada para construir seus intervalos DHCP, provavelmente com uma sequência "/ 6" como este: --auth-zone = example.com, eth0 / 6 para limitar os endereços aos endereços IPv6 do eth0.
  • Corrige problemas ao anunciar prefixos IPv6 excluídos. Se o prefixo for excluído (em vez de substituído), ele não será anunciado com zero tempo preferido. Graças a Tsachi para o relatório de erros.
  • Corrigir segfault com alguns CNAMEs configurados localmente. Obrigado a Andrew Childs por detectar o problema.
  • Corrige o vazamento de memória na re-leitura / etc / hosts e amigos, introduzido em 2.67.
  • Verifique a interface de chegada das solicitações DNS e TFTP recebidas via IPv6, mesmo no modo --bind-interfaces. Isso não é possível para o IPv4 e pode gerar avisos assustadores, mas como sempre é possível para o IPv6 (a API sempre existe), então devemos fazê-lo sempre.
  • Ajustar as regras sobre prefixos em --dhcp-range para IPv6. A nova regra é que o comprimento do prefixo especificado deve ser maior ou igual ao comprimento do prefixo do endereço correspondente na interface local.

O que é novo na versão 2.63:

  • A principal adição nesta versão é um novo modo, --bind-dynamic, que tanto evita a ligação do endereço IP do curinga e lida com interfaces de rede criadas dinamicamente, removendo as principais limitações dos dois modos de rede existentes.

O que é novo na versão 2.61:

  • Esta versão tem muito trabalho extra no código DHCPv6 que estreou em 2.60.
  • Muitos erros foram corrigidos e foram adicionados recursos extras.
  • O recurso de publicidade do roteador agora é muito mais configurável, e há um modo que permite que o dnsmasq faça registros de DNS AAAA para hosts que usam endereços IPAv de SLAAC e endereços DHCP IPv4.

O que é novo na versão 2.59:

  • Esta versão aborda alguns problemas que surgiram com o dnsmasq-2.58, o que pode causar problemas na inicialização com os endereços locais do link IPv6.
  • Um é uma regressão no dnsmasq e o outro decorre de uma mudança no comportamento das interfaces de bridge em kernels recentes do Linux.

O que é novo na versão 2.58:

  • versão 2.58
  • Forneça uma definição da macro SA_SIZE onde está faltando. Corrige a falha de compilação no openBSD.
  • Não inclua um terminador zero no final das mensagens enviadas para / dev / log quando / dev / log é um datagrama. Obrigado a Didier Rabound por detectar o problema.
  • Adicione - dhcp-sequencial-ip flag, para forçar a alocação de endereços IP em ordem crescente. Observe que o modo pseudo-aleatório padrão é, em geral, melhor, mas alguns aplicativos de implantação de servidor precisam disso.
  • Corrigir problema onde um servidor-id de 0.0.0.0 é enviado para um cliente quando um relé dhcp está em uso se um cliente renovar uma locação após o reinício do dnsmasq e antes que qualquer cliente na sub-rede obtenha um novo contrato de arrendamento. Obrigado a Mike Ruiz por ter ajudado a perseguir este.
  • Não devolva NXDOMAIN a uma consulta AAAA se tivermos o CNAME que aponta apenas para um registro A: NODATA é a resposta correta neste caso. Obrigado a Tom Fernandes por detectar o problema.
  • Relaxe a necessidade de fornecer uma máscara de rede em --dhcp-range para redes que usam um relé DHCP. Embora isso ainda seja desejável, na ausência de uma máscara de rede dnsmasq usará um padrão baseado na classe (A, B ou C) do endereço. Isso deve, pelo menos, remover uma causa de falha misteriosa para pessoas que usam endereços e relés RFC1918.
  • Adicione suporte para a marcação de conexão do Linux conntrack. Se ativado com --conntrack, a marca de conexão para as consultas DNS recebidas será copiada para as conexões de saída usadas para responder essas consultas. Isso permite tarefas inteligentes de firewall e contabilidade. Apenas disponível se dnsmasq for compilado com HAVE_CONNTRACK e adicione uma dependência em libnetfilter-conntrack. Graças a Ed Wildgoose pela ideia inicial, teste e patrocínio desta função.
  • Forneça uma mensagem de erro sã quando alguém tenta combinar uma tag em --dhcp-host.
  • Tweak o comportamento de --domain-needed, para evitar problemas com servidores de nomes recursivos a jusante de dnsmasq. O novo comportamento pára apenas as consultas A e AAAA e retorna respostas NODATA em vez de NXDOMAIN.
  • Solução de eficiência para configurações DHCP muito grandes, graças a James Gartrell e Mike Ruiz para obter ajuda com isso.
  • Permitir que o endereço do servidor TFTP no --dhcp-boot seja um nome de domínio que seja pesquisado em / etc / hosts. Isso pode dar vários endereços IP que são usados ​​round-robin, fazendo assim o balanceamento de carga do servidor TFTP. Obrigado a Sushil Agrawal pelo patch.
  • Quando duas opções dhcp marcadas para um número de opção particular são válidas, use aquela que é válida sem uma marca do intervalo dhcp. Permite substituir o valor de uma opção DHCP por um host particular, bem como valores por rede.
  • - dhcp-range = set: interface1, ......
  • - dhcp-host = conjunto: myhost, .....
  • - dhcp-option = tag: interface1, opção: nis-domain, "domain1"
  • - dhcp-option = tag: myhost, opção: nis-domain, "domain2"
  • irá definir o domínio NIS como domain1 para hosts no intervalo, mas
  • substitua isso pelo domain2 para um host específico.
  • Corrigir erro que resultou em arquivos truncados e tempos limite para algumas transferências TFTP. O erro ocorre apenas com transferências netascii e precisa de uma relação infeliz entre o tamanho do arquivo, o tamanho do bloco e o número de linhas novas no último bloco antes de se manifestar. Muito obrigado a Alkis Georgopoulos por detectar o problema e fornecer um caso de teste abrangente.
  • Corrigir regressão no servidor TFTP em plataformas BSD introduzidas na versão 2.56, devido à confusão com o comprimento Sockaddr. Muito obrigado a LoA & macr; c Pefferkorn por encontrar isso.
  • Suporte escopo-ids em endereços IPv6 de servidores de nomes de /etc/resolv.conf e em - opções de servidor. E
  • Por exemplo, nameserver fe80 :: 202: a412: 4512: 7bbf% eth0
  • server = fe80 :: 202: a412: 4512: 7bbf% eth0. Graças a
  • Michael Stapelberg para a sugestão.
  • Atualize a tradução em polonês, graças a Jan Psota.
  • Atualize a tradução em francês. Graças a Gildas Le Nadan.

O que é novo na versão 2.57:

  • Esta versão corrige algumas regressões na versão anterior e adiciona suporte para a plataforma Android.

O que é novo na versão 2.56:

  • Adicione um patch para permitir que o dnsmasq obtenha nomes de interface diretamente em uma zona do Solaris. Graças a Dj Padzensky por isso.
  • Melhore as heurísticas de análise de tipo de dados para que --dhcp-option = opção: domain-search ,. trata o valor como uma string e não um endereço IP. Obrigado a Clemens Fischer por ter observado isso.
  • Adicione suporte IPv6 ao servidor TFTP. Muito obrigado a Jan 'RedBully' Seiffert pelos remendos.
  • Registre consultas de DNS no nível LOG_INFO, em vez de LOG_DEBUG. Isso torna as coisas consistentes com o log de DHCP. Obrigado a Adam Pribyl por detectar o problema.
  • Certifique-se de que o dnsmasq termina de forma limpa ao usar - syslog-async, mesmo que não possa estabelecer uma conexão com o syslogd.
  • Adicionar --add-mac opção. Isto é para suportar instalações de filtragem de DNS atualmente experimentais. Obrigado a Benjamin Petrin pelo patch orignal.
  • Corrigir o erro, o que significava que as tags foram ignoradas na configuração do intervalo dhcp especificando o serviço PXE-proxy. Obrigado a Cristiano Cumer por ter observado isso.
  • Levante um erro se houver lixo extra, não faz parte de uma opção, na linha de comando.
  • Marcar um par de mensagens de log no cache.c como vindo do subsistema DHCP. Obrigado a Olaf Westrik pelo patch.
  • Omita os carimbos de data / hora dos logs quando a) logging para stderr e b) - keep-in-forground está definido. A instalação de log na outra extremidade do stderr pode ser assombrada para fornecê-los. Obrigado a John Hallam pelo patch.
  • Não se queixar de seqüências de caracteres com mais de 255 caracteres em -txt-record, basta dividir as cadeias longas em 255 blocos de caracteres em vez disso.
  • Corrigir crash no duplo-livre. Este erro só pode acontecer quando o script dhcp está em uso e, em seguida, apenas em circunstâncias raras desencadeadas pela alta taxa de transação DHCP e um script lento. Graças a Ferenc Wagner por encontrar o problema
  • Registre apenas que um arquivo foi enviado pelo TFTP após a transferência ter concluído com sucesso.
  • Uma boa sugestão de Ferenc Wagner: estenda a opção --domain para permitir esse tipo de coisa: --domain = thekelleys.org.uk, 192.168.0.0 / 24, local que cria automaticamente
  • - local = / thekelleys.org.uk /
  • - local = / 0.168.192.in-addr.arpa /
  • Aperte a verificação da sintaxe dos contentes hexadecimais no arquivo de configuração. Obrigado a Fred Damen por ter visto isso.
  • Adicione o logotipo / ícone da dnsmasq, contribuído por Justin Swift. Muito obrigado por isso.
  • Nunca armazene respostas de DNS que tenham o bit de "cd" configurado, ou que resultem de consultas encaminhadas com o bit 'cd' definido. O bit 'cd' instrui um servidor de validação DNSSEC rio acima para ignorar falhas de assinatura e retornar respostas de qualquer maneira. Sem essa alteração, é possível poluir o cache dnsmasq com dados incorretos, fazendo uma consulta com o bit 'cd' definido e as consultas subseqüentes retornariam esses dados sem que ele seja marcado como suspeito. Obrigado a Anders Kaseorg por apontar este problema.
  • Adicione o sinalizador --proxy-dnssec, para conformidade com o RFC 4035. A Dnsmasq agora limpará o bit 'ad' em respostas retornadas da validade a montante dos servidores de nomes, a menos que esta opção esteja definida.
  • Permitir um nome de arquivo de "-" para --conf-file para ler o stdin. Sugestão de Timothy Redaelli.
  • Gire a ordem dos registros SRV nas respostas, para fornecer balanceamento de carga round-robin quando todas as prioridades forem iguais. Obrigado a Peter McKinney pela sugestão.
  • Edite contrib / MacOSX-launchd / uk.org.thekelleys.dnsmasq.plist para que ele não registre todas as consultas em um arquivo por padrão. Agradeço novamente a Peter McKinney.
  • Por padrão, definir um endereço IPv4 para um domínio, mas não um endereço IPv6, faz com que o dnsmasq devolva uma resposta NODATA para IPv6 (ou vice-versa). Então --adress = / google.com / 1.2.3.4 impede que consultas IPv6 para * google.com sejam encaminhadas. Permite substituir esse comportamento definindo o sematics se o mesmo domínio aparecer em ambos --server e - address. Nesse caso, a diretiva - tem prioridade para a família de endereços em que aparece, mas o servidor tem prioridade da família de endereços que não aparece em - adddress
  • Então:
  • - endereço = / google.com / 1.2.3.4
  • - servidor = / google.com / #
  • Devolverá o 1.2.3.4 para consultas IPv4 para * .google.com, mas encaminhar as consultas IPv6 para o servidor de nomes upstream normal. Da mesma forma, ao configurar um endereço IPv6, somente isso permitirá o encaminhamento de consultas IPv4. Obrigado a William por apontar a necessidade disso.
  • Permita mais de um --dhcp-optsfile e --dhcp-hostsfile e faça com que eles entendam os diretórios como argumentos da mesma forma que --addn-hosts. Sugestão de John Hanks.
  • Ignore o recheio de pedidos de locações que não conhecemos. Rebind é transmitido, então podemos começar a ouvir uma solicitação para outro servidor DHCP. NAKing this is wrong. Obrigado a Brad D'Hondt por sua ajuda.
  • Corrigir bug de cosméticos que produziu resultados estranhos ao verificar estatísticas de cache com algumas configurações. Obrigado a Fedor Kozhevnikov por ter observado isso.

O que é novo na versão 2.55:

  • Corrigir falhas quando o / etc / ethers estiver em uso. Obrigado a Gianluigi Tiesi por achar isso.
  • Corrigir falha no netlink_multicast (). Obrigado a Arno Wald por encontrar este.
  • Permitir o domínio vazio "." nas opções dhcp domain-search (119).

Programas semelhantes

OpenNetAdmin
OpenNetAdmin

12 May 15

xProDDNS
xProDDNS

28 Sep 15

hrdns
hrdns

14 Apr 15

r53
r53

11 May 15

Outro software de desenvolvedor Simon Kelley

dhcp-helper
dhcp-helper

2 Jun 15

syslog-async
syslog-async

3 Jun 15

Comentário para Dnsmasq

Comentários não encontrado
Adicionar comentário
Ligue imagens!