
DNC 개념
IP Address 를 Domain 형식 (문자열)으로 변환해주는 서비스
Domain Name이란.
도메인 등록 원칙
DNS 관련 파일
DNS SERVER
Domain Name 구조
- 1단계 1단계 도메인 또는 최상위도메인TLD, Top Level Doamin: 루트 바로 아래 단계의 도메인
- 'kr'과 같이 국가를 나타내는 국가 코드 도메인
- .kr(한국) , .us(미국) , .jp(일본) , .cn(중국) , .uk(영국) , .fr(프랑스)
- 'com'같이 등록인의 목적에 따라 사용되는 일반 도메인
- .com , .org , .net , .edu , .gov , .mil , .arpa
- 2단계 도메인
- 조직의 속성을 구분하는 도메인
- .co(영리) , .or(비영리) , .go(정부) , .ac(대학/대학원) , .mil(국방조직)
- 3단계 도메인
- 조직이나 서비스의 이름을 나타내는 도메인 이름으로 도메인 사용자가 원하는 문자열을 사용할 수 있음
- naver , google , nate , kernerl, nobreak
- Subdomain
- 호스트가 위치
- www , blog , cafe , news
Domain 동작 방식

동작방식 종류

정방향 조회 / 역방향 조회

DNS 캐시
DNS 레코드
레코드 종류
DNS 조회 방법



DNS 서버 구성
1. 패키기 설치 (bind , bind-utils )
- yum -y install bind bind-utils
2. 서비스 설정
- 고정 아이피 설정
- DNS 서버 주소 설정
- hostname 설정
- /etc/named.conf 설정
- /var/named => zone 설정
3. 서비스 활성화
- systemctl start named
- systemctl enable named
4. 방화벽 설정
- firewall-cmd --add-service=dns --permanent
- firewall-cmd --reload
===========================================
도메인 확인 명령어
nslookup
> www.naver.com
> 192.168.56.101
host www.naver.com
host -t A www.naver.com
host -t PTR 192.168.56.1010
host -v -t A www.naver.com
dig www.naver.com
=============================================
dns 서버 구성 실습
초기 설정으로 스냅샷
패키지 설치
bind
bind-utils
방화벽 열기 (dns 서버에 대해서)
서버 주소 설정 및 호스트네임 변경
ip 192.168.56.101/24
hostname dns.test.example.com
/etc/hosts
192.168.56.101 dns.test.example.com 작성
named.conf 파일 설정
정뱡향 조회
vi /etc/named.conf
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; };
zone "test.example.com" IN {
type master;
file "test.example.com.zone";
};
zone
cd /var/named
cp named.empty test.example.com.zone
vi test.example.com.zone
$TTL 3H
@ IN SOA test.example.com. root.test.example.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.test.example.com.
dns A 192.168.56.101
www A 192.168.56.20
ftp A 192.168.56.30
mail A 192.168.56.40
blog A 192.168.56.50
:wq
chmod 660 test.example.com.zone
chown :named test.example.com.zone
systemctl enable named --now
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
dns 확인
역방향 조회
vi /etc/named.conf
zone "56.168.192.in-addr.arpa" IN {
type master;
file "192.168.56.0.zone";
};
zone
cp -ap test.example.com.zone 192.168.56.0.zone
vi 192.168.56.0.zone
$TTL 3H
@ IN SOA test.example.com. root.test.example.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.test.example.com.
101 PTR dns.test.example.com.
20 PTR www.test.example.com.
30 PTR ftp.test.example.com.
40 PTR mail.test.example.com.
50 PTR blog.test.example.com.
:wq
chmod 660 192.168.56.0.zone
chown :named 192.168.56.0.zone
systemctl restart named.service
================================================================
master / slave 구성
-------------------------------------------------------------------
master
vi /etc/named.conf
zone "test.example.com" IN {
type master;
file "test.example.com.zone";
allow-transfer { 192.168.56.101; }; => 추가
};
zone "56.168.192.in-addr.arpa" IN {
type master;
file "192.168.56.1010.zone";
allow-transfer { 192.168.56.101; }; => 추가
};
vi /var/named/test.example.com.zone
$TTL 3H
@ IN SOA test.example.com. root.test.example.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.test.example.com.
NS slave.test.example.com. => 추가
dns A 192.168.56.101
www A 192.168.56.20
ftp A 192.168.56.30
mail A 192.168.56.40
blog A 192.168.56.50
slave A 192.168.56.110 => 추가
:wq
vi 192.168.56.0.zone
$TTL 3H
@ IN SOA test.example.com. root.test.example.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.test.example.com.
NS slave.test.example.com. => 추가
10 PTR dns.test.example.com.
20 PTR www.test.example.com.
30 PTR ftp.test.example.com.
40 PTR mail.test.example.com.
50 PTR blog.test.example.com.
110 PTR slave.test.example.com. => 추가
:wq
----------------------------------------------------------------
slave
기존 가상 머신을 복제해서 새로운 가상머신 생성
패키지 설치
bind
bind-utils
dnf -y install bind ==> 패키지 설치
방화벽 열기 (dns 서버에 대해서)
서버 주소 설정 및 호스트네임 변경
nmcli con add con-name static1
ifname eth1
type ethernet
ip4 "192.168.56.110/24"
gw4 "192.168.56.1" --> 으로변경
== ip 192.168.56.110
hostname slave.test.example.com
systemctl restart named
/etc/hosts 파일
192.168.56.110 slave.test.example.com 작성
dns 192.168.56.101
vi /etc/named.conf
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; };
zone "test.example.com" IN {
type slave;
masters { 192.168.56.101; };
file "slaves/test.example.com.zone";
notify no;
};
---> "56.168.192.in-addr.arpa" 역 방향 조회
zone "2.0.10.in-addr.arpa" IN {
type slave;
masters { 192.168.56.101; };
file "slaves/192.168.56.0.zone";
notify no;
};
:wq
systemctl enable named --now
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
ls /var/named/slaves/
---------------------------------------------------------
client 실행
nmcli con mod static +ipv4.dns 192.168.56.110
host dns.test.example.com 192.168.56.110
nmcli dev disconnect eth2 ==> ip 충돌을 방지하기 위해 끄기
=======================================================