한국에서 사용하는 주요 DNS서버에서 도메인이 어느 ip와 연결돼 있는지 확인하는 리눅스용 bash 스크립트다(맨 아래 있다). 도메인 ip를 변경한 뒤 적용됐는지 확인할 때 쓸 용도로 만들었다.
KT, SKT, LGU+, 구글DNS, 1.1.1.1, 오픈DNS 서버의 기본, 보조 DNS 서버에 도메인 ip를 질의한다.
그리 아름다운 스크립트는 아니고 그냥 복붙으로 노가다해 만들었다. 스크립트는 맨 아래 있다.
사용 방법
초보를 위해 사용방법을 설명한다.
아래 코드를 복사해서 test-dns.sh
같은 파일로 만든 뒤 실행 권한을 준다.
실행 권한을 주려면 chmod +x test-dns.sh
라고 명령어를 치면 된다. 탐색기에서 마우스 우클릭 후 속성에서 실행 권한을 줘도 되고.
실행 방법
그리고 실행한다. 리눅스 커맨드라인에서는 실행하려면 앞에 경로를 적어 줘야 한다. 윈도우와 다르다. 같은 폴더라면 ./test-dns.sh domain.com
식으로 쳐서 실행한다. 실행 파일명 뒤에 체크하고 싶은 도메인 주소를 적도록 한다. 아래처럼 말이다.
./test-dns.sh new.mytory.net
실행 결과물
실행하면 DNS 서버 테스트 결과, DNS 조회에 걸린 시간을 알려 준다. 아래처럼 말이다.
=====================
KT primary DNS Server
=====================
Server: 168.126.63.1
Address: 168.126.63.1#53
Non-authoritative answer:
Name: new.mytory.net
Address: 104.24.99.57
Name: new.mytory.net
Address: 104.24.98.57
real 0m0.011s
user 0m0.004s
sys 0m0.000s
내부 동작
시간 기록은 time
명령어로 간단히 잰 거다. 그래서 내부적으로는 아래와 같은 명령어를 사용한다.
time nslookup new.mytory.net 168.126.63.1
이상이다. 아래는 스크립트다.
스크립트
#!/bin/bash
if [ "$1" = "" ]
then
echo "An argument is required."
echo "ex) $0 domain-to-test.com"
exit 1;
fi;
echo "====================="
echo "KT primary DNS Server"
echo "====================="
time nslookup $1 168.126.63.1
echo ""
echo ""
echo ""
echo "====================="
echo "KT sub DNS Server"
echo "====================="
time nslookup $1 168.126.63.2
echo ""
echo ""
echo ""
echo "====================="
echo "SKT primary DNS Server"
echo "====================="
time nslookup $1 210.220.163.82
echo ""
echo ""
echo ""
echo "====================="
echo "SKT sub DNS Server"
echo "====================="
time nslookup $1 219.250.36.130
echo ""
echo ""
echo ""
echo "====================="
echo "LGU+ primary DNS Server"
echo "====================="
time nslookup $1 164.124.107.9
echo ""
echo ""
echo ""
echo "====================="
echo "LGU+ sub DNS Server"
echo "====================="
time nslookup $1 203.248.252.2
echo ""
echo ""
echo ""
echo "====================="
echo "Google primary DNS Server"
echo "====================="
time nslookup $1 8.8.8.8
echo ""
echo ""
echo ""
echo "====================="
echo "Google sub DNS Server"
echo "====================="
time nslookup $1 8.8.4.4
echo ""
echo ""
echo ""
echo "====================="
echo "CloudFlare+APNIC primary DNS Server"
echo "====================="
time nslookup $1 1.1.1.1
echo ""
echo ""
echo ""
echo "====================="
echo "CloudFlare+APNIC sub DNS Server"
echo "====================="
time nslookup $1 1.0.0.1
echo ""
echo ""
echo ""
echo "====================="
echo "OpenDNS primary DNS Server"
echo "====================="
time nslookup $1 208.67.222.222
echo ""
echo ""
echo ""
echo "====================="
echo "OpenDNS sub DNS Server"
echo "====================="
time nslookup $1 208.67.220.220