DNS
Mac에서 DNS 쿼리가 VPN 밖으로 나감
VPN이 켜져 있을 때는 보통 DNS 쿼리를 VPN 서버로 보내는 것이 좋습니다. 일부 설정은 대신 로컬 네트워크 서버로 보냅니다.
증상
- VPN이 연결되어 있지만 DNS 테스트에는 현지 통신사의 서버가 표시됩니다.
- VPN이 켜져 있는 동안 사이트에서 로컬 네트워크의 DNS 서버를 확인할 수 있습니다.
- 내부 이름은 작동하지만 다른 이름은 로컬 네트워크의 DNS를 사용합니다.
가능한 원인
- Wi-Fi 또는 이더넷의 수동 DNS 서버. 네트워크 서비스에 직접 입력한 서버는 VPN 서버와 함께 계속 사용될 수 있습니다.
- 분할 터널 VPN. 일부 VPN은 특정 도메인이나 네트워크만 터널을 통해 보냅니다. 다른 쿼리는 로컬 서버를 사용합니다.
- 암호화된 DNS 프로파일 또는 DNS 앱. DNS 설정 프로파일이나 다른 DNS 앱이 자체 서버로 쿼리를 보낼 수 있습니다.
- VPN 앱의 설정. 많은 VPN 앱에는 자체 DNS 옵션이 있습니다. 이 옵션이 macOS에 제공되는 서버를 결정합니다.
확인 방법
VPN을 연결합니다. DNS 구성을 표시합니다. 리졸버 #1은 대부분의 이름에 대한 기본값입니다.
scutil --dns출력 각 리졸버의
nameserver주소와if_index인터페이스, 일부 리졸버의 경우domain도 표시됩니다.resolver #1의 인터페이스를 찾으세요. VPN 인터페이스에는 흔히
utun같은 이름이 붙습니다.ifconfig -l물리적 서비스에서 수동으로 설정한 DNS 서버를 찾으세요.
networksetup -getdnsservers Wi-Fi프로파일을 찾으세요. macOS 15 이상에서는 Apple 메뉴 > 시스템 설정 > 일반 > 기기 관리를 선택하세요.
macOS 13 및 14에서는 Apple 메뉴 > 시스템 설정 > 개인정보 보호 및 보안 > 프로파일을 선택하세요.
해결 방법
Wi-Fi 또는 이더넷에서 수동으로 설정한 DNS 서버가 필요하지 않으면 제거하세요.
networksetup -setdnsservers Wi-Fi empty관리자 암호가 필요합니다.
VPN 앱의 설정을 여세요. VPN의 DNS를 사용하는 옵션이 있으면 켭니다.
필요하지 않은 DNS 프로파일을 제거하세요. 기기 관리 또는 프로파일에서 선택한 다음 제거 버튼을 클릭하세요.
VPN 연결을 끊었다가 다시 연결합니다.
scutil --dns를 다시 실행하고 비교합니다.터널이 사용해야 하는 DNS 서버를 VPN 제공업체나 관리자에게 문의하세요.
Kilobat 사용
Kilobat은 물리적 인터페이스 옆에 VPN 인터페이스를 나열합니다.
kilobat interfaces --json비공개 이름의 경우
why은 어떤 VPN 리졸버로 전달되었는지와 응답 여부를 표시합니다. 직접 경로와 터널도 비교합니다.kilobat why intranet.corp.example
질문
VPN이 항상 모든 DNS를 처리하나요?
아니요. VPN이 결정합니다. 분할 터널 VPN은 일부 도메인만 자체 DNS 서버로 보낼 수 있습니다.
리졸버가 여러 개 표시되는 이유는 무엇인가요?
macOS는 여러 리졸버를 사용할 수 있습니다. domain 줄이 있는 리졸버는 해당 도메인에 대해서만 응답합니다. 자세한 내용은 scutil 매뉴얼 페이지를 참조하세요.
출처
- scutil(8), macOS 27.2와 함께 설치된 매뉴얼 페이지
- resolver(5), macOS 27.2와 함께 설치된 매뉴얼 페이지
- Apple 지원: Mac에서 DNS 설정 변경하기
- Apple 지원: Mac에서 사용하는 네트워크 서비스 순서 변경하기
- Apple 지원: 구성 프로필을 사용하여 Mac 컴퓨터의 설정 표준화하기
2026년 10월 29일 확인했습니다.