글
DNS ( Domain Name Service )
DNS
- 도메인을 IP 주소로 변환 시켜주는 관리 서비스
Root Level Domain : . ( dot )
:
Top Level Domain : com , net , kr , ...
:
Second Level Domain : naver , nate , ...
:
Third Level Domain : www , blog , cafe <--------- ( Host )
1. Client
1) 설치
# yum -y install bind-utils.x86_64
2) DNS Lookup
# nslookup
> Ctrl + d ( 종료 )
> www.naver.com
Server: 168.126.63.2
Address: 168.126.63.2#53
Name: www.naver.com.nheos.com
Address: 125.209.222.141
Name: www.naver.com.nheos.com
Address: 210.89.160.88
[ Netwokr ]
1. 내부 통신
# ping < 내부_ip >
2. 외부 통신
# ping < 외부_ip >
3. DNS Lookup
# ping www.google.com
2. Server ( ServerA korea.com )
1) 설치
# yum -y install bind.x86_64
2) 설정 파일 ( www.korea.com 라고 물어보면 100.100.100.100 라고 대답하라 )
1. /etc/named.conf <--------- DNS서버 전체 설정 파일
12 options {
l---- 네임서버 접속을 허용할 IP 주소
13 listen-on port 53 { any; }; ipv4 l <------ 바뀐곳
14 listen-on-v6 port 53 { any; }; ipv6 l <------ 바뀐곳
15 directory "/var/named";
- 각 도메인의 zone 파일의 위치를지정
16 dump-file "/var/named/data/cache_dump.db";
- 정보가 갱신될때 저장되는 파일 위치
17 statistics-file "/var/named/data/named_stats.txt";
- 통계파일이 생성되는 절대 경로와 파일이름을 지정
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
- 메모리 관련 통계파일이 생성되는 절대 경로와 파일 이름을 지정
19 allow-query { any; }; <------ 바뀐곳
- 도메인 이름의 쿼리가 허용된 IP 주소
2. /etc/named.rfc1912.zones
37 zone "0.in-addr.arpa" IN {
38 type master;
39 file "named.empty";
40 allow-update { none; };
41 };
----------- [ 복사해서 수정 ] ------------
43 zone "korea.com" IN {
44 type master;
45 file "korea.com.zone";
46 allow-update { none; };
47 };
- 확인
# named-checkconf /etc/named.rfc1912.zones <----- 문법적 오류만찾아줌
- 오타 있을시
- 아무것도 나오지 않으면 정상
3. /var/named/*
------------------- [ 기본 값 ] ------------------------------
[root@korea ~]# ls -l /var/named/
합계 16
drwxrwx--- 2 named named 6 4월 13 03:48 data
drwxrwx--- 2 named named 6 4월 13 03:48 dynamic
-rw-r----- 1 root named 2281 5월 22 2017 named.ca
-rw-r----- 1 root named 152 12월 15 2009 named.empty
-rw-r----- 1 root named 152 6월 21 2007 named.localhost
-rw-r----- 1 root named 168 12월 15 2009 named.loopback
drwxrwx--- 2 named named 6 4월 13 03:48 slaves
# touch /var/named/korea.com.zone
- 소유 그룹 named
# chown .named /var/named/korea.com.zone
- 권한 640
# chmod 640 /var/named/korea.com.zone
# vi /var/named/korea.com.zone
------------------- [ 아래 내용 입력 ] -----------------------
$TTL 3H;;
@ IN SOA ns.korea.com. root.ns.korea.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN A 100.100.100.100
IN NS ns.korea.com.
ns IN A 100.100.100.100
www IN A 100.100.100.100
---------------------------------------------------------------------------------------
1 . $TTL ( Time To Live )
- 네임 서버가 설정된 도메인에 대한 정보를 제공받은 클라이언트들이 얼마동안
이정보를 캐시에 저장할지 결정하는 시간
2. @ = 도메인( korea.com )
- oringin 도메인
3. SOA ( Start Of Authority )
- korea.com 도메인에 대하여 여기서 설정한 네임서버가 모든 정보를 가지고 있음을
선언하는 것
4.
(
0 ; serial : zone 정보가 업데이트 되었는지를 슬레이브 네임서버에 전달하기위해 사용
하는 숫자
1D ; refresh : 슬레이브 네임서버가 얼마의 주기로 마스터 서버에 접속해 정보가 변경되었
는지를 점검하기 위해 사용 하는 시간
1H ; retry : 슬레이브 네임서버가 마스터 네임서버에 refresh 실패시 얼마나 후에 다시
접근할지 설정하는 시간
1W ; expire : 슬레이브 네임서버가 retry를 얼마 동안 허용할지 결정하는 시간
3H ) ; minimum : 잘못된 호스트 정보를 저장하기 위한 TTL
5. record
- A : 도메인에 대한 주소
- NS : 네임서버
- MX : 메일 서버
--------------------------------------------------------------------------------------------------------------
- 확인
# cd /var/named
# named-checkzone korea.com korea.com.zone
-------------- [ 정 상 ] ---------------
zone korea.com/IN: loaded serial 0
OK
- 오타 있을 때
3) 서비스 시작
# systemctl restart named <--------- 오타가 있다면 restart 했을때 출력된다
- 확인
# ss -ant 53번포트
4) 방화벽 설정
# firewall-cmd --zone=home --add-service=dns --permanent
# firewall-cmd --reload
-------------------------- [ 실 습 - Windows 확인 ] ----------------------------------
cmd창 접속
cmd > nslookup
> server < server_ip >
> server 100.100.100.100 <--------------- 이거로 바꾸겠다
> www.korea.com
서버: [100.100.100.100]
Address: 100.100.100.100
이름: www.korea.com
Address: 100.100.100.100
-----------------------------------------------------------------------------------------
3) Server ( DNS 위임 ServerB linux.korea.com )
1. Server A ( 1차 DNS )
# vi /var/named/korea.com.zone
--------------- 정보 추가 -----------------
linux IN NS ns.linux.korea.com.
ns.linux.korea.com. IN A 100.100.100.110
- 확인
# cd /var/named
# named-checkzone korea.com korea.com.zone
-zone korea.com/IN: linux.korea.com/NS 'ns.linux.korea.com' (out of zone) has no - addresses records (A or AAAA)
- zone korea.com/IN: loaded serial 0
- OK
2. Server B ( 2차 DNS )
1. 설치
# yum -y install bind.x86_64
2. 설정 파일
# vi /etc/named.conf
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";
allow-query { any; }; <----------- 바뀐곳
- 전
-후
# vi /etc/named.rfc1912.zones
- linux.korea.com
------------ [ 복사 후 작성 ] ----------------
zone "linux.korea.com" IN {
type master;
file "linux.korea.com.zone";
allow-update { none; };
};
-->
# cd /var/named
# touch linux.korea.com.zone
# chown .named linux.korea.com.zone
# chmod 640 linux.korea.com.zone
# vi /var/named/linux.korea.com.zone
$TTL 3H;;
@ IN SOA ns.linux.korea.com. root.ns.linux.korea.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN A 100.100.100.110
IN NS ns.linux.korea.com.
ns IN A 100.100.100.110
www IN A 100.100.100.110
- 확인
# named-checkconf /etc/named.rfc1912.zones
# named-checkzone linux.korea.com linux.korea.com.zone
3. 서비스 시작
# systemctl restart named
4. 방화벽 설정
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
--------------------------- [ 실 습 - Windows 확인 ] ---------------------------------------
cmd > nslookup
> server 100.100.100.100
> www.korea.com
> www.linux.korea.com
4. Server ( master - slave )
1) Server A master
1. 설치
# yum -y install bind.x86_64
2. 설정 파일
# vi /etc/named.conf <----------- 13 , 14 , 19 번째 줄 any로 변경
# vi /etc/named.rfc1912.zones
-------------------------------------------------------------------------
zone "korea.com" IN {
type master; <------------- master
file "korea.com.zone";
allow-update { none; }; <------------- { < slave_server_ip >;}
}; 100.100.100.110
-->
-------------------------------------------------------------------------
# vi /var/named/korea.com.zone
-------------------------------------------------------------------------
$TTL 3H;;
@ IN SOA ns.korea.com. root.ns.korea.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN A 100.100.100.100
IN NS ns.korea.com.
ns IN A 100.100.100.100
www IN A 100.100.100.100
----------------------------------------------------------------------------
3. 서비스 재시작
# systemctl restart named
# systemctl enable named
2) Server B slave
1. 설치
# yum -y install bind.x86_64
2. 설정 파일
# vi /etc/named.conf <----------- 13 , 14 , 19 번줄 any 로 바꿔주기
# vi /etc/named.rfc1912.zones
-------------------------------------
zone "korea.com" IN {
type slave; <-------------- slave
file "korea.com.zone";
masters { 100.100.100.100; }; <---------- < master_server_ip >
};
------------------------------------
# ls -ld /var/named
# chmod g+w /var/named
or
# chmod 770 /var/named
3. 서비스 시작
# systemctl start named
# systemctl enable named
# ls - l /var/named
-rw-r--r-- 1 named named 275 8월 1 16:33 korea.com.zone <---------- 추가
4. 방화벽 설정
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
---------------------------------------------- [ 실 습 ] ------------------------------------------------------
Client CentOS7 추가생성
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes
* IP 할당 *
1) static
BOOTPROTO=static
IP값이 고정된다.
-> 네트워크 지식이 필요
2) dhcp
BOOTPROTO=dhcp
IP값이 동적으로 변경된다
-> dhcp 서버를 이용하여 PC에 IP 할당
-> 사용자의 편의성 ( 네트워크 지식이 없어도 된다 )
-> 관리의 편의성 ( IP충돌 문제 해결 )
-> DHCP 서버는 같은 네트워크 안에 존재해야 한다
DHCP
1. 설치
# yum -y install dhcp.x86_64
# yum -y install dhcp-common.x86_64
2. 설정 파일
# vi /etc/dhcp/dhcpd.conf
# man dhcpd.conf
# ls -l /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
-> etc/dhcp/dhcpd.conf 파일을 덮어쓰기
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
-> cp: overwrite `/etc/dhcp/dhcpd.conf'? y
# vi /etc/dhcp/dhcpd.conf
7 option domain-name "korea.com";
8 option domain-name-servers ns.korea.com;
- Network 설정
- 네트워크 대역대 100.100.100.0
- NetMask 255.255.255.0
- Gateway 100.100.100.2
- DNS 100.100.100.100 korea.com
27 subnet 100.100.100.0 netmask 255.255.255.0 {
range 100.100.100.150 100.100.100.200;
option routers 100.100.100.2;
option domain-name-servers 100.100.100.100;
option domain-name "korea.com";
option broadcast-address 100.100.100.255;
default-lease-time 600;
max-lease-time 7200;
}
range : IP 주소 범위
routers : Gate Way 주소
domain-name-servers : DNS 서버
broadcast-address ( 255 )
leaser-time : IP할당 기본 시간 ( 초 ) , 최대 시간 ( 초 )
3. 서비스 시작
# systemctl restart dhcpd
# systemctl enable dhcpd
4. 방화벽 설정
# firewall-cmd --zone=home --add-service=dhcp --permanent
# firewall-cmd --reload
5. Client ( client1 )
# systemctl restart network
# ip addr
1) DHCP 동작 과정
- DHCP Discover
: Client IP ( 0.0.0.0 ) , Mac Address(00:12:..:.. )
: 브로드 캐스트 메세지(255.255.255.255) : " DHCP 서버 있으면 응답 주세요 "
- DHCP Offer
: Server IP ( 100.100.100.100 ) : " 여기 있다 "
: 네트워크 정보 ( IP , GatWay , .......) 를 보내준다
- DHCP Request
: Client IP (100.100.100.150)
: Server IP (100.100.100.100)
- DHCP Ack
: Server IP (100.100.100.100)
: Client IP (100.100.100.150)
2) Server 확인
# vi /var/lib/dhcpd/dhcpd.leases
3) Client 확인
# ip addr
# vi /etc/resolv.conf
# yum -y install net-tools.x86_64
net-tools.x86_64
- # ifconfig
- # route
// - n : 내가 사용하는 GateWay가 궁금하면
'Linux > Linux (CentOS)' 카테고리의 다른 글
find (0) | 2018.08.03 |
---|---|
Mail Server (0) | 2018.08.02 |
GNOME Desktop (0) | 2018.07.27 |
FTP (ACTIVE mode & PASSIVE mode) Xinetd (0) | 2018.07.26 |
FTP & 접근제어 (0) | 2018.07.20 |