É possível ter ligação Responder de forma autoritária para domínios locais?


0

Assim como o título diz: é possível ter Ligar ( nomeado service) em uma máquina Linux (Fedora 27, Server Edition) responda autoritativamente para domínios locais ou, no mínimo, responda de tal forma que algo perguntando sobre eles aceite a resposta do servidor sobre qualquer outra?

Eu sei que é suposto ser possível (em teoria, pelo menos), mas eu não posso fazê-lo funcionar, mesmo que tanto o nomeado e rndc serviços são e, apesar de meus arquivos passar verificações em ambos named-checkconf e named-checkzone .

Eu preciso ser capaz de receber uma resposta do servidor Bind para o meu domínio local (consultas provenientes de um PC com Windows 7) que aponta para o meu domínio local (em oposição a uma resposta autoritativa ou não autoritativa em outro lugar na internet), semelhante para este post: BIND9 não pode resolver o domínio local . Eu também gostaria de tornar possível adicionar outros nomes de domínio (internet) em uma data posterior (assim, uma raiz falsa provavelmente não funcionaria como uma solução), mas, como está, a nslookup a resposta é:

** o servidor não consegue encontrar o vpntest.it: NXDOMAIN **

Eu também reinstalei a distro (instalação mínima), modifiquei os arquivos de acordo com o Guia do Administrador do Fedora, e verifiquei (além de cuidadosamente extrapolar) esta postagem: https://serverfault.com/questions/838380/dns-use-public-domain-name-for-internal-use ...e ainda receber o erro acima. Grrrrrrrrrrrrrrrr!

Meus arquivos são atualmente os seguintes:

/etc/nsswitch.conf valor:

files dns myhostname

/etc/resolv.conf:

# Generated by NetworkManager
nameserver 64.83.128.50
nameserver 64.20.192.50
nameserver 2001:4860:4860::8888
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 2001:4860:4860::8844

/ etc / hosts:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

etc / named.conf (Chave RNDC excluída deste post):

options {
    listen-on port 53 { 10.200.0.1; }; // 127.0.0.1 //
    listen-on-v6 port 53 { ::1; };
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";

    recursion no;
    dnssec-enable yes;
    dnssec-validation auto;

    auth-nxdomain no;
    allow-query { localhost; };
    version "Damned If I Know";
    allow-recursion { 10.200.0.1/24; };

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";

    include "/etc/crypto-policies/back-ends/bind.config";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

include "/etc/named.rfc1912.zones";
# include "/etc/named.root.key";

key "rndc-key" {
    algorithm hmac-md5;
    secret "";
};

controls {
    inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };
};

zone "vpntest.it" IN {
    type master;
    file "vpntest.it.zone";
};

zone "0.200.10.in-addr.arpa" IN {
    type master;
    file "10.200.0.zone";
    allow-update { none; };
};

/var/named/vpntest.it.zone:

$ORIGIN vpntest.it.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
                IN  NS  ns1.vpntest.it.
;
ns1             IN  A   10.200.0.1
;
www             IN  A   10.200.0.6

/var/named/10.200.0.zone:

$ORIGIN 0.200.10.in-addr.arpa.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
@               IN  NS  ns1.vpntest.it.
;
1               IN  PTR ns1.vpntest.it.
6               IN  PTR www

Qual é o endereço IP do seu servidor de nomes? Se não é 10.200.0.1, esse é o seu problema. Além disso, você precisa permitir a recursão para lidar com outros domínios.
davidgo

é nslookup vpntest.it diferente de nslookup vpntest.it 127.0.0.1 ou algo assim?
thrig

@davidgo: Vou verificar agora e ver se isso resolve o problema, - obrigado.
Y Treehugger Cymru

@davidgo: desculpe, - correção não foi bem sucedida (** servidor não consegue encontrar vpntest.it: NXDOMAIN **). - Eu atualizei meu arquivo vpntest.it.zone NS Um registro e adicionei um AAAA para FE80 :: 1, então os IPs dos servidores de nomes correspondem aos dados em resolv.conf (onde eu também alterei FE80 :: / 64 para FE80 :: 1) . A recursão também foi habilitada no named.conf.
Y Treehugger Cymru

Formato de arquivo alterado para corresponder às convenções de nomenclatura, portanto vpntest.it.zone foi alterado para named.vpntest.it; da mesma forma com o arquivo PTR. Também removido recursão não; (para evitar um possível conflito com a diretiva allow-recursion), e use var / named / named.empty para criar um stripped, convencionalmente correto, named.vpntest.it. Resultado: ainda NXDOMAIN.
Y Treehugger Cymru

Respostas:


0

Eu sei que esta questão é um pouco antiga (e parece que você tem alguma configuração semi-funcional), então por favor me perdoe se eu declarar algo que você já conhece ou que não se aplica mais ao seu problema.


Eu não posso falar diretamente com nenhum outro problema, mas você (aparentemente) não tem uma entrada para vpntest.it no seu arquivo de zona:

$ORIGIN vpntest.it.
$TTL 86400
@       IN      SOA    ns1.vpntest.it.    hostmaster.vpntest.it. (
                100 ; serial
                21600   ; refresh after 6 hours
                3600    ; retry after 1 hour
                604800  ; expire after 1 week
                86400 ) ; minimum TTL of 1 day
;
                IN  NS  ns1.vpntest.it.
;
ns1             IN  A   10.200.0.1
;
vpntest.it.     IN  A   10.200.0.6  ; http://vpntest.it - no subdomain
www             IN  A   10.200.0.6  ; http://www.vpntest.it - subdomain

Observe que o serial deve sempre ser incrementado ao fazer alterações em suas zonas.

Outras notas

  • .it é um verdadeiro TLD junto com .dev. Isso pode causar problemas de resolução (assim como qualquer TLD público real). Você pode querer verificar esta lista de Domínios Internacionais de Nível Superior e escolher um TLD falso que não esteja nessa lista (por exemplo, .nx possivelmente?). Há alguns TLDs não públicos oficialmente reservados (bem, semi-excluindo .onion ) mas .invalid é aquele que você escolheria para ser absolutamente seguro (evite .local desde que isto é usado em conjunto com rede zeroconf ).

  • Como você nota em seus comentários, recursion no; deve ser removido (já que você já está limitando a recursão com allow-recursion { 10.200.0.1/24; }; ).

  • Qualquer computador que você deseja vpntest.it para trabalhar com necessidades de ter seu tráfego DNS passar pelo seu servidor BIND.

  • anfitriões potencialmente pode substituir o BIND. Enquanto nsswitch.conf não parece ser um problema (considerando o pedido), isso provavelmente ainda vale a pena observar para solução de problemas gerais (ou seja, você não deve precisar vpntest.it 127.0.0.1 ao usar o BIND).

  • Embora não se aplique ao seu problema, use, por exemplo, vpntest.it/ (observe a barra à direita) para acessar domínios personalizados nas versões atuais do Chrome, Firefox e Opera (ou outros navegadores derivados do Chromium). Deixá-lo também pode causar problemas de resolução (supondo que o DNS esteja funcionando corretamente).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.