Ubuntu 22.04 에서 MaraDNS 3.5.0036 설치하기
Ubuntu 22.04 에서 MaraDNS 설치하는 방법입니다.
apt 와 같은 패키지 관리 툴로 손쉽게 설치가 가능한 부분이 있지만,
# apt -y update
# apt -y install maradns
여기에서는 소스로 설치하고 관리하는 방법을 알려드립니다.
우선 MaraDNS 의 특징은 용량이 작고, 가볍고 (메모리 점유율이 낮음), 빠른 (Performance) 장점이 있습니다.
PowerDNS 는 DB 와 연동을하여 레코드로 zone 파일 내용을 관리하지만, MaraDNS 는 Bind 와 같이 파일로 레코드를 관리합니다.
1. 설치
소스를 설치하기 위해 gcc 컴파일러를 우선 설치 합니다.
# apt -y install gcc
그리고 현재 기준 MaraDNS 3.5.0036 버전을 다운로드하고 압축을 풀어 설치합니다.
- Download : https://maradns.samiam.org/download.html
# wget https://maradns.samiam.org/download/3.5/3.5.0036/maradns-3.5.0036.tar.xz
# tar xvf maradns-3.5.0036.tar.xz
# cd maradns-3.5.0036
# CC=cc
# export CC
# make
# make install
설치가 모두 마무리되면 출력된 내용과 같이 데몬을 실행해줍니다.
# systemctl start maradns
# systemctl start deadwood // 필수 구동은 아니므로, 아래 설명 확인 후 구동 여부를 선택해주세요.
netstat 명령으로 포트가 확인되면 좋은데, MaraDNS 는 UDP 통신을 하므로, netstat 명령으로 포트가 확인되지 않아 프로세스 상태로 체크해봐야 합니다.
# systemctl status maradns
2. 설정
MaraDNS 는 역할에 따라 설정 파일이 두개로 나뉩니다.
1) /etc/mararc (관련 데몬 : maradns)
이 파일은 DNS 서버를 실행하는 데 사용되며, DNS 질의 및 응답 동작을 제어하는 다양한 설정을 포함합니다. 주요한 설정 사항은 zone 파일의 경로, Listen 주소, 캐싱 및 안전성 관련 설정 등이 있습니다.
2) /etc/dwood3rc (관련 데몬 : deadwood)
이 파일은 특정 환경에서의 DNS 서버 동작을 제어하는데 사용됩니다. DNS 캐시 설정, 불필요한 DNS 쿼리에 대한 차단, 차단된 도메인 목록 관리 등과 같은 설정을 포함할 수 있습니다. DNS 의 보안과 효율성을 향상시키는데 사용됩니다.
여기에서는 기본 설정만 다루겠습니다.
# vi /etc/mararc
csv2 = {} csv2["sysdocu.kr."] = "db.sysdocu.kr" # 등록할 도메인과 zone 파일 이름 ipv4_bind_addresses = "115.68.249.135" # Binding 할 IP 주소 (ifconfig 로 확인되는 IP) chroot_dir = "/etc/maradns" |
* 외부 질의를 허용하려면 Binding 주소를 공인 IP 로 변경해야 합니다.
VM 의 경우 ifconfig 명령으로 공인 IP 가 보이지 않는 경우에는 (공인과 연결된) 사설 IP 로 입력해 보시기 바랍니다.
도메인 zone 파일을 생성합니다.
# vi /etc/maradns/db.sysdocu.kr
sysdocu.kr. +86400 soa ns1.sysdocu.kr. dns@sysdocu.kr. 2023121701 86400 3600 604800 10800 ~ sysdocu.kr. +86400 ns ns1.sysdocu.kr. ~ sysdocu.kr. +86400 ns ns2.sysdocu.kr. ~ sysdocu.kr. +86400 mx 10 mail.sysdocu.kr. ~ mail.sysdocu.kr. +86400 a 115.68.249.232 ~ ns1.sysdocu.kr. +86400 a 115.68.249.232 ~ ns2.sysdocu.kr. +86400 a 115.68.249.232 ~ sysdocu.kr. +86400 a 115.68.249.232 ~ www.sysdocu.kr. +86400 a 115.68.249.232 ~ |
적용을 위해 데몬을 재시작 합니다.
# systemctl restart maradns
3. 테스트
로컬 또는 외부에서 질의 테스트를 해봅니다.
# nslookup sysdocu.kr 115.68.249.135
Server: 115.68.249.135
Address: 115.68.249.135#53
Name: sysdocu.kr
Address: 115.68.249.232
'리눅스 > DNS' 카테고리의 다른 글
Ubuntu 22.04 에서 NSD 4.8.0 설치하기 (0) | 2023.12.19 |
---|---|
PDNS (PowerDNS) 4.2 시스템 로그 및 쿼리 로그 설정 (0) | 2023.03.30 |
네임서버 DNS 퍼포먼스 테스트 (dnsperf) (0) | 2023.03.28 |
[TIP] Docker 룰이 포함된 iptables 룰 저장 및 복구 (0) | 2022.12.22 |
bind 9 설치 (Ubuntu 19.04) (0) | 2019.10.29 |