사용자 지정 DNS 서버를 구성하고 Azure Firewall에 DNS 프록시를 사용하도록 설정할 수 있습니다. 이러한 설정은 DNS 설정 페이지에서 방화벽을 배포할 때 또는 나중에 구성합니다. 기본적으로 Azure Firewall은 Azure DNS를 사용하며 DNS 프록시는 사용하지 않도록 설정됩니다.
DNS 서버
DNS 서버는 도메인 이름을 IP 주소로 유지 관리하고 확인합니다. 기본 설정으로 Azure Firewall에서 이름 확인에 Azure DNS를 사용합니다. DNS 서버 설정을 사용하여 Azure Firewall 이름 확인을 위해 자체 DNS 서버를 구성할 수 있습니다. 단일 서버 또는 여러 서버를 구성할 수 있습니다. 여러 DNS 서버를 구성하는 경우 사용되는 서버가 임의로 선택됩니다. 사용자 지정 DNS에서 최대 15개 DNS 서버를 구성할 수 있습니다.
참고 항목
Azure Firewall Manager를 사용하여 관리되는 Azure Firewall 인스턴스의 경우 연결된 Azure Firewall 정책에서 DNS 설정이 구성됩니다.
사용자 지정 DNS 서버 구성
- Azure Firewall 설정에서 DNS 설정을 선택합니다.
- DNS 서버에서 이전에 가상 네트워크에 지정된 기존 DNS 서버를 입력하거나 추가할 수 있습니다.
- 적용을 선택합니다.
이제 방화벽에서 이름 확인을 위해 DNS 트래픽을 지정된 DNS 서버로 보냅니다.
DNS 프록시
DNS 프록시 역할을 하도록 Azure Firewall을 구성할 수 있습니다. DNS 프록시는 클라이언트 가상 머신에서 DNS 서버로의 DNS 요청에 대한 중개자입니다.
네트워크 규칙에서 FQDN(정규화된 도메인 이름) 필터링을 사용하도록 설정하려면 DNS 프록시를 사용하도록 설정하고 방화벽을 DNS 프록시로 사용하도록 가상 머신 구성을 업데이트합니다.
네트워크 규칙에서 FQDN 필터링을 사용하도록 설정하지만 Azure Firewall을 DNS 프록시로 사용하도록 클라이언트 가상 머신을 구성하지 않으면 이러한 클라이언트의 DNS 요청이 다른 시간에 확인되거나 Azure Firewall에서 볼 수 있는 것과 다른 결과를 반환할 수 있습니다. 일관된 DNS 확인 및 FQDN 필터링을 보장하려면 Azure Firewall을 DNS 프록시로 사용하도록 클라이언트 가상 머신을 구성합니다. 이 설정은 모든 DNS 요청이 방화벽을 통과하여 불일치를 방지하도록 합니다.
Azure Firewall이 DNS 프록시인 경우 두 가지 캐싱 함수 형식이 가능합니다.
긍정 캐시: DNS 확인에 성공했습니다. 방화벽은 최대 1시간까지 응답의 TTL(Time to live)에 따라 이러한 응답을 캐시합니다.
부정 캐시: DNS 확인 시 응답이 없거나 확인되지 않습니다. 방화벽은 최대 30분까지 응답의 TTL에 따라 이러한 응답을 캐시합니다.
DNS 프록시는 네트워크 규칙의 FQDN에서 모든 확인된 IP 주소를 저장합니다. IP 주소 하나를 확인하는 FQDN을 사용하는 것이 가장 좋습니다.
정책 상속
독립 실행형 방화벽에 적용된 정책 DNS 설정은 독립 실행형 방화벽 DNS 설정을 재정의합니다. 자식 정책은 모든 부모 정책 DNS 설정을 상속하지만 부모 정책을 재정의할 수 있습니다.
예를 들어 네트워크 규칙에서 FQDN을 사용하려면 DNS 프록시를 사용하도록 설정해야 합니다. 그러나 부모 정책에 DNS 프록시를 사용하도록 설정 하지 않은 경우 이 설정을 로컬로 재정의하지 않는 한 자식 정책은 네트워크 규칙에서 FQDN을 지원하지 않습니다.
DNS 프록시 구성
DNS 프록시 구성에는 다음 세 단계가 필요합니다.
- Azure Firewall DNS 설정에서 DNS 프록시를 사용합니다.
- 필요에 따라 사용자 지정 DNS 서버를 구성하거나 제공된 기본값을 사용합니다.
- 가상 네트워크 DNS 서버 설정에서 Azure Firewall 개인 IP 주소를 사용자 지정 DNS 주소로 구성하여 DNS 트래픽을 Azure Firewall로 전달합니다.
참고 항목
사용자 지정 DNS 서버를 사용하는 경우 Azure Firewall 서브넷에 속하지 않는 가상 네트워크에서 IP 주소를 선택합니다.
DNS 프록시를 구성하려면 방화벽 개인 IP 주소를 사용하도록 가상 네트워크 DNS 서버 설정을 구성해야 합니다. 그런 다음 Azure Firewall DNS 설정에서 DNS 프록시를 사용합니다.
가상 네트워크 DNS 서버 구성
- Azure Firewall 인스턴스를 통해 DNS 트래픽이 라우팅되는 가상 네트워크를 선택합니다.
- 설정 아래에서 DNS 서버를 선택합니다.
- DNS 서버 아래에서 사용자 지정을 선택합니다.
- 방화벽의 개인 IP 주소를 입력합니다.
- 저장을 선택합니다.
- 가상 네트워크에 연결된 VM을 다시 시작하여 새 DNS 서버 설정을 할당합니다. VM이 다시 시작될 때까지 현재 DNS 설정을 계속 사용합니다.
DNS 프록시 사용
- Azure Firewall 인스턴스를 선택합니다.
- 설정 아래에서 DNS 설정을 선택합니다.
- 기본적으로 DNS 프록시는 사용하지 않는 것으로 설정됩니다. 사용하도록 설정되면 방화벽은 포트 53에서 수신하고 DNS 요청을 구성된 DNS 서버로 전달합니다.
- DNS 서버 구성을 검토하여 해당 설정이 사용자 환경에 적합한지 확인합니다.
- 저장을 선택합니다.
고가용성 장애 조치(failover)
DNS 프록시에는 검색된 비정상 서버 사용을 중지하고 사용 가능한 다른 DNS 서버를 사용하는 장애 조치(failover) 메커니즘이 있습니다.
모든 DNS 서버를 사용할 수 없는 경우 다른 DNS 서버로 대체되지 않습니다.
상태 검사
DNS 프록시는 업스트림 서버가 비정상으로 보고하는 한 5초 상태 검사 루프를 수행합니다. 상태 검사는 루트 이름 서버에 대한 재귀 DNS 쿼리입니다. 업스트림 서버가 정상으로 간주되면 방화벽은 다음 오류까지 상태 검사를 중지합니다. 정상 프록시가 오류를 반환하면 방화벽이 목록에서 다른 DNS 서버를 선택합니다.
Azure 프라이빗 DNS 영역이 있는 Azure Firewall
Azure Firewall은 Azure 프라이빗 DNS 영역과의 통합을 지원하여 프라이빗 도메인 이름을 확인할 수 있도록 합니다. 프라이빗 DNS 영역을 Azure Firewall이 배포된 가상 네트워크와 연결하면 방화벽이 해당 영역에 정의된 이름을 확인할 수 있습니다.
중요합니다
Microsoft 소유의 기본 도메인을 재정의하는 프라이빗 DNS 영역에서 DNS 레코드를 만들지 않습니다. 이러한 도메인을 재정의하면 Azure Firewall이 중요한 엔드포인트를 확인할 수 없으므로 관리 트래픽이 중단되고 로깅, 모니터링 및 업데이트와 같은 기능이 실패할 수 있습니다.
다음은 Azure Firewall 관리 트래픽이 액세스를 요구할 수 있어 재정의해서는 안 되는 Microsoft 소유 도메인의 완전하진 않은 목록입니다.
azclient.ms
azure.com
cloudapp.net
core.windows.net
login.microsoftonline.com
microsoft.com
msidentity.com
trafficmanager.net
vault.azure.net
windows.net
management.azure.com
table.core.windows.net
store.core.windows.net
azure-api.net
microsoftmetrics.com
time.windows.com
servicebus.windows.net
blob.storage.azure.net
blob.core.windows.net
arm-msedge.net
cloudapp.azure.com
monitoring.core.windows.net
예를 들어 Azure Firewall 관리 트래픽은 도메인 blob.core.windows.net
을 사용하여 스토리지 계정에 액세스해야 합니다. 프라이빗 DNS 영역을 *.blob.core.windows.net
만들어 방화벽의 가상 네트워크와 연결하는 경우 기본 DNS 확인을 재정의하고 필수 방화벽 작업을 중단합니다. 이 문제를 방지하려면 기본 도메인을 재정의하지 마세요. 대신 다음과 같은 *.<unique-domain-name>.blob.core.windows.net
고유한 하위 도메인에 대한 프라이빗 DNS 영역을 만듭니다.
또는 프라이빗 DNS 영역이 Azure Firewall에 영향을 주지 않도록 하려면 별도의 가상 네트워크에 프라이빗 DNS 영역이 필요한 서비스를 배포합니다. 이러한 방식으로 프라이빗 DNS 영역은 서비스 가상 네트워크와만 연결되며 Azure Firewall에 대한 DNS 확인에는 영향을 주지 않습니다.