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년의 커리어가 달라져요.

이직·퇴사, 지금 움직여도 될지 헷갈리시나요?

막연히 불안한 건지, 정말 시점이 온 건지 판단이 어려울 때가 있습니다.

5분 체크리스트로 지금 상태를 먼저 정리해보세요.
결론을 대신 내리기보다, 스스로 판단할 기준을 잡는 데 도움을 드립니다.

무료 체크리스트 보기

아직 확신이 없다면, 지금이 ‘고민 단계’인지부터 먼저 점검해보세요