Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DNS ALG

DNS(Domain Name System) ALG(애플리케이션 레이어 게이트웨이) 서비스는 도메인 이름 찾기 및 IP 주소로 변환하는 것과 관련된 데이터를 처리합니다. ALG는 일반적으로 포트 53에서 실행됩니다. ALG는 DNS 쿼리 및 응답 패킷을 모니터링하고 UDP 트래픽만 지원합니다.

기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인할 수 있습니다.

플랫폼별 DNS ALG 동작 섹션에서 플랫폼과 관련된 참고 사항을 검토하십시오.

DNS ALG 개요

DNS ALG(애플리케이션 레이어 게이트웨이) 서비스는 DNS 클라이언트와 함께 사용할 애플리케이션 수준 게이트웨이를 제공합니다. DNS ALG 서비스를 사용하면 클라이언트가 서로 다른 네트워크에 있는 여러 DNS 서버에 액세스할 수 있으며 해당 서버와의 라우팅을 제공할 수 있습니다. 또한 DNS 쿼리 및 응답 패킷의 유연한 주소 변환을 지원합니다. 이러한 기능을 사용하면 DNS 클라이언트가 네트워크의 클라이언트 쪽에 있는 단일 DNS 서버 인스턴스에서 다양한 도메인을 쿼리할 수 있습니다.

DNS 서버는 UDP 포트 53을 통해 DNS 확인자로부터 들어오는 쿼리를 수신합니다. 확인자는 DNS 쿼리를 보내고 DNS 응답을 처리하여 DNS 서버와 통신합니다.

메모:

DNS ALG의 기본 포트는 포트 53입니다.

DNS ALG는 다음과 같은 기능을 수행합니다.

  • DNS 쿼리 및 회신 패킷을 모니터링하고 DNS 회신이 수신되면 세션을 닫습니다.

  • DNS 수리 수행

  • IPv4 및 IPv6 주소 변환 수행

DNS(Domain Name System)는 원래 정적으로 구성된 데이터베이스의 쿼리를 지원하도록 설계되었으며 데이터가 변경될 것으로 예상되었습니다.

이제 DNS 표준 외에 동적 DNS(DDNS) 지원도 사용할 수 있습니다. DNS와 DDNS의 주요 차이점은 헤더 섹션과 업데이트 메시지의 메시지 형식에 있습니다.

DDNS 메시지는 DNS 메시지와 비교할 때 다르게 처리됩니다. DDNS에 대해 메시지 구문 분석이 다시 작성됩니다. DDNS는 메시지의 쿼리 부분에서 NAT 및 NAT-PT를 수행하고 DNS는 메시지의 응답 부분에서 NAT 및 NAT-PT를 수행합니다.

예: DNS ALG 구성

이 예시는 주니퍼 네트웍스 디바이스의 정적 네트워크 주소 변환(NAT) 풀을 통해 DNS 트래픽을 통과하도록 DNS ALG를 구성하는 방법을 보여줍니다.

요구 사항

시작하기 전에:

  • 모든 IP 주소에 대해 정적 네트워크 주소 변환(NAT) 풀을 구성합니다.

  • DNS용 ALG의 개념을 이해합니다. DNS ALG 개요를 참조하십시오.

개요

이 예시에서 DNS용 ALG는 주니퍼 네트웍스 디바이스의 반대편에 위치한 클라이언트와 서버 간에 DNS 트래픽을 모니터링하고 교환할 수 있도록 구성됩니다.

이 예는 정적 네트워크 주소 변환(NAT) 풀 및 규칙 세트를 구성하고 DNS ALG를 정책에 연결하는 방법을 보여줍니다.

위상수학

그림 1 은 DNS ALG 토폴로지를 보여줍니다.

그림 1: DNS ALG 토폴로지 DNS ALG Topology

구성

네트워크 주소 변환(NAT) 정적 풀 및 규칙 집합 구성

CLI 빠른 구성

이 예의 섹션을 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성과 일치시키는 데 필요한 세부 사항을 변경하고 계층 수준에서 명령을 복사하여 CLI [edit] 로 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .

단계별 절차

다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.

정적 NAT 풀을 구성하려면 다음을 수행합니다.

  1. NAT 정적 규칙 집합을 만듭니다.

  2. 정책을 사용하여 DNS 애플리케이션을 연결합니다.

결과

구성 모드에서 명령을 입력하여 show security nat 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.

디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .

DNS 추적 구성 및 인쇄

목적

DNS 추적 파일을 인쇄합니다.

행동

구성 모드에서 다음 명령을 입력합니다.

확인

구성이 제대로 작동하는지 확인하려면 다음의 작업을 수행하십시오:

DNS ALG 확인

목적

DNS ALG가 활성화되어 있는지 확인합니다.

행동

운영 모드에서 명령을 입력합니다 show security alg status .

의미

출력은 DNS ALG가 활성화되었음을 보여줍니다.

DNS ALG 보안 플로우 세션 확인

목적

ALG 보안 플로우 세션이 활성화되었는지 확인합니다.

행동

운영 모드에서 명령을 입력합니다 show security flow session application dns extensive .

의미

출력은 DNS ALG를 사용하는 활성 플로우가 있음을 보여줍니다.

DNS 및 DDNS 수리 이해

Junos OS는 ALG에 대한 DNS(Domain Name System)를 지원합니다. DNS ALG는 DNS 쿼리 및 응답 패킷을 모니터링하고 DNS 플래그가 패킷이 응답 메시지임을 나타내는 경우 세션을 닫습니다. DNS ALG를 구성하려면 계층 수준에서 문을 [edit security alg] 사용합니다edit security alg dns.

DNS는 라우팅 클래스 내에서 이름-주소 매핑을 제공하는 반면, 네트워크 주소 변환(NAT)은 동일한 라우팅 클래스의 서로 다른 주소 영역에 있는 호스트 간에 투명한 라우팅을 제공하려고 시도합니다. 결과적으로 NAT는 DNS doctoring이라는 프로세스를 통해 DNG ALG가 처리해야 하는 일부 DNS 문제를 일으킬 수 있습니다.

DDNS(동적 도메인 이름 시스템)에도 동일한 수정 기능이 적용됩니다. NAT 모드의 DDNS의 경우 DDNS 업데이트에서 IP 변환을 수행할 수도 있습니다.

NAT로 인해 발생하는 문제를 해결하기 위해 DNS 및 DDNS ALG 기능이 정적 NAT를 지원하도록 확장되어 DNS 수리를 통해 문제를 해결할 수 있습니다.

복원 및 수리 프로세스는 두 부분으로 수행됩니다.

  • Packet sanity check

    DNS 패킷의 경우 DNS ALG 확인 필드는 질문, 답변, 권한 및 추가 정보입니다. DNS ALG는 질문 수가 1개 이상이거나, 도메인 이름이 255바이트 이상이거나, 레이블 길이가 63바이트를 초과하는 경우 패킷을 삭제합니다.

    DDNS 패킷의 경우 DNS ALG 확인 필드는 영역, 전제 조건, 업데이트 및 추가 데이터입니다. DNS ALG는 영역 수가 1보다 크거나, 도메인 이름이 255바이트를 초과하거나, 레이블 길이가 63바이트를 초과하는 경우 패킷을 삭제합니다.

    DNS와 DDNS 모두에 대해 DNS ALG는 표준을 준수하지 않는 패킷을 삭제합니다.

  • NAT

그림 2 는 DNS가 개인 주소를 공용 주소로 변환하는 방법을 보여 줍니다.

그림 2: DNS 주소 변환(프라이빗에서 퍼블릭으로) DNS Address Translation (Private to Public)

external.com 의 호스트 X가 DNS를 통해 호스트 A의 주소를 확인하려고 할 때 DNS ALG가 NAT를 지원하지 않는 경우 호스트 X에 유효하지 않은 172.19.1.10과 같은 개인 주소를 사용합니다. 프라이빗 주소는 DNS ALG를 통해 퍼블릭 주소 10,131.108.10으로 변환됩니다.

그림 3 은 DNS가 공용 주소를 개인 주소로 변환하는 방법을 보여 줍니다.

그림 3: DNS 주소 변환(퍼블릭에서 프라이빗으로) DNS Address Translation (Public to Private)

private.com 의 호스트 A가 DNS를 통해 호스트 B의 주소를 확인하려고 할 때 DNS ALG가 NAT를 지원하지 않는 경우 10.131.108.8과 같은 external.com 의 DNS 서버에서 공용 주소를 사용합니다. 호스트 A가 공용 주소가 10.131.108.8인 호스트 B에 트래픽을 보내는 경우, 이는 개인 도메인의 호스트 B에 유효하지 않습니다. 따라서 DNS 쿼리 A 레코드의 공용 주소는 DNS ALG를 통해 개인 주소 172.19.2.1로 변환됩니다.

메모:

DNS ALG는 단일 DNS 응답에서 처음 32개의 A 레코드를 변환할 수 있습니다. 처음 32개 레코드 이후의 A 레코드는 처리되지 않습니다. 또한 DNS ALG는 IPv4 및 IPv6 주소를 지원하며 VPN 터널은 지원하지 않습니다.

DNS 및 DDNS 수리 비활성화

DNS 및 DDNS 수리를 수행하려면 디바이스에서 DNS ALG를 활성화해야 합니다. 디바이스에서 DNS ALG를 활성화하면 DNS 및 DDNS 수리 기능이 기본적으로 활성화됩니다. CLI를 사용하여 DNS 및 DDNS 수리를 비활성화할 수 있습니다.

DNS 및 DDNS 수리를 비활성화하려면:

  1. 구성 옵션을 지정하여 모든 수리 기능을 비활성화합니다 none .

    이 명령은 모든 수리 기능을 비활성화합니다.

  2. NAT 기능을 비활성화하고 구성 옵션을 지정 sanity-check 하여 온전성 검사 기능을 유지합니다.

    이 옵션은 NAT 기능을 비활성화하고 온전성 검사 기능을 유지합니다.

  3. 디바이스 구성을 완료하면 해당 구성을 커밋합니다.

  4. 구성을 확인하려면 vty 명령을 show usp algs dns stats사용합니다.

플랫폼별 DNS ALG 동작

기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인할 수 있습니다.

다음 표를 사용하여 플랫폼에 대한 플랫폼별 동작을 검토합니다.

플랫폼

다름

SRX 시리즈

  • DNS ALG를 지원하는 SRX3400, SRX3600, SRX4600, SRX5600 및 SRX5800 디바이스는 기본적으로 DNS doctoring을 활성화합니다.