리눅스 bind
IT위키
더 많은 작업
- BIND; Berkeley Internet Name Domain
- 리눅스·유닉스에서 가장 널리 쓰는 DNS 서버 프로그램. 패키지(프로그램) 이름은 bind, 실제로 실행되는 데몬 이름은 named 다
- 데몬 : named (name daemon)
- 메인 설정 파일 : /etc/named.conf
- 영역(zone) 파일 디렉터리 : /var/named (named.conf 의 directory 로 정한다) → 리눅스 zone 파일
- 포트 : 53 (UDP 질의, TCP 는 큰 응답과 영역 전송)
1980년대 초 UC 버클리에서 만들었고 지금은 ISC(Internet Systems Consortium)가 관리한다. 권한 있는 네임 서버와 재귀 질의를 처리하는 캐시 네임 서버 역할을 모두 할 수 있다.
| 구분 | 이름 | 예 |
|---|---|---|
| 설치하는 패키지(프로그램) | bind | dnf install bind bind-utils
|
| 실행되는 데몬(서비스) | named | grep named |
| 설정 파일 | named.conf | /etc/named.conf, /etc/named.rfc1912.zones |
- "DNS 서버를 운영하려면 bind 라는 프로그램을 설치하고 named 라는 데몬을 실행한다." 둘을 바꿔 쓰면 틀린다. named 라는 패키지나 bind 라는 데몬은 없다
- bind-utils 패키지에는 서버가 아니라 질의 도구(dig, nslookup, host)가 들어 있다
- 데비안·우분투는 패키지 이름이 bind9 이고 서비스 이름도 bind9(실제 실행 파일은 named)이다
# dnf install bind bind-utils # systemctl enable --now named # systemctl status named
| 도구 | 하는 일 |
|---|---|
| named-checkconf | named.conf 문법 검사 |
| named-checkzone | 영역 파일 문법 검사. named-checkzone ihd.or.kr /var/named/ihd.zone
|
| rndc | 실행 중인 named 를 제어한다. rndc reload 로 설정을 다시 읽는다
|
| dig, nslookup, host | 질의를 보내 응답을 확인한다 |
- 영역 전송은 보조 네임 서버에만 허용한다(allow-transfer) → DNS Zone Transfer
- 외부에 재귀 질의를 열어 두지 않는다(recursion, allow-recursion). 열린 재귀 서버는 DNS 증폭 공격에 쓰인다
- version 지시자로 버전 문자열을 숨긴다
- named 는 root 가 아니라 named 계정으로 실행되고, chroot(bind-chroot 패키지)로 가둘 수 있다