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: 206

Rating: 2.7/5 (Total Votes: 6)

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

adsuck
adsuck

20 Feb 15

DNSSEC-Tools
DNSSEC-Tools

12 May 15

ZoneMaker
ZoneMaker

3 Jun 15

PowerDNS
PowerDNS

22 Jun 18

Outro software de desenvolvedor Simon Kelley

syslog-async
syslog-async

3 Jun 15

dhcp-helper
dhcp-helper

2 Jun 15

Comentário para Dnsmasq

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