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
- 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
'리눅스' 카테고리의 다른 글
[draft] 리눅스에서 파일명에 날짜를 포함시키는 방법 (0) | 2023.06.10 |
---|---|
BIND 관리를 위한 RNDC 설정하는 방법 (0) | 2023.06.10 |
DNS SPF 란, SPF 설정하는 방법 (0) | 2023.06.10 |
일반적으로 Git 리포지토리를 GitHub에 올리는 방법 (0) | 2023.06.09 |
파이션 코드를 사용한 RabbitMQ 메시지 큐의 간단한 테스트 (0) | 2023.06.09 |