도메인 이름에 대한 권한이있는 이름 서버는 어떻게 찾습니까?
충돌하는 DNS 레코드의 출처를 어떻게 찾을 수 있습니까?
주어진 도메인 이름에 대한 SOA (권한 시작) 레코드가 필요하며, 이것이 보편적으로 사용 가능한 nslookup 명령 줄 도구를 사용하여이를 달성하는 방법입니다 .
command line> nslookup
> set querytype=soa
> stackoverflow.com
Server: 217.30.180.230
Address: 217.30.180.230#53
Non-authoritative answer:
stackoverflow.com
origin = ns51.domaincontrol.com # ("primary name server" on Windows)
mail addr = dns.jomax.net # ("responsible mail addr" on Windows)
serial = 2008041300
refresh = 28800
retry = 7200
expire = 604800
minimum = 86400
Authoritative answers can be found from:
stackoverflow.com nameserver = ns52.domaincontrol.com.
stackoverflow.com nameserver = ns51.domaincontrol.com.
기원 (또는 주 이름 서버 라인 Windows에서)이 있음을 알려줍니다 ns51.domaincontrol가 의 주요 이름 서버입니다 stackoverflow.com .
출력이 끝나면 지정된 도메인의 백업 서버를 포함한 모든 권한이있는 서버가 나열됩니다.
귀하의 질문에 단수를 사용했지만 일반적으로 신뢰할 수있는 여러 네임 서버가 있으며 RFC 1034는 적어도 두 가지를 권장합니다.
"정식 이름 서버"가 아니라 "기본 이름 서버"를 의미하지 않는 한. 보조 이름 서버 는 권한이 있습니다.
Unix에서 도메인의 네임 서버를 찾으려면 :
% dig +short NS stackoverflow.com
ns52.domaincontrol.com.
ns51.domaincontrol.com.
주 서버로 나열된 서버를 찾으려면 ( "주"개념은 요즘 꽤 애매하고 일반적으로 좋은 대답이 없습니다) :
% dig +short SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.
네임 서버 간의 불일치를 확인하기 위해 check_soa
Liu & Albitz "DNS & BIND"책 (O'Reilly editor)에 설명 된대로 이전 도구 를 선호 합니다. 소스 코드는 http://examples.oreilly.com/dns5/ 에 있습니다 .
% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300
여기에서 두 정식 이름 서버는 동일한 일련 번호를 갖습니다. 좋은.
* nix에서 :
$ dig -t ns <domain name>
나는이 DNS 전파 도구 질문에 이런 종류의 답변을 설계합니다.
소스는 AGPLv3에 따라 릴리스됩니다.
(예, 인터페이스는 현재 다소 기본적입니다.)
"host"명령을 사용하여 도메인의 네임 서버를 찾을 수도 있습니다.
[davidp @ supernova : ~] $ 호스트 -t ns stackoverflow.com stackoverflow.com 이름 서버 ns51.domaincontrol.com. stackoverflow.com 이름 서버 ns52.domaincontrol.com.
항상 + trace 옵션을 추가하는 가장 좋은 방법은 다음과 같습니다.
dig SOA +trace stackoverflow.com
다른 공급자에서 호스팅되는 재귀 CNAME 과도 작동합니다. + 추적 추적은 + norecurse를 의미하므로 결과는 지정한 도메인에만 해당됩니다.
인터넷 검색 용어는 "정의 적"이 아니라 "권한"입니다.
리눅스 또는 Mac에서 당신은 명령을 사용할 수 있습니다 whois
, dig
, host
, nslookup
또는 여러 다른 사람을. nslookup
Windows에서도 작동 할 수 있습니다.
예를 들면 :
$ whois stackoverflow.com
[...]
Domain servers in listed order:
NS51.DOMAINCONTROL.COM
NS52.DOMAINCONTROL.COM
추가 크레딧에 관해서는 가능합니다.
그의 제안은 일반적으로 호스트 이름의 IP 주소 만 제공하므로 aryeh는 분명히 잘못되었습니다. 를 사용하는 경우 다음 dig
과 같이 NS 레코드를 찾아야합니다.
dig ns stackoverflow.com
이것은 로컬 DNS 서버를 요구할 수 있으며 따라서 캐시에있는 잘못되거나 오래된 답변을 줄 수 있습니다.
한 번의 요청으로 도메인의 신뢰할 수있는 네임 서버 와 일반적인 DNS 레코드 를 제공 하는 DNS 조회 도구 를 구축했습니다 .
예 : https://www.misk.com/tools/#dns/stackoverflow.com
Google의 도구는 루트 네임 서버에서 실시간 (미치의) DNS 조회를 수행 한 후 권위있는 네임 서버에 도달 할 때까지 네임 서버 조회를 수행하여 권위있는 네임 서버를 찾습니다. 이는 dns 확인자가 정식 답변을 얻는 데 사용하는 것과 동일한 논리입니다. 임의의 신뢰할 수있는 네임 서버가 각 쿼리에서 선택되고 식별되어 여러 요청을 수행하여 충돌하는 DNS 레코드를 찾을 수 있습니다.
위 예제에서 dns 조회 결과의 맨 아래에있는 "Authoritative Nameservers"를 클릭하여 네임 서버 위임 경로를 볼 수도 있습니다.
예 : https://www.misk.com/tools/#dns/stackoverflow.com@f.root-servers.net
후이즈 서비스를 사용할 수 있습니다. UNIX와 같은 운영 체제에서는 다음 명령을 실행합니다. 또는 웹 ( http://www.internic.net/whois.html) 에서이를 수행 할 수 있습니다 .
후이즈 stackoverflow.com
다음과 같은 응답이 나타납니다.
... 여기에서 텍스트가 제거되었습니다 ...
나열된 순서의 도메인 서버 : NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM
nslookup 또는 dig를 사용하여 지정된 도메인의 레코드에 대한 자세한 정보를 찾을 수 있습니다. 이것은 설명 된 충돌을 해결하는 데 도움이 될 수 있습니다.
불행히도 이러한 도구의 대부분은 실제 이름 서버 자체에서 제공 한 NS 레코드 만 반환합니다. 실제로 도메인을 담당하는 이름 서버를보다 정확하게 결정하려면 "whois"를 사용하고 여기에 나열된 도메인을 확인하거나 "dig [domain] NS @ [root name server]"를 사용하여 해당 도메인을 실행해야합니다. 이름 서버 목록을 얻을 때까지 재귀 적으로 ...
이름 서버 자체에서 제공되는 결과뿐만 아니라 신뢰할 수 있고 일관된 형식으로 결과를 얻기 위해 실행할 수있는 간단한 명령 행이 있었으면합니다. 나를 위해 이것의 목적은 내가 관리하는 약 330 개의 도메인 이름을 쿼리 할 수 있도록하여 각 도메인이 어떤 이름 서버를 가리키는 지 (등록자 설정에 따라) 정확히 확인할 수 있습니다.
"dig"또는 "host"또는 * nix에서 다른 것을 사용하는 명령을 아는 사람이 있습니까?
SOA 레코드는 모든 서버에 계층 구조를 넘어서서 도메인 소유자가 제어 할 수 없으며 도메인 소유자가 제어하는 하나의 권한있는 이름 서버를 가리 킵니다.
반면 권한 서버 자체의 SOA 레코드는 해당 도메인을 해결하는 데 반드시 필요하지는 않으며 가짜 정보 (또는 숨겨진 기본 서버 또는 다른 제한된 서버)를 포함 할 수 있으며 권한 이름 서버를 결정하기 위해 의존해서는 안됩니다. 주어진 도메인에 대해
주어진 하위 도메인에 대한 안정적인 SOA 정보를 얻으려면 최상위 도메인 에 대해 권한이있는 서버를 쿼리해야 합니다.
(루트 이름 서버에서 TLD를 조회 할 수있는 권한이있는 서버에 대한 정보)
TLD 신뢰할 수있는 서버에서 SOA에 대한 신뢰할 수있는 정보가있는 경우 다른 NS 레코드에 대해 기본 이름 서버 자체 (gTLD 이름 서버의 SOA 레코드에있는 것)를 쿼리 한 후 모두 확인을 진행할 수 있습니다. NS 레코드를 쿼리하여 얻은 해당 네임 서버는 해당 서버에 다른 특정 레코드와 일치하지 않는지 확인합니다.
이 모든 것이 nslookup / windows보다 Linux 및 dig에서 훨씬 우수하고 안정적으로 작동합니다.
쉬운 방법은 온라인 도메인 도구를 사용하는 것입니다. 내가 가장 좋아하는 것은 Domain Tools (이전의 whois.sc)입니다. 그래도 충돌하는 DNS 레코드를 해결할 수 있는지 확실하지 않습니다. 예를 들어 stackoverflow.com의 DNS 서버는
NS51.DOMAINCONTROL.COM
NS52.DOMAINCONTROL.COM
'Programing' 카테고리의 다른 글
Magento에서 간단한 'Hello World'모듈을 어떻게 만듭니 까? (0) | 2020.03.14 |
---|---|
스칼라에서 전체 파일을 읽습니까? (0) | 2020.03.14 |
텍스트에 대한 개요 효과 (0) | 2020.03.14 |
Subversion에서 커밋되지 않은 변경 사항을 일시적으로 제거하십시오 (일명“git-stash”). (0) | 2020.03.14 |
github에서 Maven 저장소 호스팅 (0) | 2020.03.14 |