[Linux] DNS 네임서버 구성(Name Server Configuration)
• Written by Jung Byung Wook
1. 구성환경 ✔ Standalone Domain Name Server ✔ 운영체제 : RHEL 6,7,8 ✔ DNS Server IP : 192.168.83.131/24 |
0. 목차
- DNS Server 구성
- DNS Server 검증
1. DNS 네임서버 구성 (Name Server Configuration)
1) DNS 관련 패키지 설치
[root@dns.test /]# yum -y install bind bind-chroot bind-utils
|
2) /var/named.conf 설정
- 파일 설명 : DNS Zone 설정파일 위치 및 네임서버 데이터베이스 위치 설정 / DNS 접근제어 설정
- 하기 설정 적용
▸ listen-on port 53 { 127.0.0.1}; → listen-on port 53 { any};
▸ allow-query { localhost } ; → allow-query { any } ;
1
2
3
4
5
6
7
8
9
10
|
options {
listen-on port 53 { any; }; <<< 53번 포트를 모든 클라이언트에서 접근가능.
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; }; <<< DNS Query를 모든 클라이언트에서 수행가능.
|
3) named.conf 파일 설정 검증
[root@dns.test /]# named-checkconf /etc/named.conf
|
4) /etc/named.rfc1912.zones
- 파일설명 : Name Server로 특정 도메인정보를 요청할 때,
▸ 사용될 Zone의 정의 [역방향, 정방향]
▸ Zone 정보가 들어있는 파일 위치
▸ 1차, 2차, Root Domain 지정 등의 설정
- 신규로 등록할 도메인이름 및 파일위치 등록
1
2
3
4
5
|
[root@dns.test /]# vi /etc/named.rfc1912.zones
zone "example.com" IN {
type master;
file "named.example.com.zone";
allow-update { none; };
|
2. Domain Zone 구성
1) Domain Zone 파일 생성
- /var/named/localhost를 복사하여, name.신규도임.com.zone 생성
1
2
|
[root@dns.test /]# cp /var/named/named.localhost /var/named/named.example.com.zone
[root@dns.test /]# chown root:named /var/named/named.example.com.zone
|
2) Domain Zone 파일 생성
- zone 파일 기본문법을 기반으로 하기와 같이 작성.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@dns.test /]# vi /var/named/named.example.com.zone
$TTL 1D
@ IN SOA example.com. root.(
0 ; serial //시리얼값
1D ; refresh //보조 네임서버가 주 네임서버에 접속하는 시간
1H ; retry //접속 실패시 다시 시도할 시도 간격
1W ; expire //주네임서버에서 데이터가 없다면 1주 이후에 지워짐
3H ) ; minimum //TTL 설정과 같은 의미
NS example.com. //도메인을 소유한 주 DNS의 도메인
dns IN A 192.168.83.131 //도메인이 찾아갈 IP주소
host1 IN A 192.168.83.11 //도메인이 찾아갈 IP주소
host2 IN A 192.168.83.12 //도메인이 찾아갈 IP주소
host3 IN A 192.168.83.18 //도메인이 찾아갈 IP주소
|
3. DNS 설정 검증 및 적용
- 구성완료 후, 설정검증 및 Name Server 구동을 위한 설정작업
1) DNS 설정 검증
- 설정한 Zone의 Syntax(문법)이나, 오설정이 없었는지 최종검증
1
2
3
4
5
|
[root@dns.test /]# named-checkconf /etc/named.rfc1912.zones
[root@dns.test /]# named-checkzone example.com /var/named/named.example.com.zone
zone example.com/IN: loaded serial 0
OK
[root@dns.test /]#
|
2) 데몬 재시작
- 설정적용 및 상태확인
1
2
3
|
[root@dns.test /]# systemctl named restart // 설정 적용을 위한 named 데몬 재시작
[root@dns.test /]# systemctl enable named // 재기동시, 자동으로 데몬 시작
[root@dns.test /]# systemctl status named // named
|
3) 방화벽 허용설정
- 외부 클라이언트와 통신할 수 있도록 방화벽 허용설정.
1
2
3
|
[root@dns.test /]# firewall-cmd --permanent --add-service=dns // DNS Service 방화벽 허용
[root@dns.test /]# firewall-cmd --reload // 방화벽 설정 적용
[root@dns.test /]# restorecon -R -v /var/named // Selinux에서 /var/named 디렉토리
|
cs |
4) Client에서 DNS Query 수행
- DNS Client에서 정상적으로 해당 호스트정보를 불러들여오는지 확인.
1
2
3
|
[root@dns.test /]# dig host1.example.com +short
host1.example.com
192.168.83.11
|