반응형
bind9 A~Z. 설치하고 실행해보기 !
## 해당 코드는 이미 bind9을 설치하셨거나, 재설치 후 갑자기 안되시는 분들 .
## 혹은 깔끔하게 다 삭제하고 초기화해서 설치하고싶으신 분들을 위한 bind9 관련 모든 삭제 코드입니다.
rm -rf /etc/bind/*
rm -rf /var/cache/bind/*
sudo apt remove bind9*
sudo apt remove --auto-remove bind9*
sudo apt purge bind9*
## 0번 패키지 설치 및 방화벽 해제하기
ai bind9: bind9
# 패키지를 자동으로 설치합니다. (aliase 설정이 되어 있지 않으면 apt-get -y install bind9 명령을 실행합니다.)
ufw disable
# ufw 방화벽을 비활성화합니다.
## 1번 named.conf.options 수정
vi /etc/bind/named.conf.options
dnssec-validation no;
recursion yes;
allow-query { any; };
listen-on-v6 { any; };
systemctl start bind9
[주석]
vi /etc/bind/named.conf.options: /etc/bind/named.conf.options 파일을 편집합니다.
dnssec-validation no;: DNSSEC 유효성 검사를 비활성화합니다.
recursion yes;: 재귀적인 DNS 쿼리를 허용합니다.
allow-query { any; };: 모든 클라이언트로부터의 DNS 쿼리를 허용합니다.
listen-on-v6 { any; };: IPv6 주소를 통해 들어오는 연결을 허용합니다.
systemctl start bind9: Bind9 서비스를 시작합니다.
이 스크립트를 실행하면 Bind9의 설정 파일을 수정하여 DNSSEC 유효성 검사를 비활성화하고, 재귀적인 DNS 쿼리와 모든 클라이언트로부터의 쿼리를 허용하며, IPv6 주소로부터의 연결도 허용합니다. 마지막으로 Bind9 서비스를 시작합니다. 이를 통해 DNS 서버의 동작을 변경하고 업데이트된 설정을 적용할 수 있습니다.
## 2번 named.conf.default-zones 수정
vi /etc/bind/named.conf.default-zones
zone "it.kr" {
type master;
file "/etc/bind/it.zone";
};
zone "20.50.100.in-addr.arpa" {
type master;
file "/etc/bind/it.rev";
};
[주석]
zone "it.kr" {: "it.kr" DNS 존을 정의합니다.
type master;: 마스터 존으로 설정합니다.
file "/etc/bind/it.zone";: 해당 존의 데이터 파일 경로를 설정합니다.
zone "20.50.100.in-addr.arpa" {: "20.50.100.in-addr.arpa" 리버스 DNS 존을 정의합니다.
type master;: 마스터 존으로 설정합니다.file "/etc/bind/it.rev";: 해당 존의 데이터 파일 경로를 설정합니다.
이 스크립트를 실행하면 Bind9의 설정 파일을 수정하여 "it.kr" DNS 존과 "20.50.100.in-addr.arpa" 리버스 DNS 존을 추가합니다. 각 존은 마스터 존으로 설정되며, 데이터 파일의 경로도 지정됩니다. 이를 통해 DNS 서버에 새로운 존을 등록하고 설정 파일을 업데이트할 수 있습니다.
## 3번 it.zone 만들기
cp db.local it.zone
vi it.zone
$TTL 604800
@ IN SOA ns.it.kr. master.it.kr. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns.it.kr.
IN A 100.50.20.10
ns IN A 100.50.20.10
www IN A 100.50.20.20
ftp IN A 100.50.20.30
mail IN A 100.50.20.40
sun IN CNAME www
[주석]
$TTL 604800: TTL(Time To Live) 값을 604800으로 설정합니다.
@ IN SOA ns.it.kr. master.it.kr. ( : 마스터 네임서버와 이메일 주소를 설정합니다.
2: 일련번호(Serial)를 2로 설정합니다.
604800: Refresh 값을 604800으로 설정합니다.
86400: Retry 값을 86400으로 설정합니다.
2419200: Expire 값을 2419200으로 설정합니다.
604800: Negative Cache TTL 값을 604800으로 설정합니다.
@ IN NS ns.it.kr.: ns.it.kr.를 네임서버로 설정합니다.
IN A 100.50.20.10: it.kr에 대한 A 레코드를 100.50.20.10으로 설정합니다.
ns IN A 100.50.20.10: ns.it.kr에 대한 A 레코드를 100.50.20.10으로 설정합니다.
www IN A 100.50.20.20: www.it.kr에 대한 A 레코드를 100.50.20.20으로 설정합니다.
ftp IN A 100.50.20.30: ftp.it.kr에 대한 A 레코드를 100.50.20.30으로 설정합니다.
mail IN A 100.50.20.40: mail.it.kr에 대한 A 레코드를 100.50.20.40으로 설정합니다.
sun IN CNAME www: sun.it.kr에 대한 CNAME(Canonical Name)을 www.it.kr로 설정합니다.
이 스크립트를 실행하면 it.zone 파일이 생성되고, 편집된 내용으로 DNS 서버의 it.kr 존에 대한 데이터가 설정됩니다. 이를 통해 DNS 서버에 새로운 존의 데이터를 추가하고 설정 파일을 업데이트할 수 있습니다.
## 4번 it.rev 만들기
cp it.zone it.rev
vi it.rev
$TTL 604800
@ IN SOA ns.it.kr. master.it.kr. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns.it.kr.
IN A 100.50.20.10
IN PTR it.kr.
10 IN PTR ns.it.kr.
20 IN PTR www.it.kr.
20 IN PTR sun.it.kr.
30 IN PTR ftp.it.kr.
40 IN PTR mail.it.kr.
systemctl restart named
nslookup
it.rev는 리버스 파일입니다.
## 작동되는지 bind9 사용해보기
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> it.kr
;; communications error to 127.0.0.1#53: timed out
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: it.kr
Address: 100.50.20.10
> www.it.kr
;; communications error to 127.0.0.1#53: timed out
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.it.kr
Address: 100.50.20.20
> ftp.it.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ftp.it.kr
Address: 100.50.20.30
> mail.it.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: mail.it.kr
Address: 100.50.20.40
> sun.it.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
반응형