AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 854227
Accepted
André Fernandes
André Fernandes
Asked: 2017-06-07 05:16:42 +0800 CST2017-06-07 05:16:42 +0800 CST 2017-06-07 05:16:42 +0800 CST

BIND DNS: como substituir o RR gerado pela diretiva $ GENERATE?

  • 772

Estou executando um servidor de nomes autoritativo para uma zona /16 reversa, onde cada IP é mapeado para um subdomínio personalizado. Isso é obtido por um arquivo de zona com 256 $GENERATEdiretivas, por exemplo (sub-rede 11.22.0.0/16):

$GENERATE 0-255 $.1 PTR $.1.22.11.rev.example.com.
$GENERATE 0-255 $.2 PTR $.2.22.11.rev.example.com.
(...)

Isso funciona bem, o único problema é que sempre que adicionarmos um registro reverso "significativo" ( 4.3.22.11.in-addr.arpa. IN PTR www.example.com.) resultará em uma situação em que existem 2 registros PTR para o mesmo endereço IP:

4.3.22.11.in-addr.arpa. IN PTR www.example.com.
4.3.22.11.in-addr.arpa. IN PTR 4.3.22.11.rev.example.com.

Na maioria das vezes isso é bom, mas em alguns casos precisamos ter um único registro PTR.

A solução foi "desenrolar" o $GENERATEbloco em registros PTR individuais e substituir o que ofendeu. Existe uma maneira de substituir um registro gerado sem precisar expandir todo o intervalo?

Este servidor de nomes executa o BIND 9.8.2 no RHEL6.

domain-name-system
  • 3 3 respostas
  • 2204 Views

3 respostas

  • Voted
  1. Best Answer
    Esa Jokinen
    2017-06-07T05:59:39+08:002017-06-07T05:59:39+08:00

    A $GENERATEDiretiva tem apenas duas formas de alcance : start-stop ou start-stop/step. Por causa disso, você não pode excluir um IP do intervalo, mas deve dividir o intervalo de acordo, por exemplo

    $ORIGIN 22.11.in-addr.arpa.
    $GENERATE 0-3   $.3  PTR  $.3.22.11.rev.example.com.
                    4.3  PTR  www.example.com.
    $GENERATE 5-255 $.3  PTR  $.3.22.11.rev.example.com.
    
    • 3
  2. Andrew B
    2017-06-07T05:57:52+08:002017-06-07T05:57:52+08:00

    Não há como fazer isso infelizmente. Você está preso com "desenrolar".

    Na memória, a diretiva $GENERATE faz com que registros PTR individuais sejam gerados. Isso pode ser observado visualizando o arquivo de zona recebido pelos servidores secundários após a transferência de zona, que não contém uma diretiva $GENERATE. Não há sintaxe que permita substituir seletivamente os registros PTR individuais.

    Uma alternativa é mencionada no Capítulo 8 do DNS for Rocket Scientists , que é adicionar uma etapa de using named-checkzonepara analisar a diretiva $GENERATE e substituí-la por registros PTR individuais:

    A instrução $GENERATE é executada durante o carregamento do arquivo de zona e resultará em uma versão na memória expandida da zona sendo usada operacionalmente pelo BIND9 enquanto o próprio arquivo de zona permanece inalterado. Se você quiser ver a expansão (você não confia no resultado ou deseja editá-lo) o utilitário de ligação nomeado-checkzone permitirá a criação de um arquivo de zona expandido (incluindo a(s) diretiva(s) $GENERATE) que pode ser usado como um modelo (ou esqueleto) e posteriormente editado. Como efeito colateral do uso de named-checkzone, quaisquer rótulos não qualificados (nomes) também serão expandidos para FQDNs completos e qualquer diretiva $TTL será usada para preencher RR TTLs individuais. Isso pode ou não ser um efeito colateral útil. Assumindo que o arquivo de zona contendo a diretiva $GENERATE é 192.168.199.rev (de acordo com este guia'

    named-checkzone -D -o 192.168.199.rev.exp 199.168.192.IN-ADDR.ARPA 192.168.199.rev

    A desvantagem é, naturalmente, o fato de que seu arquivo de zona no mestre se torna muito maior. Neste ponto, você está usando apenas $GENERATE para construir a zona reversa inicial para você, de modo que os registros PTR individuais não precisem ser digitados manualmente, e um script de shell poderia facilmente ter alcançado o mesmo resultado final.

    Esta provavelmente não é a solução que você esperava, mas esse é o estado das coisas, infelizmente. :(

    • 2
  3. 200_success
    2021-05-11T02:41:56+08:002021-05-11T02:41:56+08:00

    Embora você não possa fazer uma exceção dentro da zona que contém o $GENERATE, você pode definir uma Zona de Política de Resposta . Uma Zona de Política de Resposta deve permitir que você substitua qualquer resposta que desejar .

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve