Azure Firewall DNS 설정
사용자 지정 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 필터링을 사용하도록 설정하고 방화벽을 DNS 프록시로 사용하도록 클라이언트 가상 머신을 구성하지 않으면 이러한 클라이언트의 DNS 요청이 다른 시간에 DNS 서버로 이동하거나 방화벽의 응답과는 다른 응답을 반환할 수 있습니다. Azure Firewall을 DNS 프록시로 사용하도록 클라이언트 가상 머신을 구성하는 것이 좋습니다. 불일치를 방지하기 위해 Azure Firewall을 클라이언트 요청 경로에 배치합니다.
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 영역을 사용하는 경우 스토리지 계정의 기본 도메인 이름 및 Microsoft에서 만든 다른 엔드포인트를 재정의하는 도메인 매핑을 만들지 않도록 합니다. 기본 도메인 이름을 재정의하면 Azure Storage 계정 및 기타 엔드포인트에 대한 Azure Firewall 관리 트래픽 액세스가 중단됩니다. 이렇게 하면 방화벽 업데이트, 로깅 및/또는 모니터링이 중단됩니다.
예를 들어 방화벽 관리 트래픽은 도메인 이름이 blob.core.windows.net 스토리지 계정에 액세스해야 하며 방화벽은 FQDN에서 IP 주소 확인에 대한 Azure DNS를 사용합니다.
도메인 이름을 *.blob.core.windows.net
사용하여 프라이빗 DNS 영역을 만들고 Azure Firewall 가상 네트워크와 연결하지 마세요. 기본 도메인 이름을 재정의하는 경우 모든 DNS 쿼리가 프라이빗 DNS 영역으로 전달되고 방화벽 작업이 중단됩니다. 대신 프라이빗 DNS 영역과 같은 *.<unique-domain-name>.blob.core.windows.net
고유한 도메인 이름을 만듭니다.
또는 스토리지 계정에 대한 프라이빗 링크를 사용하도록 설정하고 프라이빗 DNS 영역과 통합할 수 있습니다. Azure Firewall을 사용하여 프라이빗 엔드포인트 트래픽 검사를 참조하세요.