Possível hospedar um domínio pai e filho em um servidor de ligação?

1

NB Este é um repost de minha pergunta anterior , que foi colocada em espera, e pediu para ser reformulada para melhor clareza (espero que isso faça mais sentido)

Eu tenho um único servidor DNS com bind instalado, que estou tentando configurar para hospedar um domínio pai ( example.org ) e dois subdomínios ( cnc.example.org e report.example.org ) para que os dispositivos em qualquer um dos os domínios podem ter consultas DNS atendidas pelo único servidor DNS.

Minha primeira pergunta é possível?

Se sim, por que receberei os seguintes erros?

Quando faço nslookup host1 do domínio report.example.org que recebo

server can't find host1: SERVFAIL

Quando faço nslookup host2 do domínio cnc.example.org que recebo

server can't find host1: SERVFAIL

Configuredaseguinteforma:

host1:

  • IP192.168.252.21/24
  • DNS192.168.252.22
  • /etc/hostscontémhost1.cnc.example.org

host2:

  • IP192.168.252.20/24
  • DNS192.168.252.22
  • /etc/hostscontémhost2.report.example.org

DNSServer:

  • IP192.168.252.22/24
  • DNS127.0.0.1
  • /etc/hostscontémDNSServer.example.org

named.conf.localconfiguration

///Doanylocalconfigurationhere////Consideraddingthe1918zoneshere,iftheyarenotusedinyour//organization//include"/etc/bind/zones.rfc1918";

zone "example.org" {
    type master;
    file "/etc/bind/zones/example.org";
#    allow-transfer { 192.168.252.22; };
};

zone "cnc.example.org" {
    type master;
    file "/etc/bind/zones/cnc.example.org";
#    allow-transfer { 192.168.252.22; };
};

zone "report.example.org" {
    type master;
    file "/etc/bind/zones/report.example.org";
#    allow-transfer { 192.168.252.22; };
};

zone "252.168.192.in-appr.arpa" {
     type master;
     file "/etc/bind/zones/reverse/rev.252.168.192";
     allow-transfer { 192.168.252.22; };
};

example.org configuration

;
; BIND data for example.org or report.example.org
;
$TTL 3h
@           IN  SOA DNSServer.example.org.  root.example.org. (
                        1       ; serial
                        3h      ; refresh
                        1h      ; retry
                        1w      ; expire
                        1h )    ; minimum
;
; main domain name servers - NS records
                    IN  NS  DNSServer.example.org.


; main domain name servers - A records
DNSServer               IN  A   192.168.252.22


;delegated zones
cnc.example.org.                IN  NS  DNSServer.example.org.
report.example.org.         IN  NS  DNSServer.example.org.

* saída do /etc/resolv.conf no DNSServer *

  # Generated by NetworkManager
    search example.org
    nameserver 127.0.0.1

* saída do /etc/resolv.conf no host1 *

 # Generated by NetworkManager
    search report.example.org
    nameserver 192.168.252.22

* saída do /etc/resolv.conf no host2 *

  # Generated by NetworkManager
    search cnc.example.org
    nameserver 192.168.252.22

* saída do dig DNSServer no DNSServer *

root@DNSServer:/etc/bind/zones/reverse# dig DNSServer

; <<>> DiG 9.10.3-P4-Debian <<>> DNSServer
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 45573
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;DNSServer.         IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov 27 10:47:23 GMT 2017
;; MSG SIZE  rcvd: 38

* output usando dig DNSServer.example.org *

   root@DNSServer:/home/osboxes# dig DNSServer.example.org

    ; <<>> DiG 9.10.3-P4-Debian <<>> DNSServer.example.org
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12335
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;DNSServer.example.org.     IN  A

    ;; ANSWER SECTION:
    DNSServer.example.org.  10800   IN  A   192.168.252.22

    ;; AUTHORITY SECTION:
    example.org.        10800   IN  NS  DNSServer.example.org.

    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Nov 27 11:01:19 GMT 2017
    ;; MSG SIZE  rcvd: 79

* saída do dig host1 no DNSServer *

root@DNSServer:/etc/bind/zones/reverse# dig host1

; <<>> DiG 9.10.3-P4-Debian <<>> host1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 19414
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;host1.         IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov 27 10:48:15 GMT 2017
;; MSG SIZE  rcvd: 40

cnc.example.org configuration

;
; BIND data for example.org or report.example.org
;
$TTL 3h
@           IN  SOA DNSServer.example.org.  root.example.org. (
                        1       ; serial
                        3h      ; refresh
                        1h      ; retry
                        1w      ; expire
                        1h )    ; minimum
;
; main domain name servers - NS records
@                   IN  NS  DNSServer.example.org.


; main domain name servers - A records
;DNSServer              IN  A   192.168.252.22


;192.168.252.0/24 - A Records
host1.cnc.example.org.      IN  A   192.168.252.21

report.example.org configuration

;
; BIND data for example.org or report.example.org
;
$TTL 3h
@           IN  SOA DNSServer.example.org.  root.example.org. (
                        1       ; serial
                        3h      ; refresh
                        1h      ; retry
                        1w      ; expire
                        1h )    ; minimum
;
; main domain name servers - NS records
@                   IN  NS  DNSServer.example.org.

; main domain name servers - A records
DNSServer               IN  A   192.168.252.22

;192.168.252.0/24 - A Records
host2.report.example.org.   IN  A   192.168.252.20

obrigado

    
por Bat 26.11.2017 / 22:22

2 respostas

2

Você pode usar a delegação, mas, a menos que realmente precise, sugiro que simplifique e use uma zona que contenha example.org , cnc.example.org e report.example.org .

;
; BIND data for example.org
;
$TTL 3h
@           IN  SOA DNSServer.example.org.  root.example.org. (
                        1       ; serial
                        3h      ; refresh
                        1h      ; retry
                        1w      ; expire
                        1h )    ; minimum
;
; main domain name servers - NS records
                    IN  NS  DNSServer.example.org.

; main domain name servers - A records
DNSServer           IN  A  192.168.252.22

; public targets
cnc                 IN  CNAME  host1.cnc
report              IN  CNAME  host2.report

; hosts delivering services
host1.cnc           IN  A   192.168.252.21
host2.report        IN  A   192.168.252.20

Citando comentários:

On the DNSServer when I do nslookup host1 I get

root@host1:/home/osbixes# nslookup host2
Server: 127.0.0.1
Address 127.0.0.1#53
** server can’t find host2: SERVFAIL

Não há caminho de pesquisa no DNSServer, mas o domínio é example.org , o que significa que todos os nomes não qualificados devem estar nesse domínio. Não há host2.example.org então nslookup está deixando de responder corretamente. Nesse caso, você precisaria substituir o domain example.org em seu /etc/resolv.conf por search example.org report.example.org ou procurar nslookup host2.report .

From host1 or host2 I get

root@host1:/home/osbixes# nslookup host2
Server: 192.168.252.22
Address 192.168.252.22#53
** server can’t find host2: SERVFAIL

Mesma razão. Seu domínio (caminho de pesquisa) em /etc/resolv.conf não inclui o componente que contém host2 , então nslookup não pode ver o nome não qualificado host2 em qualquer lugar.

I assume the /etc/hosts and /etc/hostname files on host1 and host2 should still be host1.cnc.example.org and host2.report.example.org

Não tenho idéia do que você quer dizer quando diz que /etc/hosts deve ser host1.cnc.example.org . O arquivo /etc/hosts é uma maneira alternativa de mapear entre nomes de host e endereços IP. Se você tiver apenas dois ou três nomes de host, é melhor evitar a complexidade do DNS interno e colocar essas entradas em /etc/hosts . Por outro lado, se você tiver um número razoável de hosts, o DNS é uma boa solução centralizada para uma rede local. (Lembre-se, porém, que nslookup intencionalmente ignora /etc/hosts .)

From either of the hosts when I do nslookup host1.cnc.example.org or nslookup host2.report.example.org it correctly resolves the IP address

Sim. Você forneceu um nome totalmente qualificado, que nslookup (e bind ) pode resolver corretamente. Isso prova que o DNS está funcionando bem.

I need a single DNS Server to handle any queries for example.org and cnc.example.org and report.example.org so that when a new device communicates back to the network to ask for new commands to execute, it queries cnc.example.org and is directed to host1.cnc.example.org (192.168.252.21) but when it wants to send reports back to the network it queries the report.example.org domain and is directed to host2.report.example.org (192.168.252.20)

Para isso, use um registro CNAME (alias) no DNS, para que uma consulta de report.example.org seja mapeada para o host host2.report.example.org . Note que não há nenhuma razão técnica na sua pergunta porque host2 não deveria ser chamado de host2.example.org . CNAME registros podem apontar para qualquer lugar, não apenas para hosts no (sub) domínio atual.

    
por 26.11.2017 / 22:36
1

Sim . Mas não há necessidade de criar uma configuração esperada para o subdomínio.

Um . no final significa um nome de domínio completo e sem um . significa um subdomínio do domínio original.

Adicione uma entrada como essa somente para a configuração cnc.example.com in example.com .

host1.cnc      IN  A   192.168.252.21    

Então, você precisa das seguintes atualizações

  1. Remover cnc.example.org e report.example.com de named.conf.local
  2. Adicione todas as entradas correspondentes ao subdomínio sem . no final na configuração do domínio pai. Você também pode mencioná-los explicitamente na zona dos pais como

    host1.cnc.example.com.  IN A  192.168.252.21
    
  3. Remova os arquivos de zona correspondentes a cnc.example.com e report.example.com e reinicie BIND server.
por 26.11.2017 / 22:33

Tags