PC나 서버 네트워크를 고정 IP로 잡을 때마다 DNS 주소를 찾느라 검색하게 됩니다. 매번 찾기 번거로워서 자주 쓰는 주소를 한곳에 모아 둡니다.

구분 기본 설정 DNS 서버 보조 DNS 서버
KT 168.126.63.1 168.126.63.2
LG U+ 164.124.101.2 203.248.252.2
SK 219.250.36.130 210.220.163.82
Google 8.8.8.8 8.8.4.4
OpenDNS 208.67.222.222 208.67.220.220

어느 걸 넣어야 하나

보통은 회선을 제공하는 통신사의 DNS를 쓰는 게 응답이 빠릅니다. 사무실 회선이 KT라면 KT 주소를 넣는 식이죠. 다만 통신사 DNS에 장애가 나면 인터넷은 연결돼 있는데 사이트가 하나도 안 열리는 상황이 생깁니다. 그래서 저는 기본은 통신사 DNS, 보조는 구글(8.8.8.8)처럼 서로 다른 회사 것을 섞어 두는 편입니다. 한쪽이 죽어도 다른 쪽으로 이름 풀이가 되니까요. 다른 통신사의 DNS를 넣어도 동작은 하지만, 굳이 그렇게 할 이유는 별로 없습니다.

광고

윈도우에서 명령어로 DNS 바꾸기

네트워크 설정 창을 여러 번 들어가는 게 귀찮다면 관리자 권한 명령 프롬프트에서 netsh로 바꿀 수 있습니다. name에는 ipconfig에 나오는 어댑터 이름(예: 이더넷, Wi-Fi)을 넣습니다.

netsh interface ip set dns name="이더넷" static 168.126.63.1
netsh interface ip add dns name="이더넷" 8.8.8.8 index=2

다시 자동(DHCP)으로 돌리려면 이렇게 합니다.

netsh interface ip set dns name="이더넷" dhcp

바꾼 다음 확인하는 방법

DNS를 바꿨는데도 예전 결과가 나오면 윈도우가 기억해 둔 캐시 때문일 수 있습니다. ipconfig /flushdns로 캐시를 비우고, nslookup으로 특정 DNS 서버에 직접 물어보면 그 서버가 정상적으로 답하는지 바로 알 수 있습니다.

ipconfig /flushdns
nslookup naver.com 8.8.8.8

ipconfig /all을 실행하면 지금 어댑터에 실제로 어떤 DNS 서버가 잡혀 있는지도 확인됩니다. 도메인을 새로 연결했거나 서버 IP를 옮긴 직후에 "내 PC에선 안 열리는데 휴대폰에선 열린다" 같은 일이 생기면, 이 세 명령어로 대부분 원인이 갈립니다.

PowerShell로 바꾸는 방법

Windows 8 이후라면 netsh 대신 PowerShell 명령으로도 같은 일을 할 수 있습니다. 기본과 보조 DNS를 한 줄에 같이 넣을 수 있고, 지금 설정을 확인하는 명령도 따로 있어서 여러 대를 같은 값으로 맞출 때 편합니다. 역시 관리자 권한으로 실행해야 합니다.

Get-DnsClientServerAddress -AddressFamily IPv4
Set-DnsClientServerAddress -InterfaceAlias "이더넷" -ServerAddresses ("168.126.63.1","8.8.8.8")
Set-DnsClientServerAddress -InterfaceAlias "이더넷" -ResetServerAddresses

첫 줄은 어댑터별로 잡혀 있는 DNS를 보여 주고, 두 번째 줄이 기본·보조를 지정합니다. 마지막 줄은 수동 지정을 지우고 자동(DHCP)으로 돌려놓습니다. InterfaceAlias 에 들어갈 이름은 첫 줄 결과에 나오는 이름을 그대로 쓰면 됩니다.

한 가지 주의할 점은 배치 파일입니다. netsh 명령을 .bat 파일로 저장해 두고 쓸 때, 파일을 UTF-8로 저장하면 "이더넷" 같은 한글 어댑터 이름이 깨져서 "지정한 이름의 인터페이스가 없다"는 오류가 납니다. 배치 파일은 ANSI로 저장하거나, 어댑터 이름을 영문으로 바꿔 두면 이런 문제를 피할 수 있습니다.

표에 없는 주소와 IPv6

표 외에 많이 쓰는 곳으로 Cloudflare(1.1.1.1, 1.0.0.1)가 있습니다. IPv6 환경이라면 구글은 2001:4860:4860::8888 과 2001:4860:4860::8844 를 씁니다. IPv4 DNS만 바꾸고 IPv6 쪽은 자동으로 둔 상태라면, 윈도우가 IPv6 DNS로 먼저 물어봐서 바꾼 설정이 적용되지 않은 것처럼 보이기도 하니 ipconfig /all 결과에서 두 쪽을 함께 확인해 보세요.

nslookup 결과에 "권한 없는 응답"이라고 나오는 건 오류가 아닙니다. 그 도메인을 직접 관리하는 서버가 아니라 중간 DNS가 대신 답했다는 뜻이라, 아래에 IP 주소가 나왔다면 정상입니다. 사무실 전체를 한 번에 바꾸고 싶다면 PC마다 손대기보다 공유기의 DHCP 설정에서 DNS를 지정하는 쪽이 관리하기 수월합니다.