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 |