NSD(Network Security Daemon)
NSD(Network Security Daemon)는 DNS 서비스를 제공하는 고성능의 오픈 소스 권한 DNS 서버입니다.
인터넷 시스템 컨소시엄(ISC)에서 개발한 BIND와는 달리, 오직 권한 DNS 서버로만 동작하도록 설계되었습니다.
이러한 경량화된 설계 덕분에 대규모의 DNS 쿼리를 처리하는 데 최적화되어 있으며, 보안과 성능이 중요한 환경에서 널리 사용되고 있습니다.
이번 글에서는 NSD를 소스로 설치하고 도메인을 등록해 질의 테스트하는 부분까지 테스트 하겠습니다.
cf. NSD 패키지 설치
apt -y update apt -y install nsd
<NSD 소스 설치>
NSD 컴파일에 필요한 필수 패키지를 설치
apt update apt install build-essential libssl-dev bison flex
소스 다운로드 및 압축 해제
– 공식 홈페이지 : https://nlnetlabs.nl/projects/nsd/about/
wget https://www.nlnetlabs.nl/downloads/nsd/nsd-<version>.tar.gz tar -xvzf nsd-<version>.tar.gz
디렉토리로 이동하여 설치
cd nsd-<version> ./configure make make install
설치가 완료되면 설치 버전을 확인
nsd -v
<NSD 설정>
기본 설정 파일을 생성
cp -arp /etc/nsd/nsd.conf.sample /etc/nsd/nsd.conf
다양한 옵션이 있으며 공식 Ducoment를 참고하여 확인할 수 있다.
https://nsd.docs.nlnetlabs.nl/en/latest/manpages/nsd.conf.html
vi /etc/nsd/nsd.conf
설정이 제대로 되었는지 명령어를 통해 확인한다. 아무런 결과가 나오지 않으면 정상이다.
nsd-checkconf /etc/nsd/nsd.conf
설정파일에 사용했던 key 파일과 pem 파일을 생성 후 확인
nsd-control-setup
zone 파일 생성 및 체크
vi smileservny.n-e.kr.zone nsd-checkzone smileservny.n-e.kr /etc/nsd/smileservny.n-e.kr.zone
이제 데몬을 구동하기 전에 53번 포트를 systemd-resolved 데몬이 사용하고 있을 경우 nsd 가 시작되지 않으므로 해당 데몬을 중지하고, 서버에서 외부 DNS를 사용하기 위해서 /etc/resolv.conf 파일 최상단에 nameserver 8.8.8.8 를 추가해 준다.
systemctl stop systemd-resolved vi /etc/resolv.conf
nsd 데몬을 구동하고 상태를 확인
nsd-control start nsd-control status
<테스트>
외부에서 도메인 질의해보기
완료!!