Notas

Notas

Cenário

Eu tenho um pequeno site em um PC com Windows 10 Pro N com (por exemplo) ip público: 123.456.78 se eu digitar esse ip de qualquer lugar, o site abre bem.

Agora também comprei 2 nomes de domínio, por exemplo, www.somewebsiteOne.come www.somewebsiteTwo.orgem 2 vendedores de domínio diferentes. E depende de um serviço DNS que encaminha www.somewebsiteTwo.ddns.netpara 123.456.78. Nos vendedores de domínio, posso encaminhar www.somewebsiteTwo.orgpara www.somewebsiteTwo.ddns.net. Minha intenção é substituir a dependência do servidor DNS pelo meu servidor DNS de código aberto auto-hospedado usando Technitium.

Para verificar se meu próprio servidor DNS está funcionando, eu:

  1. Abra o PowerShell em um computador diferente em uma rede diferente.
  2. digite: nslookup www.somewebsiteTwo.org 123.456.78
  3. O que de fato retorna o endereço IP 123.456.78

Problema

Agora, se eu tentar inserir o endereço IP desse servidor DNS em qualquer um dos 2 vendedores de domínio, serei obrigado a inserir:

  • nome de anfitrião
  • Endereço de IP

Onde para o nome do host eu posso inserir algo como www.somewebsiteTwo.ddns.net(que é um servidor DNS que encaminha www.somewebsiteTwo.orgpara 123.456.78 e para o endereço IP 123.456.78. Depois de ligar para um dos dois, fui explicado que eles usam o nome do host e não o endereço IP para encontrar meu DNS público pessoal servidor, não o endereço IP.

Isso significa essencialmente que preciso de um servidor DNS para encaminhar algum nome de host do meu servidor DNS público pessoal para o endereço IP do meu servidor DNS. O que derrota minhas intenções. Portanto eu tenho o seguinte:

Pergunta

Como posso determinar e usar um nome de host funcional que se refira ao meu servidor DNS público pessoal em 123.456.78?

Tentativas

  • Tentei inserir o nome do host do meu pc, por exemplo, o que é retornado em cmd at command hostname. Mas isso não é considerado um nome de host válido.
  • Tentei entrar 123.456.78, mas esse não é considerado um nome de host válido.
  • Tentei entrar http://123.456.78/mas não funciona.
  • Os endereços IP não funcionam como nome de host referente a um servidor DNS porque:

O nome de host a ser usado para um servidor DNS e ao registrar e usar um (sub)domínio DNS deve ser um nome de host DNS válido e totalmente qualificado, como por exemplo ns1.example.com. ou customer-5363.dsl-users.isp.example.net . O protocolo não permite um endereço IP. Se você quiser usar um registro DNS como ns1.example.com para registrar o domínio example.com, seu registrador precisará primeiro configurar o registro de cola correto

Responder1

Depois de ligar para um dos dois, fui explicado que eles usam o nome do host e não o endereço IP para encontrar meu servidor DNS público pessoal, não o endereço IP.

Isso significa essencialmente que preciso de um servidor DNS para encaminhar algum nome de host do meu servidor DNS público pessoal para o endereço IP do meu servidor DNS. O que derrota minhas intenções.

Isso não está totalmente correto.

É verdade que os registros NS, usados ​​para delegações de domínio,apenaspegue nomes de host e não endereços brutos.

No entanto, você tem permissão para especificar um nome de host que esteja sob seu próprio domínio, e é por isso que existem campos de endereço IP ao lado: eles permitem que vocêdefiniro nome do host e usá-lo ao mesmo tempo. Na verdade, é a isso que a mensagem de suporte se refere quando menciona "registros de cola", que permitem esse tipo de 'loop'.

(Observe que você também deve adicionar exatamente as mesmas definições de nome de host em seu próprio servidor DNS – os registros cola no registrador são considerados uma cópia e os em seu servidor, a versão oficial.)


Por exemplo, quando você insere o nameserver ns1.somewebsite.com, o registrador publica este registro DNS:

somewebsite.com. NS ns1.somewebsite.com.

Como o nome do host do servidor de nomes está no domínio que ele está hospedando, isso claramente não funcionaria como está, pois criaria um loop. Então vocêtambémprecisa inserir o endereço IP do servidor no campo correspondente, e isso permite ao registrador publicar um segundo registro DNS (o registro "cola"):

somewebsite.com. NS ns1.somewebsite.com.
ns1.somewebsite.com. A 12.34.56.78

Sempre que um resolvedor tentar consultar os servidores de nomes do seu domínio, seus endereços IP dos registros cola serão sempre anexados à mesma resposta, evitando o problema de loop.

Responder2

Na minha pergunta, o nome do host era apenas um conjunto arbitrário de caracteres, geralmente ns1seguido ns2por <website without the http://www.> , por exemplo, se o seu site for swag.orgvocê pode criar ns1.swag.orgnas configurações do seu próprio servidor DNS e depois inserir o "nome do host" ns1.swag.orgnos seus registros. Você (geralmente) precisa de 2 servidores DNS, então você cria outro "nome de host" ns2.swag.orge também o insere. Depois, no IP, basta inserir o endereço IP público do seu pc que hospeda o servidor DNS (que você também inseriu na ns1.swag.orgentrada nas configurações do Technitium/DNS.

Abaixo está um exemplo de como fazer tudo isso com fotos.

Configurações verificadas para hospedar seu próprio servidor DNS:

  1. Resumindo, coloque essas configurações no painel de configurações do technitium (substitua pelo your ipendereço IP público do seu computador/host/dispositivo em que você hospeda seu site. (O A ns1.<yourwebsite>`é um registro de cola que informa ao computador que vincula as pessoas ao seu website , "quando você está procurando por este nome de host/site, você pode olhar para este ip para encontrar o nome de host/site", (mas então ele entraria em um loop infinito então você diz ok, pare aqui, você encontrou o site em este IP.)

As configurações de DNS do seu PC no host Technitium.

  1. Em seguida, crie o registro DNS personalizado em seu registrador de domínio. Isso é feito de forma diferente para cada vendedor de domínio. Este é o exemplo para namecheap. Resumindo, você deseja digitar o nome do host do seu servidor DNS (se você inserir ns1.<yourwebsite adres>o technitium, digite-o, junto com o endereço IP público do seu computador.

Inserindo seu servidor DNS em seu registrador

  1. Você pode inspecionar se o registro do servidor DNS/cola se o ip foi inserido corretamente pesquisando: ns1ou ns2(se você digitou ns1.<yourwebsite>:

Verifique se seus servidores DNS foram inseridos corretamente

  1. Não se esqueça de selecionar também seu próprio DNS personalizado nas configurações do site, caso contrário, você configurou tudo corretamente em seu servidor DNS local e disse ao registrador: ei, DNS personalizado, veja este IP para meu próprio servidor DNS, mas depois em no final o registrador ainda procura em seu próprio servidor DNS padrão, (onde não encontra seu ip, você precisa pagar por isso).

Selecione seu servidor DNS pessoal/personalizado nas configurações do seu registrador

Notas

  1. Essas configurações ainda não permitem https://www.yourwebsite.something. Para isso você precisa de um certificado SSL, você pode obter um gratuitamente no openssl e o Technitium realmente suporta https. No entanto, ainda não implementei isso.
  2. Um conjunto de instruções mais detalhado e elaborado é encontrado em:https://github.com/at-0/DnsServerjunto com o servidor DNS de código aberto Technitium, feito por outra pessoa, eu apenas bifurquei e adicionei instruções.

informação relacionada