인턴
VM 환경에서 DNS 서버 구축(ubuntu)
AhnCloud
2024. 4. 6. 15:04
728x90
1. DNS 서버 구축을 위한 사전 준비
- Hypervisor : ESXi 6.7.0
- OS : Ubuntu server 20.04
가. DNS 서버 관련 패키지 설치
1) apt 업데이트
sudo apt update

2) bind9 패키지 설치
sudo apt install bind9

3) resolvconf 패키지 설치
sudo apt install resolvconf

나. 방화벽 설정
1) 포트 개방 및 적용
-
- DNS 조회를 위해서 53번 포트가 필요
sudo ufw allow 53

- 53번 포트 개방
sudo ufw enable

- 방화벽 활성화
sudo ufw reload

- 방화벽 재시작
2. 네임서버 등록
가. resolv.conf 파일 수정
1) /etc/resolv.conf 파일 설정
sudo vi /etc/resolv.conf

- /etc/resolv.conf 파일로 이동

- nameserver 편집
나. resolv.conf 동기화를 위한 resolv.conf.d/head 파일 수정
1) /etc/resolvconf/resolv.conf.d/head 파일 설정
sudo vi /etc/resolvconf/resolv.conf.d/head

- /etc/resolvconf/resolv.conf.d/head 파일로 이동

- nameserver 편집
3. bind9를 이용해서 DNS 서버 만들기
가. zone 파일 생성
1) /etc/bind/db.(생성할 도메인 이름).com.zone 파일 설정
sudo vi /etc/bind/db.(생성할 도메인 이름).com.zone

- /etc/bind/db.(생성할 도메인 이름).com.zone 파일로 이동
$TTL 604800
@ IN SOA (생성할 도메인 이름).com. root.(생성할 도메인 이름).com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS (생성할 도메인 이름).com.
@ IN A (자신의 서버 IP주소)
작성 예시)
$TTL 604800
@ IN SOA go-domain.com. root.go-domain.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS go-domain.com.
@ IN A 127.0.0.1
pri IN A 192.168.23.132
sec IN A 192.168.23.133
ter IN A 192.168.23.134

- zone 파일 편집
나. zone 파일 등록
1) /etc/bind/named.conf.default-zones 파일 설정
sudo vi /etc/bind/named.conf.default-zones

- /etc/bind/named.conf.default-zones 파일로 이동
zone "(생성할 도메인 이름).com" {
type master;
file "/etc/bind/db.(생성할 도메인 이름).com.zone";
};

- 레코드 추가
다. Options 파일 설정
1) /etc/bind/named.conf.options 파일 설정
sudo vi /etc/bind/named.conf.options

- /etc/bind/named.conf.options 파일로 이동

- 편집
라. bind9 재시작
1) 아래의 명령어를 입력해서 bind9 재시작
sudo systemctl restart bind9

4. DNS 서버 테스트
가. nslookup 명령어를 사용하여 테스트
1) 아래의 명령어를 입력해서 도메인 테스트
nslookup (생성한 도메인).com

나. apache를 이용하여 웹 도메인 테스트
1) 아파치 설치 및 설정
sudo apt install apache2

- 아파치 설치
sudo systemctl start apache2

- 아파치 시작
sudo systemctl enable apache2

- 아파치 활성화
sudo ufw allow 80

- 80번 포트 개방
sudo ufw reload

- 방화벽 재시작
6) 자신의 로컬컴퓨터를 구축한 DNS서버 IP로 설정

7) 웹브라우저에서 자신이 설정한 도메인 입력
