내부 네트워크 내부에서 공용 IP를 사용하는 경우 외부 DNS 서버가 외부 도메인 이름을 확인할 수 없습니다.

내부 네트워크 내부에서 공용 IP를 사용하는 경우 외부 DNS 서버가 외부 도메인 이름을 확인할 수 없습니다.

nslookup내부 네트워크 내부의 컴퓨터에서 쿼리하는 데 사용합니다 . 내 DNS 서버의 개인 IP를 사용하면 외부 도메인 이름을 성공적으로 확인할 수 있습니다.

> www.ust.hk
서버: 192.168.28.58
주소: 192.168.28.58#53

신뢰할 수 없는 답변:
이름: www.ust.hk
주소: 143.89.14.1

하지만 내부 네트워크 내부에서 DNS 서버의 공인 IP를 사용하면 외부 도메인 이름을 확인할 수 없습니다.

$ nslookup
서버 wxyz
기본 서버: wxyz
주소 wxyz#53
> www.ust.hk
서버: wxyz
주소: wxyz#53
서버가 www.ust.hk를 찾을 수 없음: REFUSED

dns.log를 살펴보면 외부 도메인 이름이 거부되었다고 나와 있습니다.

(www.ust.hk): 쿼리(캐시) 'www.ust.hk/A/IN'이 거부되었습니다.

내부 네트워크에서는 재귀가 허용되기 때문에 무리가 있습니다. 컴퓨터가 내부 네트워크 외부에 있는 경우 외부 도메인을 확인할 수 없는 것은 정상입니다.

아래와 같이 명명된 구성 파일이 있습니다.

acl "trusted" {
               192.168.0.0/16;
               localhosts;
               localnets;
};

options{
listen-on port {any;};
listen-on-v6 port 53 { none; };
allow-query { any; };
allow-recursion {trusted;};
allow-query-cache {trusted;};
....
};

이 문제의 원인이 무엇인지 궁금합니다. 방화벽을 잘못 구성하여 문제가 발생합니까? dns.log에 거부되었다고 나와 있는 것으로 보아 방화벽 문제는 아닌 것으로 보입니다.
루프백 NAT 규칙을 포함시켰지만 여전히 도움이 되지 않습니다. DNS 서버는 DMZ 구역에 위치해 있다는 점을 기억하시기 바랍니다.

기타 편집

편집 1

요점은 "이 특정 트래픽을 처리하지 않도록 NAT 설정을 변경하여 소스가 여전히 로컬로 유지되도록"하는 것입니다. 가장 실현 가능해 보이지만 어떻게 해야 할지 궁금합니다.

PDNS1(공용) IP는 WAN 영역에 있고 PDNS1(개인) IP는 DMZ 영역에 있습니다.

당사의 방화벽 브랜드는 Sonicwall입니다. 현재 NAT는 다음과 같습니다.
원본-원본: 모든
원본 변환: Pdns(공용)
대상-원본: Pdns(공용)
대상 변환: Pdns(개인)
서비스-원본: DNS(이름 서비스)
서비스-변환: 원본

다른 두 NAT 규칙은 일반적인 일대일 재귀 NAT입니다.

소스가 여전히 로컬로 유지되도록 특정 트래픽을 처리하지 않는 방법을 모르겠습니다. 자세한 상담과 설명 부탁드립니다. 매우 감사합니다.

편집 2

요점- "공용 IP 추가(로컬 네트워크 목록에 sNATed되는 항목)" 아래 설정을 시도했습니다. 내부 네트워크 내부의 공인 IP를 이용한 DNS 쿼리를 통해 외부 도메인 이름을 성공적으로 확인할 수 있는 것은 사실이다.

안타깝게도 내부 네트워크 외부의 공용 IP를 사용하는 DNS 쿼리는 외부 도메인 이름도 확인할 수 있습니다. DNS 증폭 공격에 취약한 개방형 DNS 서버가 되기 때문에 바람직하지 않습니다.

acl "신뢰할 수 있음" {
219.189.213.25;
192.168.0.0/16;
로컬호스트;
로컬넷;
};

요점 - "모든 IP에서 도메인에 대한 응답을 활성화합니다(의향이 없을 수도 있음)"

나는 이것이 아래의 names.conf 설정을 의미한다고 생각합니다: recursion yes;
또는
재귀 허용 { 임의; };
허용 쿼리 캐시 {모든; };

마찬가지로 DNS 서버가 개방형 DNS가 되는 것은 매우 바람직하지 않습니다.

편집 3

  1. 아래는 내부 네트워크 내부의 사설 IP를 이용한 DNS 쿼리입니다:
    [root@pdns1 ~]# nslookup
    서버 192.168.28.58
    기본 서버: 192.168.28.58
    주소: 192.168.28.58#53
    www.hku.edu.hk
    서버: 192.168.28.58
    주소 : 192.168.28.58#53
    신뢰할 수 없는 답변:
    이름: www.hku.edu.hk
    주소: 147.8.2.58

  2. 아래는 내부망 내부 공인 IP를 이용한 DNS 쿼리입니다:
    서버 219.189.213.25
    기본 서버: 219.189.213.25
    주소: 219.189.213.25#53
    www.mingpao.com
    서버: 219.189.213.25
    주소: 219.189.213.25#53
    ** 서버는 가능합니다. www.mingpao.com을 찾을 수 없습니다: 거절됨

아래는 dns.log입니다:
16-Jan-2020 20:40:12.460 보안: 정보: 클라이언트 @0x7f963c508310 219.189.213.25#43529. (www.mingpao.com) : 쿼리(캐시) 'www.mingpao.com/A/IN'이 거부되었습니다.

아래는 query.log입니다:
16-Jan-2020 20:39:42.109 query: info: client @0x7f963c0a3ce0 192.168.28.58#60338 (www.hku.edu.hk): query: www.hku.edu.hk IN A + (192.168.28.58)

2020년 1월 16일 20:39:42.401 쿼리: 정보: 클라이언트 @0x7f963c58e9c0 192.168.28.58#58101 (www.hku.edu.hk): 쿼리: www.hku.edu.hk IN AAAA + (192.168.28.58)

2020년 1월 16일 20:40:12.460 쿼리: 정보: 클라이언트 @0x7f963c508310219.189.213.25#43529 (www.mingpao.com) : 문의 : www.mingpao.com IN A + (192.168.28.58)

요청이 WAN에서 왔다는 것이 사실인가요?

답변1

질문/힌트는 공용 IP를 사용하여 DNS 서버에 연결하려고 시도한 후 어떻게 DNS 서버에 연결하는가입니다.

DMZ의 공용 IP를 사용하여 서버에 도달하면 트래픽이 이미 sNAT된 상태일 가능성이 높습니다. 서버의 관점에서 보면 통신은 로컬이 아닙니다. 로그 기록을 다시 한 번 확인하세요. 요청이 들어온 IP가 표시됩니다.

작동시키려면 다음을 수행할 수 있습니다.

  • 모든 IP에서 도메인에 대한 응답을 활성화합니다(의향이 없을 수도 있음).

  • 이 특정 트래픽을 처리하지 않도록 NAT 설정을 변경하면 소스가 여전히 로컬로 유지됩니다.

  • 공용 IP를 추가하세요(로컬 네트워크 목록에 sNAT된 IP에)

관련 정보