Windows Server DNS는 정말 좋은 도구(인것 같)다.
- GUI라서 쉽게 설정 .
- 적당히 설정하면 역방향 조회 영역도 만들어준다.
각 영역 일련번호가 중복되면 설정 도중에 알려줌.- 잘못 알고 있었다. 각 영역 일련번호는 서로 상관 없기에 중복 되어도 문제 없는듯.
이에 반해 Linux Bind9은
- 있던 GUI 설정 도구도 없어짐(CentOS5에서 있던 system-config-named가 CentOS6에서 사라지고, 텍스트 설정 파일을 직접 수정하는걸 권장하고 있는 듯 함.)
- 시리얼이 중복 되어도 안 알려주고, 역방향 조회영역 자동으로 생성? 그런 게 있을 리가…
- 설정이 잘못되면 실행 시 잘못되었다고 알려줄 뿐.
그래도 여러 사정으로 인해 윈도 DNS를 Linux Bind9으로 옮기는 경우가 생긴다. 옮기는 방법에 대해 설명한다.
- 영역 파일 복사
- 설정(/etc/named.conf (CentOS6) 혹은 /etc/bind/named.conf (ubuntu13))에 각 영역에 대한 내용 추가
- 끝
영역 파일 복사하기
%systemroot%system32dns 에서 (기본 값은 보통 c:windowssystem32dns ) 영역 파일(확장자가 .dns로 되어 있는 파일들을 말함)을 복사한다. 리눅스에선 보통 .zone으로 저장하지만 상관없다. 텍스트 파일(plain text)임.
영역 파일이 한 두 개일 때는 그냥 편집 하면 되지만 회사 정도 되면 그냥 정규 표현식으로 수정하는 방법이 빠르고 편하다. 그 방법은 아래에서 설명한다.
영역(zone) 등록용 파일 만들기
zone(혹은 dns)파일들에 대한 내용을 named.conf 에 추가 해야 하는데, dns 파일을 리눅스 특정 디렉토리에 옮겨 놨다고 하고, 해당 디렉토리에서 아래 내용을 실행.
ls *dns | sed –e ‘s,.dns,,g’ > ~/dnslist.txt ; perl -pi -e ‘s,(.*),zone “$1” {nttype master;ntfile “data/$1.zone”; }ntallow-update { none; };ntallow-transfer { any; };n};,g’ ~/dnslist.txt
.dns 파일들 .zone으로 바꾸기(바꾼 다음에 /var/named/data 등에 옮기자.)
for i in *.dns;do mv $i ${i%dns}zone;done
위 내용은 ~/dnslist.txt 파일 안에 있는 domain.com 을 아래와 같이 만든다.
zone “domain.com” {
type master;
file “data/domain.com.zone”; }
allow-update { none; };
allow-transfer { any };};
위 내용을 실행해서 생성된 ~/dnslist.txt를 /etc/named.conf 에 덧붙이던지 하면 된다. 정규표현식이 들어가긴 했지만 각 영역에 대한 설정을 적당히 넣어주면 됨.
slave로 하고 싶다면?
type slave;로 하고 master { “IP” };를 추가하면 됨. allow-update sllow-transfer는 삭제.
zone “domain.com” {
type slave;
file “data/domain.com.zone”;masters { “192.168.0.1”; };
};
설정에 대한 설명을 하자면,
zone 설정의 file 옵션을 보면, file “data/domain.com.zone”; 와 같이 경로 data가 적혀있는데, 이 디렉토리가 어디에 위치해 있는지를 알 수 없다. 이건 /etc/named.conf의 options에서 directory 항목을 봐야 한다. 예를 들어 아래와 같이 되어 있는 경우
options {
listen-on port 53 { any; };
//listen-on-v6 port 53 { ::1; };
directory “/var/named”;
…하략…
이 경우 data는 /var/named/data 를 말한다. 이 아래 zone 파일을 놓으면 된다.
답글 남기기