본문 바로가기

리눅스

BIND에서 view를 설정하는 방법

728x90

BIND에서 view를 설정하는 방법

BIND (Berkeley Internet Name Domain)는 오픈 소스 DNS(Domain Name System) 서버 소프트웨어입니다.

테스트 환경

  • view1 : 127.0.0.1 IP에서 질의가 들어올 경우 응답
  • view2 : 10.0.10.0/8 네트워크 대역에서 질의가 들어올 경우 응답
  • view3 : any IP(127.0.0.1) 및 네트워크 대역(10.0.10.9/8)을 제외한 모든 곳에서 질의가 들어올 경우 응답

1. named.conf 파일 열기

BIND의 설정 파일인 named.conf를 편집합니다. 일반적으로 /etc/named.conf 파일에 위치합니다. 적절한 텍스트 편집기를 사용하여 파일을 엽니다.

 

2. view 블록 추가

named.conf 파일에서 원하는 위치에 view 블록을 추가합니다. view는 논리적으로 구분된 DNS 뷰를 정의하는 데 사용됩니다.

예를 들어, 다음은 "internal"이라는 이름의 view를 정의하는 예시입니다.

view "internal" {
  // view 구성 내용
};

 

3. view 내용 구성
view 블록 내에서 해당 view의 구성 내용을 정의합니다. 예를 들어, 해당 view에서 사용할 존(zone)과 옵션을 설정할 수 있습니다. 다음은 일반적인 view 구성 예시입니다.

  • named.conf
vim /etc/named.conf
view "view1" {
        match-clients { 127.0.0.1; };
zone "sangchul.kr" in {
        type master;
        recursion yes;
        file "sangchul.kr_1.zone";
           };
};

view "view2" {
        match-clients { 10.0.1.0/8; };
zone "sangchul.kr" in {
        type master;
        recursion yes;
        file "sangchul.kr_2.zone";
        };
};

view "view3" {
        match-clients { any; };
zone "sangchul.kr" in {
        type master;
        file "sangchul.kr_3.zone";
           };
};
  • sangchul.kr_1.zone
vim /var/named/sangchul.kr_1.zone
$TTL 600       ; 1 hour
sangchul.kr.             IN SOA  ns.sangchul.kr. dns.sangchul.kr. (
                                2007040461 ; serial
                                7200       ; refresh (2 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                )

                        NS      ns.sangchul.kr.
@                             IN A     111.111.111.111
www                          IN A     111.111.111.111
ns                             IN A     111.111.111.111
728x90
  • sangchul.kr_2.zone
vim /var/named/sangchul.kr_2.zone
$TTL 600       ; 1 hour
sangchul.kr.             IN SOA  ns.sangchul.kr. dns.sangchul.kr. (
                                2007040461 ; serial
                                7200       ; refresh (2 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                )

                        NS      ns.sangchul.kr.
@                             IN A     222.222.222.222
www                          IN A     222.222.222.222
ns                             IN A     222.222.222.222
  • sangchul.kr_3.zone
vim /var/named/sangchul.kr_3.zone
$TTL 600       ; 1 hour
sangchul.kr.             IN SOA  ns.sangchul.kr. dns.sangchul.kr. (
                                2007040461 ; serial
                                7200       ; refresh (2 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                ) 

                        NS      ns.sangchul.kr.
@                             IN A     233.233.233.233
www                          IN A     233.233.233.233
ns                             IN A     233.233.233.233
  • match-clients: 해당 view를 적용할 클라이언트 IP 주소 범위를 지정합니다.
  • recursion: 재귀적 DNS 조회를 허용할지 여부를 지정합니다.
  • zone: 해당 view에 속하는 존의 설정을 정의합니다. type, file 등의 존 관련 옵션을 설정할 수 있습니다.

4. 다른 view 추가 (선택 사항):

필요한 경우 다른 view를 추가하여 추가적인 DNS 뷰를 정의할 수 있습니다. named.conf 파일에서 위의 단계를 반복하여 다른 view를 추가할 수 있습니다.

 

5. named.conf 파일 저장 및 종료

named.conf 파일을 저장하고 텍스트 편집기를 종료합니다.

 

6. BIND 서비스 재시작

BIND 서비스를 재시작하여 변경 사항을 적용합니다. 이는 BIND 버전과 운영 체제에 따라 다를 수 있지만, 일반적으로 service named restart 또는 systemctl restart named 명령을 사용하여 BIND 서비스를 재시작할 수 있습니다.

 

7. 질의 테스트

  • 127.0.0.1
$ dig @127.0.0.1 sangchul.kr +short
111.111.111.111
  • 10.0.1.0/8(10.0.1.138)
$ dig @10.0.10.124 sangchul.kr +short
222.222.222.222
  • Any(10.0.30.56)
$ dig @10.0.10.124 sangchul.kr +short
233.233.233.233

 

이제 BIND의 view 설정이 완료되었습니다. 이러한 view는 클라이언트 IP 주소 범위와 관련된 존 및 옵션을 구분하여 다양한 DNS 뷰를 관리할 수 있게 해줍니다.

 

참고URL

- 리눅스 bind view zonetransfer test(dns) : https://sangchul.kr/623

 

728x90