Load To Technical Architect
[Linux] Name Server 구성 본문
728x90
Name Server란?
우리가 주소창에 영어로 된 도메인 www.naver.com을 입력하면 네이버 메인 화면으로 접속되는데
네이버 메인 화면으로 접근하는동안 수 우리 PC에서는 수 많은 Name Server에 질의를 던진다.
주소창에 도메인을 입력하면 PC는 설정된 Name Server에 위의 도메인의 아이피가 무엇인지 질의한다.
테스트를 해보고싶다면 cmd창을 열고 아래의 명령어를 입력하여보자
nslookup www.naver.com
도메인 www.naver.com은 사실 www.naver.com. 인 것을 아는가?
만약 PC에 설정된 Name Server에 입력한 도메인 주소가 저장되어있지 않다면
질의 순서는 이렇다.
1. .(Root) Name Server에 질의
2. com Name Server에 질의
3. naver.com Name Server에 질의
Name Server 구성 방법
1. name server package 설치
# yum -y install bind
2. named.conf 수정
# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
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; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
options에 listen-on port 53, listen-on-v6 port 53, allow-query 부분만 수정해준다.
3. zone 추가
# vi /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
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 {
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
zone "dnstest.com" IN {
type master;
file "dnstest.com.db";
};
맨 마지막 dnstest.com 부분을 원하는 도메인으로 추가한다.
4. 레코드 추가
# cd /var/named
# vi dnstest.com.db
$TTL 1D
@ IN SOA @ ns.dnstest.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.10.134
www A 192.168.10.134
3번에서 구성한 file명과 동일하게 파일을 작성하고 자신의 환경에 맞게 아이피 및 레코드를 추가한다.
5. named service 시작
# systemctl start named
6. PC의 DNS 주소 변경
7. 확인
완료
728x90
'Linux > CentOS' 카테고리의 다른 글
[Linux] CentOS 7 Python 3 설치 후 yum 실행 시 발생하는 에러 해결 (0) | 2022.02.08 |
---|---|
[Linux] NFS 구성 (0) | 2021.12.09 |
[Linux] 서버에 디스크 추가 후 마운트 (0) | 2021.12.08 |
[Linux] Upgrade CentOS 6 to 7 (0) | 2020.06.19 |
Comments