DNS 서버 개요
CentOS 시스템(컴퓨터)가 네트워크에 접속하는 방법은 아래와 같다.
-
직접 IP 입력
-
hosts파일을 이용
-
Windows는 Windows/system32/drivers/etc/hosts
-
Linux는 /etc/hosts
-
네임 서버를 이용해 접속
-
cat /etc/resolv.conf 명령어로 현재 nameserver IP확인 가능
IP주소를 얻는 내부 흐름은 아래의 순서로 진행된다.
-
/etc/host.conf 조회
-
/etc/hosts 조회
-
/etc/resolv.conf 조회
IP 주소를 획득하는 결과는 아래의 경우의 수가 있다.
-
nameserver 설정 없음 - IP획득 불가
-
nameserver 설정 존재
-
응답없음 - IP 획득 불가
-
응답 - IP 획득
도메인 이름 체계
-
ROOT 도메인부터 역순으로 나열된다. 자기 바로 밑에 있는 도메인만 관리하면 된다.
-
ROOT 밑에 com, net, org, kr .. 등을 관리.
-
com, net, org 등 밑에는 각 사이트의 도메인을 관리.
-
nate, naver 등 각 사이트는 자기에 속한 www, mail, ftp 등을 관리한다. (마스터 네임서버)
로컬 네임서버가 작동하는 순서
PC에서는 로컬 네임서버에만 질의를 한다. 로컬 네임서버는 외부 네임서버에 질의해서 IP를 얻거나, 이미 질의한 적이 있어서 캐시에 저장된 IP는 바로 응답한다.
-
로컬 네임서버는 ROOT부터시작 root는 com, net 등을 응답해주고,
-
받은 com, net 등으로 해당 네임서버에 질의,
-
마스터 네임서버 nate, naver 등에게 상세 IP주소를 받게된다.
캐싱 전용 네임 서버
클라이언트의 도메인 질의에 응답하는 서버
-
dnf -y install bind bind-chroot 명령어로 네임 서버 패키지를 설치
-
vi /etc/name.conf 로 필요한 부분을 수정(p499 참고)
-
systemctl restart named, systemctl enable named 로 네임서버 재시작 및 영구화
-
firewall-config 에서 dns를 활성화하고 firewall 재시작
-
firewall-cmd --permanent --add-service=dns
-
dig @네임서버IP 검색할URL 이나, nslookup 명령어를 통해 동작 상태를 확인한다.
-
클라이언트에서는
-
Linux는 vi /etc/resolv.conf 로 ServerIP를 변경해준다. (관리자 권한이 없으면 su -c 'vi /etc/resolv.conf')
-
Windows는 네트워크 - 이더넷 - TCP/IPv4 속성에서 DNS를 지정해준다. (or Powershell 관리에서 명령어로 지정)
마스터 네임 서버
도메인에 속해있는 컴퓨터들의 이름을 관리하고, 외부에서 IP질의에 답하는 서버
마스터 네임 서버가 www, ftp, mail 등 같은 도메인에 속해있는 컴퓨터들을 관리하고, IP요청시 해당 컴퓨터의 IP 주소를 보낸다.
ex) john.com 도메인에 대한 설정.
-
마스터 네임 서버에 /etc/named.conf 에 내용을 추가한다.
-
zone "john.com" IN {
-
type master;
-
file "john.com.db";
-
allow-update{ none; };
-
};
-
named-checkconf로 named.conf 에 입력한 내용에 문법 상 오류가 없는지 확인한다.
-
/var/named/ 디렉토리에 john.com.db 파일을 생성하고 아래 내용을 입력한다.
-
$TTL 3H //Time to Live, 3H동안 캐시에 저장
-
@ SOA @ root. ( 2 1D 1H 1W 1H ) //Start Of Authority 파라미터는 각각
-
IN NS @ //Name Server
-
IN A 192.168.111.100 //master IP
-
www IN A 192.168.111.100 //www 서버 (http)
-
ftp IN A 192.168.111.200 //ftp 서버
-
Client에서는 /etc/resolv.conf에 server를 192.168.111.100(마스터 네임 서버)로 지정한다.
라운드 로빈
웹 서버에 요청이 많을 때 여러 대의 웹 서버를 운영해 웹 클라이언트가 서비스를 요청할 경우 교대로 서비스를 실시하도록 하는 방식
-
/var/named/john.com.db 를 수정해준다.
-
$TTL 3H //Time to Live, 3H동안 캐시에 저장
-
@ SOA @ root. ( 2 1D 1H 1W 1H ) //Start Of Authority 파라미터는 각각
-
IN NS @ //Name Server
-
IN A 192.168.111.100 //master IP
-
ftp IN A 192.168.111.200 //ftp 서버
-
www IN CNAME webserver.john.com.
-
webserver 100 IN A 119.205.194.11
-
200 IN A 120.50.132.112
-
300 IN A 218.38.58.195
-
systemctl restart named 로 네임 서버를 재가동한다.
-
nslookup 으로 www.john.com 을 확인해보면 입력해놓은 3가지 IP를 확인할 수 있다.
-
클라이언트에서 웹 브라우저 등으로 접속해보면 위에 저장한 3가지 IP가 돌아가면서 접속된다.
'Linux > Centos8' 카테고리의 다른 글
데이터베이스 서버 (0) | 2020.11.13 |
---|---|
메일 서버 (0) | 2020.11.13 |
텔넷, OpenSSH, XRDP 서버 (0) | 2020.11.12 |
하드디스크 관리와 레이드 구성 (0) | 2020.11.12 |
X윈도 기본 툴과 사용법 (0) | 2020.11.12 |