노트

노트

대본

Windows 10 Pro N PC에 공용 IP가 있는 작은 웹사이트가 있습니다. 123.456.78 어디에서나 해당 IP를 입력하면 웹사이트가 제대로 열립니다.

이제 나는 또한 2개의 다른 도메인 판매자로부터 2개의 도메인 이름을 구입 www.somewebsiteOne.com했습니다 www.somewebsiteTwo.org. 그리고 www.somewebsiteTwo.ddns.net로 전달되는 DNS 서비스에 의존합니다 123.456.78. 도메인 판매자에서는 www.somewebsiteTwo.org으로 전달할 수 있습니다 www.somewebsiteTwo.ddns.net. 내 의도는 DNS 서버에 대한 종속성을 Technitium을 사용하여 자체 호스팅 오픈소스 DNS 서버로 바꾸는 것입니다.

내 DNS 서버가 작동하는지 확인하려면 다음을 수행합니다.

  1. 다른 네트워크의 다른 컴퓨터에서 powershell을 엽니다.
  2. 입력: nslookup www.somewebsiteTwo.org 123.456.78
  3. 실제로 IP 주소 123.456.78을 반환합니다.

문제

이제 두 도메인 판매자 중 하나에 해당 DNS 서버의 IP 주소를 입력하려고 하면 다음을 입력해야 합니다.

  • 호스트 이름
  • IP 주소

호스트 이름의 경우 다음과 같은 것을 입력할 수 있습니다 ( IP 주소로 전달 www.somewebsiteTwo.ddns.net하는 DNS 서버입니다 . 둘 중 하나로 전화한 후 IP 주소가 아닌 호스트 이름을 사용하여 내 개인 공용 DNS를 찾는다는 설명을 들었습니다). IP 주소가 아닌 서버입니다.www.somewebsiteTwo.org123.456.78123.456.78

이는 본질적으로 내 개인 공용 DNS 서버의 일부 호스트 이름을 내 DNS 서버의 IP 주소로 전달하려면 DNS 서버가 필요하다는 것을 의미합니다. 내 의도를 무너 뜨립니다. 그러므로 나는 다음을 가지고 있습니다 :

질문

에서 내 개인 공개 DNS 서버를 참조하는 작동하는 호스트 이름을 어떻게 확인하고 사용할 수 있습니까 123.456.78?

시도

  • 내 PC의 호스트 이름을 입력하려고 했습니다(예: command 에서 cmd에 반환된 내용) hostname. 그러나 이는 유효한 호스트 이름으로 간주되지 않습니다.
  • 입력을 시도했지만 123.456.78유효한 호스트 이름으로 간주되지 않습니다.
  • 들어가려고 했는데 http://123.456.78/들어가지 않네요.
  • IP 주소는 다음과 같은 이유로 DNS 서버를 참조하는 호스트 이름으로 작동하지 않습니다.

DNS 서버에 사용하고 DNS(하위) 도메인을 등록하고 사용할 때 사용할 호스트 이름은 ns1.example.com과 같은 유효한 정규화된 DNS 호스트 이름이어야 합니다. 또는 customer-5363.dsl-users.isp.example.net . 프로토콜은 IP 주소를 허용하지 않습니다. ns1.example.com과 같은 DNS 레코드를 사용하여 도메인 example.com을 등록하려면 등록 기관에서 먼저 올바른 글루 레코드를 설정해야 합니다.

답변1

두 곳 중 한 곳으로 전화한 후, IP 주소가 아닌 개인 공용 DNS 서버를 찾기 위해 IP 주소가 아닌 호스트 이름을 사용한다는 설명을 들었습니다.

이는 본질적으로 내 개인 공용 DNS 서버의 일부 호스트 이름을 내 DNS 서버의 IP 주소로 전달하려면 DNS 서버가 필요하다는 것을 의미합니다. 내 의도를 무너 뜨립니다.

그것은 완전히 정확하지 않습니다.

도메인 위임에 사용되는 NS 레코드가오직원시 주소가 아닌 호스트 이름을 사용합니다.

그러나 실제로 자신의 도메인에 있는 호스트 이름을 지정할 수 있으므로 IP 주소 필드가 옆에 있습니다.정의하다호스트 이름을 지정하고 동시에 사용하세요. 이것은 실제로 이러한 종류의 '루프'를 허용하는 "접착 레코드"를 언급할 때 지원 메시지에서 언급하는 것입니다.

(자신의 DNS 서버에도 정확히 동일한 호스트 이름 정의를 추가해야 합니다. 등록 기관의 글루 레코드는 복사본으로 간주되고 서버에 있는 레코드는 신뢰할 수 있는 버전으로 간주됩니다.)


예를 들어, nameserver 를 입력하면 ns1.somewebsite.com등록자는 다음 DNS 레코드를 게시합니다.

somewebsite.com. NS ns1.somewebsite.com.

네임서버의 호스트 이름은 호스팅하는 도메인 아래에 있기 때문에 루프를 생성하기 때문에 이는 분명히 작동하지 않습니다. 그래서 당신은또한해당 필드에 서버의 IP 주소를 입력해야 하며, 이를 통해 등록 기관은 두 번째 DNS 레코드("글루" 레코드)를 게시할 수 있습니다.

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

확인자가 도메인의 이름 서버에 쿼리를 시도할 때마다 글루 레코드의 IP 주소가 항상 동일한 응답에 연결되어 루프 문제를 방지합니다.

답변2

내 질문에서 호스트 이름은 일반적으로 임의의 문자 집합이었고 예 ns1ns2들어 <website without the http://www.> 웹 사이트가 자신의 DNS 서버 설정에서 만든 다음 등록자에 "호스트 이름"을 입력 swag.org할 수 있는 경우 그 뒤에 오는 것입니다. (보통) 2개의 DNS 서버가 필요하므로 다른 "호스트 이름"을 만들고 이를 입력합니다. 그런 다음 IP에 DNS 서버를 호스팅하는 PC의 공개 IP 주소를 입력하면 됩니다( Technitium/DNS 설정 항목에도 입력했습니다).ns1.swag.orgns1.swag.orgns2.swag.orgns1.swag.org

아래는 사진으로 이 모든 작업을 수행하는 방법의 예입니다.

자체 DNS 서버를 호스팅하기 위한 확인된 설정:

  1. 간단히 말해서 이 설정을 테크니티엄 설정 패널에 넣으십시오(를 컴퓨터/호스트/웹 사이트를 호스팅하는 장치의 공개 IP 주소로 바꾸 십시오 your ip. A ns1.<yourwebsite>website , "이 호스트 이름/웹 사이트를 찾을 때 이 IP를 보고 호스트 이름/웹 사이트를 찾을 수 있습니다.", (그러면 무한 루프에 빠지게 되므로 여기에서 중지하고 웹 사이트를 찾았습니다. 이 IP.)

Technitium 호스트에 있는 PC의 DNS 설정입니다.

  1. 그런 다음 도메인 등록 기관에서 사용자 정의 DNS 레코드를 생성합니다. 이 작업은 도메인 판매자마다 다르게 수행됩니다. 이것은 namecheap의 예입니다. 간단히 말해서 DNS 서버 호스트 이름을 입력하고 싶습니다( ns1.<yourwebsite adres>기술을 입력한 경우 컴퓨터의 공개 IP 주소와 함께 입력하세요.)

등록 기관에 DNS 서버 입력

  1. 다음을 검색하여 IP에 대한 DNS 서버/글루 레코드가 올바르게 입력되었는지 검사할 수 있습니다. ns1또는 ns2(입력한 경우 ns1.<yourwebsite>:

DNS 서버가 올바르게 입력되었는지 확인하세요.

  1. 웹사이트 설정에서 사용자 정의 DNS를 선택하는 것을 잊지 마십시오. 그렇지 않으면 로컬 DNS 서버에서 모든 것을 올바르게 구성하고 등록자에게 사용자 정의 DNS에서 이 IP를 보고 내 DNS 서버에 대해 알린 다음 결국 등록 기관은 여전히 ​​자체 기본 DNS 서버를 찾습니다(IP를 찾을 수 없는 경우 비용을 지불해야 함).

등록자 설정에서 개인/사용자 지정 DNS 서버를 선택하세요.

노트

  1. 이러한 설정은 아직 허용되지 않습니다 https://www.yourwebsite.something. 이를 위해서는 SSL 인증서가 필요합니다. openssl에서 무료로 인증서를 얻을 수 있으며 Technitium은 실제로 https를 지원합니다. 그러나 나는 아직 그것을 구현하지 않았습니다.
  2. 보다 자세하고 정교한 지침은 다음에서 찾을 수 있습니다.https://github.com/at-0/DnsServer다른 사람이 만든 오픈 소스 DNS 서버 Technitium과 함께 포크하고 지침을 추가했습니다.

관련 정보