0 투표
ubuntu(우분투) 서버에서 dns 서버 구축하는 방법 알려주세요.

1 답변

0 투표

아래는 바로 답변란에 붙여넣기 좋게 정리한 내용이야. (출처 링크 없음, 강조기호 없음)

답변내용:
Ubuntu 14.04에서 DNS 서버를 구축하는 가장 일반적인 방법은 BIND9를 설치해 권한 DNS(Authoritative DNS)로 운영하는 방식입니다. 기본 흐름은 “패키지 설치 → 옵션 설정 → 존(Zone) 파일 작성 → 서비스 재시작/검증 → 방화벽/포트 확인” 순서입니다.

1) BIND9 설치
sudo apt-get update
sudo apt-get install bind9 bind9utils dnsutils

2) 기본 옵션 설정(선택)
설정 파일은 /etc/bind/ 아래에 있습니다.
캐시/재귀(내부용)까지 같이 할 경우 외부에서 접근 못하게 제한하는 것이 안전합니다.
sudo nano /etc/bind/named.conf.options

예시(내부망에서만 재귀 허용, 그 외 차단):
options {
    directory "/var/cache/bind";

    recursion yes;
    allow-recursion { 127.0.0.1; 192.168.0.0/16; };
    allow-query { any; };

    listen-on { any; };
    listen-on-v6 { any; };

    dnssec-validation auto;
};

권한 DNS만 운영할 목적이면 recursion을 no로 두고, allow-query만 조정해도 됩니다.

3) 정방향 존(도메인 -> IP) 등록
sudo nano /etc/bind/named.conf.local

예시:
zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
};

4) 존 파일 작성
기본 템플릿을 복사해서 수정하는 방식이 편합니다.
sudo cp /etc/bind/db.local /etc/bind/db.example.com
sudo nano /etc/bind/db.example.com

예시(필수 항목만):
$TTL    86400
@   IN  SOA ns1.example.com. admin.example.com. (
        2026010101 ; Serial (수정할 때마다 증가)
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400 )    ; Negative Cache TTL
;
@       IN  NS      ns1.example.com.
ns1     IN  A       192.168.0.10
@       IN  A       192.168.0.10
www     IN  A       192.168.0.10

5) 역방향 존(IP -> 도메인) 등록(선택)
sudo nano /etc/bind/named.conf.local

예시(192.168.0.0/24 대역):
zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192.168.0";
};

sudo cp /etc/bind/db.127 /etc/bind/db.192.168.0
sudo nano /etc/bind/db.192.168.0

예시:
$TTL    86400
@   IN  SOA ns1.example.com. admin.example.com. (
        2026010101
        3600
        1800
        604800
        86400 )
;
@       IN  NS      ns1.example.com.
10      IN  PTR     ns1.example.com.
10      IN  PTR     example.com.

6) 설정 검사 후 재시작
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/db.example.com
sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/db.192.168.0

sudo service bind9 restart
sudo service bind9 status

7) 동작 확인
로컬에서:
dig @127.0.0.1 example.com
dig @127.0.0.1 www.example.com
dig @127.0.0.1 -x 192.168.0.10

원격에서:
dig @DNS서버IP example.com

8) 포트/방화벽 확인
DNS는 UDP 53, TCP 53을 사용합니다. 외부/내부에서 접근이 필요하면 53 포트가 열려 있어야 합니다.

정리하면, Ubuntu 14.04에서는 BIND9로 존을 정의하고 A/NS/PTR 레코드를 작성한 뒤 named-check로 검증하고 재시작하면 DNS 서버가 구성됩니다. 존 파일을 수정할 때는 Serial 값을 올린 뒤 재시작(또는 reload)하는 것이 중요합니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
...