DNS 서버 구축 하기
- DNS 란?
- DNS는 도메인네임서버를 일컫는다
- DNS 역활
- 도메인 주소를 IP를 변경해서 알려준다.(정방향)
- IP주소를 도메인 주소로 변경해서 알려준다(역방향)
- 리눅스에서는 bind란 프로세스가 DNS 프로세스 이다.
- 설치 권한
- root
- 설치 방법
- yum 으로 설치
- 공부용으로는 yum 으로설치
- 상업용으로는 source로 설치 (경험 상 버전 관리문제를 해결 하기위해)
- # yum install bind*
- 버전 정보
- bind.x86_64 32:9.9.4.-29.el7.24
< 설치 완료 > |
- DNS 설정
- 설정 파일
- /etc/named.conf
- /etc/named.rfc1912.zones
- /etc/named.conf
- DNS 서버에 대한 설정 값을 담는 파일
- /etc/named.rfc1912.zones
- DNS 서버에 대한 정방향, 역방향 선언에 대한 값을 담는 파일
- /etc/named.conf 설정
- 보는 방법 : 설정 그 다음줄에 설명
- 참조 사이트
- http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/n/named.conf.html
- http://ftp.isc.org/isc/bind/9.8.0-P1/doc/arm/Bv9ARM.ch06.html
- 설정 검사 방법
- named-checkconf /etc/named.conf
10 options {
11 listen-on port 53 { any; };
12 listen-on-v6 port 53 { any };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; };
18
29 recursion yes;
=> 재귀쿼리 요청 설정(yes)/미설정(no)30
31 dnssec-enable yes
=> 기존의 DNS에 공개키 암호화 방식의 보안기능을 추가 부여하여 DNS의 보안성을 대폭 강화하는 역할을 합니다.[yes/no] - 캐시 DNS 서버의 dnssec 서명 검증 기능 설정32 dnssec-validation yes;
=> dnssec 검증 설정 [yes/no]33
34 /* Path to ISC DLV key */
35 bindkeys-file "/etc/named.iscdlv.key";
=> dnssec을 사용하기위해 root key를 저장하는 파일36
37 managed-keys-directory "/var/named/dynamic";
=> dnssec관련 옵션 잘모르겠다.38
39 pid-file "/run/named/named.pid";
=> 프로세스 ID가 적히는 파일40 session-keyfile "/run/named/session.key";
=> TSIG session key 가 저장되는 파일41 };
42
43 logging {
=> Debug Logging을 남기는 옵션을 설정한다.44 channel default_debug {
45 file "data/named.run";
=> Debug 파일 설정46 severity dynamic;
=> Debug 레벨 설정
47 };
48 };
49
50 zone "." IN {
=> Root 도메인 설정 하기51 type hint;
=> Root domain이란 의미 - hint : root도메인을 지정 - master : 1차 네임 서버 - slave : 2차 네임 서버52 file "named.ca";
=> Hints 파일로서 named의 캐시초기화에 필요한 정보를 저장하고 있는 파일이다. => 주기 적으로 ftp://ftp.rs.internic.net/domain에서 named.root를 가져와서 주기적으로 업그레이드 필요53 };
54
55 include "/etc/named.rfc1912.zones";
=> 각종 존 파일 설정56 include "/etc/named.root.key";
57
- /etc/named.rfc1912.zones 설정
12
13 zone "localhost.localdomain" IN {
14 type master;
15 file "named.localhost";
16 allow-update { none; };
17 };
18
19 zone "localhost" IN {
20 type master;
21 file "named.localhost";
22 allow-update { none; };
23 };
24
25 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
26 type master;
27 file "named.loopback";
28 allow-update { none; };
29 };
30
31 zone "1.0.0.127.in-addr.arpa" IN {
32 type master;
33 file "named.loopback";
34 allow-update { none; };
35 };
36
37 zone "0.in-addr.arpa" IN {
38 type master;
39 file "named.empty";
40 allow-update { none; };
41 };
==================================// 내가 추가한 도메인
46 };
- zone 파일 설정
- 하나의 도메인에 대해서는 하나의 zone파일을 만들어주느것이 일반적이다.
- 파일 위치 : /var/named/nightflower.co.kr.zone
- 설정 결과 체크
- named-checkzone domain "zone파일 절대 경로"
- named-checkzone nightflower.co.kr /var/named/nightflower.co.kr.zone
- 결과
< zone 파일 검사 완료 > |
1 $TTL 1D
2 @ IN SOA localhost root.localhost (
3 2016120800 ; serial
4 3D ; refresh
5 15M ; retry
6 1W ; expire
7 3H ) ; minimum
=> serial ~ minimum 까지는 secondary 네임서버와 primary 네이버서와의 연동을 어떻게 할것인가 에 대한 설정이다. 즉 secondary 네임서버가 primary 네임서버의 정보를 어떻게 얼마나 자주 갱신 할것인가 대한 설명이다.- serial : zone파일이 변견되었음을 알리는 버전 정보 이다. zone 파일 변경시 1씩 올려주면된다.
- refresh : primary 네임 서버를 확인하는 주기 - Retry : primary 접근 실패시 얼마나의 주기를 두고 재 저근할것인가를 설정 - expire: Retry 만료 시간. Retry 가 만료 되면, 해당 도메인을 삭제한다. - minimun : 해당 도메인의 정보를 다른 네임서버가 가져갔을때 가져간 도메인을 얼마나 보관 하고 있을까에 대한 설정(초단위)8 IN NS ns.nightflower.co.kr ;
=> 1차 네임 서버 설정9 IN MX 10 mail.nightflower.co.kr ;
10 IN MX 20 main2.nightflower.co.kr ;
=> 메일 서버 설정 10, 20 은 우선 순위 , 숫자가 작을 수록 우선 순위가 높다11 IN A 192.168.207.1 ;
=> 해당 도메인(nightflower.co.kr)의 IP주고가 192.168.207.1 이라는 것을 나타낸다.12 mail IN A 192.168.207.1 ;
=> 메인 서버 도메인 주소13 www IN A 192.168.22.132 ;
=> 웹 서버 도메인 주소
14 * IN A 192.168.207.1 ;
=> 상기 이외의 모든 nightflower.co.kr의 서브 도메인을 192.168.207.1 로 하겠다는의미이외에도 레코드(MX,A)외에도 CNAME, TXT, PTR 종류가 더있다. 이보다 더 많을수됬음
- dns가 동작 하지 않을때
- /var/log/message를 본다
- 권한 문제가 발생 했다.
< 권하 문제 정보 > |
- zone파일의 권한을 다음과 같이 변경
< 권한 문제 해결 > |
'서버 구축' 카테고리의 다른 글
[DNS] ubuntu 22.04에 DNS서버 구축 하기 (0) | 2023.07.15 |
---|---|
메일 서버 구축 (0) | 2017.06.01 |
구축 구성도 (0) | 2016.12.27 |