우분투 DNS 서버 설치

2024. 1. 11. 22:08Network

https://velog.io/@gweowe/bind9-%EC%9E%90%EC%B2%B4-DNSDomain-Name-System-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-Ubuntu

 

[bind9] 자체 DNS(Domain Name System) 구축하기 (Ubuntu)

회사에서 일을 하거나 개인 작업을 하다보면 Domain을 사용하여 테스트를 할 일이 자주 생기기 마련입니다. 이럴 때 DNS 서버가 있다면 정말 유용하게 사용할 수 있기에, DNS 서버를 구축하는 방법

velog.io

  • 설치
# 필요한 패키지 설치
sudo apt install bind9
sudo apt install resolvconf

# 네임서버 확인
cat /etc/resolv.conf
--------------------------
nameserver 127.0.0.53
--------------------------

# 만약 nameserver 127.0.0.53이 주석처리되어 있으면,
sudo systemctl start resolvconf
sudo systemctl enable resolvconf
sudo systemctl status resolvconf

# 자기 자신 네임서버로 등록
vi /etc/resolvconf/resolv.conf.d/head
--------------------------
nameserver 127.0.0.1
--------------------------

# 재부팅후, 네임서버 확인
sudo reboot
cat /etc/resolv.conf
--------------------------
nameserver 127.0.0.1
nameserver 127.0.0.53
--------------------------

sudo reboot

  • 도메인 추가
# zone 파일 생성
# 생성하려는 도메인: text.com
cd /etc/bind
sudo cp db.local db.test.com.zone
sudo vi db.test.com.zone
----------------------------
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.test.com.
@       IN      A       127.0.0.1
temp    IN      A       192.168.0.7
ns1     IN      A       192.168.0.8
----------------------------

# zone 파일 등록
# 파일 제일 아래에 등록
sudo vi named.conf.default-zones
--------------------------
zone "test.com" {
        type master;
        file "/etc/bind/db.test.com.zone";
};
--------------------------

# 옵션 파일 설정
sudo vi named.conf.options
---------------------------
         forwarders {
                8.8.8.8;
                8.8.4.4;
         };
---------------------------

# bind9 재기동
sudo systemctl restart bind9
sudo systemctl status bind9

# 테스트
nslookup test.com
nslookup temp.test.com
  • DNS 기동시 에러 확인
# 시스템 로그 모니터링 설정
journalctl -f
# 또는
sudo tail -f /var/log/syslog

# dns 기동
# 기동후에 시스템 로그 모니터링을 확인해서 조치해야 함
sudo vi systemctl restart named
  • Master/Slave 구성

https://nirsa.tistory.com/128

 

[DNS] Master & Slave 개념 및 구축 방법

DNS Master & Salve 개념 사실 사용하는대에 있어서 깊은 이해를 필요하는 부분이 아니기 때문에 단순히 Master와 Slave는 주-보조 관계이며 DNS 서버를 이중화 시킨다고만 알고 계셔도 됩니다. (Slave를 여

nirsa.tistory.com

# master에 slave 추가
sudo vi /etc/bind/named.conf.default-zones
------------------------------------
zone "test.com" {
        type master;
        file "/etc/bind/db.test.com.zone";
        allow-update { Slave 서버 IP; };
};
------------------------------------

# zone 파일 수정
sudo vi /etc/bind/db.test.com.zone
----------------------------
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
                NS      ns1.test.com.
                NS      ns2.test.com.
@       IN      A       Master DNS IP
ns1     IN      A       Master DNS IP
ns2     IN      A       Slave  DNS IP
temp    IN      A       192.168.0.7
----------------------------

# Master 서비스 재시작
sudo systemctl restart named

# slave에 master 등록
sudo vi /etc/bind/named.conf.default-zones
------------------------------------
zone "test.com" {
        type slave;
        file "/etc/bind/db.test.com.zone"; # 이 부분 잘 모르겠음
        allow-update { Master 서버 IP; };
};
------------------------------------

# Slave 서비스 재시작
sudo systemctl restart named

Slave DNS를 재시작후, 서버의 파일을 가져오는 부분이 있을텐데, 해당 파일을 찾지 못함
Master DNS에 도메인 정보 변경후에, Master 재기동후, Slave 재기동해야 모두 적용됨

'Network' 카테고리의 다른 글

DNS 쿼리 횟수 모니터링  (0) 2024.02.25
DNS 로깅 처리  (1) 2024.02.25
도메인을 못찾는 문제 발생시  (0) 2023.12.31
tcpdump 사용법  (1) 2023.06.06
ubuntu 고정 IP 설정  (0) 2023.04.29