Ubuntu Server 20.04를 사용하여 내부 및 외부 네트워크 모두에 대한 올바른 바인딩 DNS 구성

Ubuntu Server 20.04를 사용하여 내부 및 외부 네트워크 모두에 대한 올바른 바인딩 DNS 구성

저는 초등 교육 사무실에서 일하고 있으며 내부 및 외부 사용을 위해 Ubuntu Server 20.04를 사용하여 로컬 서버를 설정하고 있습니다. 모든 학교와 사무실은 전국 네트워크 '.sch.gr'에 속해 있습니다. 네트워크는 우리 사무실에 도메인 dipe****.sch.gr을 할당했으며 외부 IP는 81.186.21.**입니다. 외부의 모든 것이 정상적으로 작동합니다. 서버의 내부 IP는 10.145.252.10입니다. 내부 IP 10.145.252.10으로 확인하기 위해 dipe****.sch.gr을 입력하면 LAN의 컴퓨터가 필요합니다. 이것이 가능한가? 이를 위해 Bind를 설치했지만 올바른 구성을 찾을 수 없습니다. 누군가 도와줄 수 있나요?

답변1

예, 가능합니다. ISC BIND에는 "뷰"라는 특수 기능이 있습니다. 예를 들어,여기그리고여기.

기본적으로 다음을 수행합니다.

두 개의 영역 파일이 필요합니다. 하나는 "외부" 클라이언트용이고 다른 하나는 "내부"용입니다. "외부" 클라이언트에 대해 이미 구성했다고 가정합니다. 구성이 다음과 같다고 가정해 보겠습니다.

zone "dipe****.sch.gr" IN {
        type master;
        file "pri/dipe****.sch.gr.zone";
};

이를 다음과 같이 변경합니다.

view "internal" {
    match-clients { 10.0.0.0/8; };
    zone "dipe****.sch.gr" IN {
            type master;
            file "pri/dipe****.sch.gr.zone_int";
    };

}; 

view "external" {
    match-clients { any; };
    recursion no;
    zone "dipe****.sch.gr" IN {
            type master;
            file "pri/dipe****.sch.gr.zone";
    };
};

현재 영역 구성이 외부 보기로 마이그레이션되었습니다. 또한 뷰의 순서가 중요합니다. 외부 뷰 정의에는 match-clients에 와일드카드 포괄 기능이 있으므로 내부 뷰가 외부 뷰보다 먼저 나타나야 합니다.

그런 다음 10.xxx의 DNS 쿼리는 ''dipe****.sch.gr.zone_int'' 파일에서 응답되며, 여기서 개인 주소를 구성합니다. 10.xxx와 일치하지 않는 클라이언트의 모든 쿼리는 공개 주소용 'dipe****.sch.gr.zone''에서 응답됩니다.

내부 클라이언트가 다른 네트워크(192.168.xx, 172.16.xx)에도 있는 경우 match-clients내부 보기에 추가하세요. 또한 acl을 구성하고 보기에서 직접 지정하는 대신 match-clients에 넣을 수도 있습니다.

관련 정보