Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

[코드조각] 주요 DNS 서버의 도메인 ip 연결 확인 스크립트

도메인 ip를 변경한 뒤 각 주요 DNS 서버가 도메인의 ip를 변경했는지 확인해 보는 bash 스크립트다.

한국에서 사용하는 주요 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

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다