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
# cd /usr/local/src
# 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
# ./configure
# 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[“kwj123.shop.”] = “db.kwj123.shop” # 등록할 도메인과 zone 파일 이름 ipv4_bind_addresses = “10.8.2.148” # Binding 할 IP 주소 (ifconfig 로 확인되는 IP) chroot_dir = “/etc/maradns” |
* 외부 질의를 허용하려면 Binding 주소를 공인 IP 로 변경해야 합니다.
VM 의 경우 ifconfig 명령으로 공인 IP 가 보이지 않는 경우에는 (공인과 연결된) 사설 IP 로 입력해 보시기 바랍니다.
도메인 zone 파일을 생성합니다.
# vi /etc/maradns/db.sysdocu.kr
kwj123.shop. +86400 soa ns1.kwj123.shop. dns@kwj123.shop. 2023121701 86400 3600 604800 10800 ~ kwj123.shop. +86400 ns ns1.kwj123.shop. ~ kwj123.shop. +86400 ns ns2.kwj123.shop. ~ kwj123.shop. +86400 mx 10 mail.kwj123.shop. ~ mail.kwj123.shop. +86400 a 49.247.170.71 ~ ns1.kwj123.shop. +86400 a 49.247.170.71 ~ ns2.kwj123.shop. +86400 a 49.247.170.71 ~ kwj123.shop. +86400 a 49.247.170.71 ~ www.kwj123.shop. +86400 a 49.247.170.71 ~ |
적용을 위해 데몬을 재시작 합니다.
# systemctl restart maradns