Today I Learn - 28

이정빈·2021년 3월 19일
0

클라우드 엔지니어

목록 보기
29/53
post-thumbnail

DNS 서버 구축 : BIND(Berkeley Internet Name Domain)

DNS 서버 (BIND) 설치

yum info bind
yum install bind
bind 정보 확인
rpm -ql bind
서비스 정보 확인
systemctl status named.service
서비스 설정 파일 확인 및 수정
vi /etc/named.conf

options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { localhost; };

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };

방화벽에서 DNS 서비스 차단 해제

firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
DNS 서비스 시작
systemctl start named.service
systemctl enable named.service
서비스 동작상태 확인
systemctl status named.service
동작 테스트
윈도우 시스템에서 cmd 창 열고 nslookup 실행

C:\Users\Playdata>nslookup
기본 서버: UnKnown
Address: 192.168.4.254

server 192.168.100.100
기본 서버: [192.168.100.100]
Address: 192.168.100.100

www.naver.com
서버: [192.168.100.100]
Address: 192.168.100.100

권한 없는 응답:
이름: www.naver.com.nheos.com
Addresses: 223.130.195.95
223.130.195.200
Aliases: www.naver.com

이와 같이 설정할 경우, BIND는 Cache 전용 DNS 서버로 동작

/etc/hosts 파일, DNS 요청, DNS 캐시의 우선순위 (클라이언트)
/etc/hosts
DNS 캐시 (시스템)
DNS 요청

우선순위 (DNS서버)
관리하고 있는 영역
DNS 캐시
DNS 요청

==================================================

BIND 영역 설정

/var/named

ex) 실습 환경 예시
example.local 도메인 구성
ns.example.local : 192.168.100.100
mail.example.local : 192.168.100.101
www.example.local : 192.168.100.100
ftp.example.local : www.example.local

정방향조회 영역 파일 생성 : /var/named/data/example.local.zone
$TTL 3H
@ IN SOA ns.example.local. root.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum

@ IN NS ns.example.local.
IN MX 10 mail.example.local.
IN A 192.168.100.100

ns IN A 192.168.100.100
mail IN A 192.168.100.101
www IN A 192.168.100.100
ftp IN CNAME www

역방향조회 파일 설정 : /var/named/data/db.192.168.100

$TTL 3H
@ IN SOA ns.example.local. root.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum

@ IN NS ns.example.local.
100 IN PTR ns.example.local.
101 IN PTR mail.example.local.
100 IN PTR www.example.local.

/etc/named.conf 파일 수정

...

zone "example.local" IN {
type master;
file "data/example.local.zone";
};

zone "100.168.192.in-addr.arpa" {
type master;
file "data/db.192.168.100";
};

...

영역 설정 확인

named-checkzone
named-checkzone <영역이름> <파일이름>
ex) named-checkzone example.local /var/named/data/example.local.zone
확인: /var/named/data/example.local.zone 영역 파일 내 잘못 작성된 레코드 삽입 후 테스트
abcde IN WRONG 192.168.100.100

named-checkconf
named-checkconf <설정파일이름>
ex) named-checkconf /etc/named.conf

확인: /etc/named.conf 파일에 임의로 아래 내용 추가 후 테스트

zone "example2.local" IN {
type master
file "data/example2"
};

문법상 세미콜론(;) 기호가 빠져있어 체크시 에러 발생

zone "example2.local" IN {
type master;
file "data/example2";
};

이 경우 에러가 나지 않음

영역 파일 권한 설정

/var/named/data 내 영역파일을 root 사용자로 작성할 경우 root 사용자의 소유 및 root 그룹의 소유로 생성되며, 다른 사용자에게 읽기 권한이 없음
→ 파일 소유권을 named:named로
chown named:named /var/named/data/example.local.zone
chown named:named /var/named/data/db.192.168.100
→ 파일 권한을 644(rw-r--r--)로 변경
chmod 644 /var/named/data/example.local.zone
chmod 644 /var/named/data/db.192.168.100

서비스 재시작 후 동작 확인
정방향조회
역방향조회

==================================================

DNS 이중화

실습준비

공유폴더에서 CentOS 7.8 ova 파일 다운로드 후 import
네트워크 설정을 고정 IP 설정 :
IP : 192.168.100.200/24
GW : 192.168.100.2
DNS : [BIND가 설치된 서버IP]
nmcli connection add con-name static ifname ens33 type ethernet ipv4.method manual ipv4.addresses 192.168.100.200/24 ipv4.gateway 192.168.100.2 ipv4.dns [BIND가 설치된 서버IP]
nmcli connection up static
yum 사용하여 bind 설치

profile
WAS Engineer, Cloud Engineer(지망)

0개의 댓글