소개
이 문서에서는 FDQN(Fully Qualified Domain Name) 개체를 사용할 때 Cisco ASA(Adaptive Security Appliance)에서 DNS(Domain Name System) 작업을 설명합니다.ASA에 여러 FQDN 객체가 구성된 경우 FQDN 객체에 정의된 URL에 액세스하려는 최종 사용자는 ASA에서 여러 DNS 쿼리를 전송하는 것을 관찰할 수 있습니다.이 문서는 이러한 행동이 관찰되는 이유를 더 잘 이해할 수 있도록 하기 위해 작성되었습니다.
사전 요구 사항
요구 사항
Cisco에서는 Cisco ASA에 대한 지식을 보유하고 있는 것이 좋습니다.
사용되는 구성 요소
시뮬레이션된 프로덕션 환경에서 ASA에 여러 FQDN이 구성된 경우 DNS의 작동을 파악하기 위해 인터넷을 향하는 인터페이스가 하나이고 ESXi 서버에서 호스팅되는 PC 디바이스에 연결된 인터페이스가 하나뿐인 ASAv가 설정되었습니다.이 시뮬레이션에 ASAv 임시 코드 9.8.4(10)이 사용되었습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
네트워크 다이어그램
토폴로지 설정이 여기에 표시됩니다.

구성
클라이언트 PC는 DNS 확인을 위해 이러한 IP, 서브넷 마스크 및 이름 서버로 구성되었습니다

ASA에서 두 개의 인터페이스가 구성되었으며, 보안 레벨이 100이고 PC가 연결된 내부 인터페이스 1개와 인터넷에 연결된 외부 인터페이스 1개가 구성되었습니다.

여기서 Gig0/1 인터페이스는 인터페이스 IP가 10.197.223.9인 외부 인터페이스이고 Gig0/3 인터페이스는 인터페이스 IP가 10.10.10.1이고 반대쪽 끝에 있는 PC에 연결된 내부 인터페이스입니다.

다음과 같이 ASA에서 DNS 설정을 구성합니다.

www.facebook.com, www.google.com, www.instagram.com 및 www.twitter.com에 대해 4개의 FQDN 개체를 구성합니다.

DNS 트래픽을 캡처하기 위해 ASA 외부 인터페이스에 캡처를 설정합니다.그런 다음 클라이언트 PC에서 브라우저에서 www.google.com에 액세스하려고 합니다.
무엇을 관찰합니까?패킷 캡처를 살펴봅니다.

여기서는 www.google.com만 확인하려고 시도했지만 모든 FQDN 개체에 대해 DNS 쿼리가 전송되고 있음을 확인할 수 있습니다.
이제 ASA에서 IP에 대해 DNS 캐싱이 작동하는 방식에 대해 살펴보고 이러한 현상이 발생하는 이유를 알아보겠습니다.
- 클라이언트 PCs 웹 브라우저에 www.google.com을 입력하면 PC가 IP 주소로 URL을 확인하기 위해 DNS 쿼리를 전송합니다.
- 그런 다음 DNS 서버가 PC 요청을 확인하고 google.com이 지정된 위치에 있음을 나타내는 IP를 반환합니다.
- 그런 다음 PC는 google.com의 확인된 IP 주소에 대한 TCP 연결을 시작합니다.그러나 패킷이 ASA에 도달하면 지정된 IP가 허용되거나 거부됨을 나타내는 ACL 규칙이 없습니다.
- 그러나 ASA는 4개의 FQDN 객체가 있으며 FQDN 객체 중 하나라도 관련 IP로 해결할 수 있음을 알고 있습니다.
- 따라서 ASA는 어떤 FQDN 개체가 관련 IP로 확인될 수 있는지 모르기 때문에 모든 FQDN 개체에 대한 DNS 쿼리를 전송합니다. (따라서 여러 DNS 쿼리가 관찰되고 있습니다.)
- DNS 서버는 FQDN 객체를 해당 IP 주소로 확인합니다.FQDN 개체는 클라이언트에서 확인한 것과 동일한 공용 IP 주소로 확인되어야 합니다.그렇지 않으면 ASA는 클라이언트가 도달하려고 시도하는 것과 다른 IP 주소에 대한 동적 액세스 목록 항목을 생성하므로 ASA는 패킷을 삭제합니다.예를 들어 사용자가 google.com을 203.0.113.1으로 확인했고 ASA가 이를 203.0.113.2으로 확인하면 ASA는 203.0.113.2에 대한 새 동적 액세스 목록 항목을 생성하며 사용자가 웹 사이트에 액세스할 수 없습니다.
- 다음 번에 요청이 도착하면 특정 IP의 해결을 요청하며, 특정 IP가 ASA에 저장되어 있으면 동적 ACL 항목이 존재하므로 모든 FQDN 객체를 다시 쿼리하지 않습니다.
- 클라이언트가 ASA에서 전송하는 많은 수의 DNS 쿼리에 대해 염려할 경우, 최종 호스트가 DNS 캐시에 있는 대상 IP 주소에 액세스하려고 할 경우 DNS 타이머 만료를 늘립니다.ASA DNS 캐시에 저장되지 않은 IP에 대한 PC 요청이 있는 경우 모든 FQDN 객체를 확인하기 위해 DNS 쿼리가 전송됩니다.
- 이 문제를 해결할 수 있는 방법은 DNS 쿼리의 수를 줄이려는 경우 FQDN 개체의 수를 줄이거나 FQDN을 확인할 공용 IP의 전체 범위를 정의하면 됩니다. 그러나 이 경우 FQDN 개체를 처음 사용할 수 없습니다.Cisco FTD(Firepower Threat Defense)는 이 활용 사례를 처리하기 위한 더 나은 솔루션입니다.
다음을 확인합니다.
각 FQDN 객체가 명령 ASA# sh dns로 확인되는 ASAs DNS 캐시에 어떤 IP가 있는지 확인하기 위해.
