본문 바로가기

Linux Server

DNS 서버 구축

1. 개 요

VirtualBox에서 CentOS 7을 사용하여 DNS 서버 구축 및 설정한다.

VirtualBox에서 NAT 네트워크로 서버와 윈도우를 연결하여 윈도우 환경에서 dns를 확인한다.

OS IP
CentOS 7 10.0.2.15
Windows 10 192.168.35.24

2. DNS 구축 

① DNS 설치

[root@localhost ~]# yum -y install bind bind-chroot bind-utils

② /etc/named.conf 설정 및 확인

[root@localhost ~]# nano /etc/named.conf

line 11 : listen-on port 53 { 127.0.0.1; }; -> listen-on port 53 { any; }; 
line 12 : listen-on-v6 port 53 { ::1; }; -> listen-on port 53 { none; }; 
line 17 ; allow-query { localhost; }; -> allow-query { any; };

③ 존 생성 (/etc/named.rfc1912.zones 설정) 및 제대로 설정됐는지 확인

[root@localhost ~]# nano /etc/named.rfc1912.zones

localhost 존 내용을 복사하여 위의 그림의 체크한 부분만 수정한 후 저장한다.

[root@localhost ~]# named-checkconf

위의 명령어는 수정한 내용이 문법상 틀리지 않는지 확인한다. 아무런 메시지가 뜨지 않으면 잘 수정한 것이다.

④ 존 파일 수정 (/etc/named/cha.kr.zone 수정)

cd /var/named
[root@localhost named]# cp named.localhost char.kr.zone
[root@localhost named]# nano cha.kr.zone

위의 그림과 같이 zone 파일을 수정한 후 저장한다. 이때 IP는 DNS 서버 설정하려는 IP로 한다.

⑤ cha.kr.zone 파일 소유권 변경 및 설정 확인

chown root.named cha.kr.zone
[root@localhost named]# named-checkzone cha.kr cha.kr.zone

cha.kr.zone 파일을 root.named로 소유권을 변환시킨 후 문법상 틀리지 않았는지 확인한다. 이때도 마찬가지로 아무런 메시지가 뜨지 않으면 제대로 수정한 것이다.

⑥ nameserver 변경 (/etc/resolv.conf 수정)

[root@localhost named]# nano /etc/resolv.conf

etc/resolv.conf 파일 내용을 "nameserver 10.0.2.15" 로 수정한다. 이때 IP는 DNS 서버 설정을 하려는 서버의 IP로 한다.

⑦  dns 서버 재시작

systemctl restart named
[root@localhost named]# systemctl enable named

⑧ 서버에서 dns 확인 (nslookup 사용)

[root@localhost named]# nslookup cha.kr

위의 같은 결과 화면을 볼 수 있다.

3. 윈도우 환경에서 DNS 확인

① 윈도우 환경에서 DNS 서버 주소 변경

윈도우 환경에서 DNS 서버 주소를 설정해야한다. DNS 포트인 53번 포트를 윈도우에서 서버를 포트포워딩을 했으므로 윈도우 IP인 "192.168.35.24"로 설정한다.

② 윈도우 환경에서 dns 확인(nslookup 사용)

C:\User\homepc11> ipconfig /flushdns
C:\User\homepc11> nslookup cha.kr

윈도우에서 CMD 창을 열어 dns 캐시를 삭제한다. 그 후 nslookup으로 dns 정보를 확인한다.

 

 

* 윈도우 환경에서 아래의 그림처럼 dns가 뜨지 않을 경우, 고려해야할 사항

① 포트포워딩을 해줬는가?

NAT 네트워크 환경에서는 서버와 윈도우를 연결하기 위해서는 포트포워딩을 해야한다.


② 포트포워딩을 할 때, 프로토콜 tcp, udp 고려해줬는가?

포트포워딩을 할 때, 프로토콜이 TCP인지 UDP인지도 고려해야한다. 현 상황에서는 UDP 프로토콜을 사용해야하므로, 다음과 같이 포트포워딩을 해준다.

③ 서버에서 방화벽을 내려줬는가?

[root@localhost named]# systemctl stop firewalld

'Linux Server' 카테고리의 다른 글

root 파일시스템 용량 100% 인 경우  (1) 2020.07.08
VirtualBox 가상 하드디스크 용량 늘리기  (0) 2020.03.12
웹서버(APM) 구축  (0) 2019.11.17