Ubuntu에 패키지로 BIND9 설치하기

BIND9 소개와 설치 목적

Ubuntu에 패키지로 BIND9 설치하기

BIND(Berkeley Internet Name Domain, bind9)는 유닉스/리눅스 계열에서 폭넓게 사용되는 고신뢰 DNS 서버입니다.

MPL 2.0 라이선스의 오픈소스이며, 공용 DNS 정보를 게시하거나 내부 네트워크의 이름 해석을 처리할 수 있습니다.

사내/개인 환경에서 내부 호스트명 ↔ 개인 IP를 중앙집중적으로 관리하면, 시스템이 여러 대로 확장될수록 운영과 설정 유지보수가 크게 수월해집니다. 또한 IP 대신 FQDN을 일관되게 사용하면 애플리케이션/서비스 설정 가독성과 변경 용이성이 향상됩니다.


준비사항(Prerequisites & Test Setup)

본 가이드는 Ubuntu 환경에서 apt를 이용해 BIND9를 설치·검증·운영·제거하는 절차를 설명합니다. 예시 테스트 환경은 VMware® Workstation 15 Pro 상의 Ubuntu 18.04.4 LTS(64-bit)BIND 9.11.3를 사용합니다.


요약(SUMMARY)

  • 설치: apt install bind9 bind9utils bind9-doc로 패키지 설치
  • 검증: named -V 명령으로 BIND9 빌드/라이브러리 정보를 확인
  • 운영: systemctl로 시작/중지/재시작/상태/활성화 등 서비스 관리
  • 제거(선택): apt remove 또는 apt purge (+ --auto-remove)로 정리

1. apt로 BIND9 설치

패키지 색인을 최신화한 다음 BIND9 본체와 유틸리티/문서를 함께 설치합니다.

$ sudo apt update && sudo apt install bind9 bind9utils bind9-doc -y

LTS 별 기본 리포지터리의 BIND9 버전이 오래된 경우, 보안 업데이트 리포지터리나 배포판 제공 Backport를 검토하세요.


2. 설치 검증(named -V)

named -V는 빌드 옵션과 연동 라이브러리 버전을 보여줍니다. 환경에 따라 값은 다를 수 있으며 아래는 예시입니다.

$ named -V
BIND 9.11.3-1ubuntu1.11-Ubuntu (Extended Support Version)
running on Linux x86_64 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020
built by make with '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=/usr/lib/x86_64-linux-gnu' '--libexecdir=/usr/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--libdir=/usr/lib/x86_64-linux-gnu' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-libjson=/usr' '--without-lmdb' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib/softhsm/libsofthsm2.so' '--with-randomdev=/dev/urandom' '--with-eddsa=no' 'build_alias=x86_64-linux-gnu''CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-uW3Pyl/bind9-9.11.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
compiled by GCC 7.4.0
compiled with OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
linked to OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904
compiled with libjson-c version: 0.12.1
linked to libjson-c version: 0.12.1
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
threads support is enabled

출력에 BIND 버전, OpenSSL/라이브러리 연동 버전, 스레드 지원 여부 등이 나타나면 설치가 정상입니다.

Ubuntu에 패키지로 BIND9 설치하기

3. systemctl로 서비스 운영

BIND9는 bind9.service 유닛으로 관리됩니다. 변경사항 반영, 기동/중단, 재시작, 설정 재적용, 상태 조회, 부팅 자동 시작, 비활성화, 강제 종료 등 주요 작업 예시는 다음과 같습니다.

3.1 데몬 재로딩

## 설정 반영
$ sudo systemctl daemon-reload

3.2 시작/중지/재시작/재적용

## 시작
$ sudo systemctl start bind9.service

## 중지
$ sudo systemctl stop bind9.service

## 재시작
$ sudo systemctl restart bind9.service

## 설정 재적용
$ sudo systemctl reload bind9.service

reload는 설정 파일이 변경되었을 때 무중단 반영을 시도합니다(일부 변경은 restart 필요).

3.3 상태·부팅 자동 시작·비활성화·강제 종료

## 상태 조회
$ sudo systemctl status bind9.service

## 부팅 시 자동 시작
$ sudo systemctl enable bind9.service

## 부팅 자동 시작 해제
$ sudo systemctl disable bind9.service

## 관련 프로세스 강제 종료
$ sudo systemctl kill bind9.service

4. (선택) apt로 BIND9 제거

불필요해진 경우 remove 또는 purge로 정리할 수 있습니다. --auto-remove를 함께 쓰면 사용되지 않는 의존 패키지도 함께 제거됩니다.

4.1 apt remove

## 설정 파일은 유지
$ sudo apt remove bind9*
$ sudo apt remove --auto-remove bind9*

4.2 apt purge

## 설정 파일까지 삭제
$ sudo apt purge bind9*
$ sudo apt purge --auto-remove bind9*

일부 사용자 홈 디렉터리 하위 설정은 남을 수 있습니다. 완전 초기화를 원한다면 수동 정리가 필요할 수 있습니다.


마무리(CONCLUSION)

Ubuntu에 패키지로 BIND9 설치하기

Ubuntu에서 BIND9를 패키지로 설치하고, named -V로 설치 상태를 검증하며, systemctl로 서비스를 운영·관리하는 방법을 살펴봤습니다.

이어서 네임서버를 실제로 동작시키려면 존 구성(정방향/역방향)과 보안/가용성 설정(DNSSEC, 로깅, ACL 등)을 추가하세요.

상세한 설정법은 Ubuntu에서 BIND9(DNS) 설정하기 를 참고해 주세요.


참고(REFERENCES)


취업, 이직, 퇴사, 커리어 고민으로 힘든가요?

Notices를 확인하고 상담 서비스를 받으세요.

1분만 투자하세요.
1분으로 1년을 아끼고, 10년의 커리어가 달라져요.