Presentation is loading. Please wait.

Presentation is loading. Please wait.

CentOS에서 네임서버 쉽게 운영하기 2008. 10. 26 김재연.

Similar presentations


Presentation on theme: "CentOS에서 네임서버 쉽게 운영하기 2008. 10. 26 김재연."— Presentation transcript:

1 CentOS에서 네임서버 쉽게 운영하기 김재연

2 목 차 DNS 소프트웨어 설치 기본 환경 설정 존 정보 설정 DNS 운영 보안 설정 동적 업데이트 DNS 관리 프로그램 굴림

3 DNS 소프트웨어 설치 (1)‏ 설치 환경 : CentOS 5.2
설치 프로그램 : ISC BIND ( 버전 : BIND P1 설치 방법 (yum 자동 설치 권장)‏ Bind 관련 모든 패키지 설치 # yum install –y bind-* # yum install –y bind bind-utils bind-chroot bind-libs bind-devel bind- libbind-devel bind-sdb

4 DNS 소프트웨어 설치 (2)‏ 기본으로 chroot 환경으로 설치됨 설정 파일은 수동으로 설정해야 함
“/var/named/chroot/” 디렉토리를 “/” 로 인식 chroot 상위 디렉토리에 대한 허가권을 가질 수 없음 설정 파일은 수동으로 설정해야 함 제공되는 샘플 설정 파일 사용 /usr/share/doc/bind-9.3.4/sample/

5 DNS 소프트웨어 설정 기본 경로 샘플 파일 경로 모든 샘플 파일을 기본 경로로 복사
환경 파일 : /var/named/chroot/etc/ 존 정보 파일 : /var/named/chroot/var/named/ 샘플 파일 경로 /usr/share/doc/bind-9.3.4/sample/etc/ /usr/share/doc/bind-9.3.4/sample/var/named 모든 샘플 파일을 기본 경로로 복사 cp -rf /usr/share/doc/bind-9.3.4/sample/etc/ /var/named/chroot/ cp -rf /usr/share/doc/bind-9.3.4/sample/var/named/ /var/named/chroot/var/

6 기본 환경 설정 (named.conf)‏ Options View (internal)‏ View (external)‏ Key

7 named.conf (1) – options 기본 설정 recursive-clients
DNS 질의 처리 가능 최대 클라이언트 설정 값 Cache DNS 설정 시 가용 메모리 용량에 따라 상향 조정 필요 기본값 : 1000, 클라이언트 당 20kb - 총 19.5Mb options { directory "/var/named“; // Zone 파일 기본 디렉토리 dump-file "data/cache_dump.db"; // Dump 파일 생성 경로 statistics-file "data/named_stats.txt"; // 통계 파일 생성 경로 memstatistics-file "data/named_mem_stats.txt"; // 메모리 사용 통계 recursive-clients 10000; };

8 named.conf (2) – logging 기본 로그 옵션 설정 logging { channel default_debug {
file "data/named.run"; severity dynamic; }; category default { default_syslog; default_debug; }; // 기본 설정 category unmatched { null; }; // 기본 설정 (로그를 남기지 않음)

9 named.conf (3) – view View 설정
Cache DNS 전용 서버는 localhost_resolver view만 설정 내부 네트워크 클라이언트 전용 internal과 외부 클라이언트 external 로 구분 가능 view "localhost_resolver" { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.root.hints"; // 루트 서버 정보 파일 include "/etc/named.rfc1912.zones"; // RFC1912 권장 localhost 존 정보 };

10 named.conf (4) – int. view 내부 네트워크 클라이언트 전용 View view "internal" {
match-clients { localnets; }; match-destinations { localnets; }; recursion yes; // 내부 네트워크 클라이언트 recursive 질의 허용 include "/etc/named.root.hints"; zone "cslab.kr" { type master; file “cslab.kr.internal.zone.db"; };

11 named.conf (5) – ext. view 외부 네트워크 클라이언트 전용 View view "external" {
match-clients { any; }; match-destinations { any; }; recursion no; // 외부 네트워크 클라이언트 recursive 질의 금지 include "/etc/named.root.hints"; zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; };

12 존 정보(internal) 설정 /etc/named/chroot/var/named/cslab.kr.internal.zone.db $TTL 86400 @ IN SOA ns1.cslab.kr domain.cslab.kr ( ; serial - 1 ~ 24,294,967,295(10자리) YYYYMMDDNN 3H ; refresh – Slave의 업데이트 여부 검사 간격 15M ; retry – Slave의 업데이트 여부 검사 실패 시 재시도 간격 1W ; expiry – Slave가 Master 서버 접속을 실패하면 존 정보 파기 1D ) ; neg. TTL - 존재하지 않는 호스트에 대한 존 정보 보관 기간 IN NS ns1.cslab.kr IN NS ns2.cslab.kr IN A www IN A mail IN A mysql IN A // 내부 네트워크 전용 oracle IN A // 내부 네트워크 전용

13 존 정보(external) 설정 /etc/named/chroot/var/named/cslab.kr.external.zone.db $TTL 86400 @ IN SOA ns1.cslab.kr domain.cslab.kr ( ; serial - 1 ~ 24,294,967,295(10자리) YYYYMMDDNN 3H ; refresh – Slave의 업데이트 여부 검사 간격 15M ; retry – Slave의 업데이트 여부 검사 실패 시 재시도 간격 1W ; expiry – Slave가 Master 서버 접속을 실패하면 존 정보 파기 1D ) ; neg. TTL - 존재하지 않는 호스트에 대한 존 정보 보관 기간 IN NS ns1.cslab.kr IN NS ns2.cslab.kr IN A www IN A mail IN A IN MX 10 mail.cslab.kr IN TXT “v=spf1 a mx ip4: ~all”

14 RNDC (Name Server Control Utility)
(1) 환경 파일 생성 (rndc-confgen 실행) /var/named/chroot/etc/rndc.conf 을 생성 후 내용 복사 # /usr/sbin/rndc-confgen key "rndckey" { algorithm hmac-md5; secret "xxxxxxxxxxxx"; }; options { default-key "rndckey"; default-server ; default-port 953;

15 RNDC (Name Server Control Utility)
(2) named.conf 파일에 rndc 설정 추가 key "rndckey" { algorithm hmac-md5; secret “xxxxxxxxxxxx "; }; controls { inet port 953 allow { ; } keys { "rndckey"; };

16 DNS 운영 명령어 (1) 설정 파일 이상유무 확인 # named-checkconf named.conf 서비스 시작
# service named start/ 서비스 재시작 # service named restart 설정 변경 사항 반영 # service named reload 서비스 종료 # service named stop

17 DNS 운영 명령어 (2) Bind 버전 확인 # named –v BIND 로그 모니터링
# tail -f /var/log/messages Tail –f

18 DNS 운영 명령어 (3) .kr 도메인 확인 # dig @g.dns.kr. cslab.kr any
.com/.net 도메인 확인 # cslab.net any .asia 도메인 확인 # relief.asia any

19 BIND 보안설정 TSIG (Transaction Signature)
TSIG는 shared secret key와 단방향 hash 함수를 이용해 DNS 응답/업데이트 메시지를 인증 TSIG 설정 시 DNS의 Additional Section에 TSIG 레코드가 추가됨

20 BIND 보안설정 (TSIG Key 생성) (1) dnssec-keygen 프로그램으로 키 생성 (2) 생성 파일 확인
-a hmac-md5 : 알고리즘 종류 -b 128 : 키 길이(128 bit) / 최대값 : 512 bits -n HOST : 키 종류 (2) 생성 파일 확인 아래 2개의 파일이 생성됨(숫자 157은 DNSSEC 알고리즘(HMAC-MD5) 번호/숫자 XXXXX 키의 지문) K{name} {random}.key # /usr/sbin/dnssec-keygen –a hmac-md5 –b 128 –n HOST cslab.kr. Kcslab.kr.+157+XXXXX.key Kcslab.kr.+157+XXXXX.private

21 BIND 보안설정 (TSIG 설정) named.conf 수정
key 부분은 별도로 /var/named/chroot/etc/dns.keys.conf 로 저장하여, named.conf 에 include 구문으로 삽입 권장 zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; // TSIG Key Based Access Control allow-update { key key.cslab.kr.; }; }; key "key.cslab.kr" { algorithm hmac-md5; secret "XXXXXXXXXXXXXXXXXXXX"; }; include "/etc/dns.keys.conf";

22 BIND 보안설정 (기타) BIND 버전 정보 숨기기 named.conf 설정 추가
rndc reload 후 dig 명령어로 확인 options { version "DNS"; }; # dig version.bind txt chaos

23 BIND 보안설정 (기타) allow-query : 존 쿼리 제한 allow-transfer : 존 전송 제한
allow-update : 존 업데이트 제한 zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; allow-query { ; /24; }; allow-transfer { ; /24; ; }; //allow-transfer { none; }; allow-update { ; /24; ; }; //allow-update { none; }; // TSIG Key Based Access Control //allow-update { key key.cslab.kr.; }; };

24 동적 업데이트 클라이언트에서 DNS 레코드 변경이 필요한 경우 DNS 서버에 동적으로 레코드 추가/삭제 기능 제공
동적 업데이트 발생 시 serial 번호를 증가시키고 슬레이브 DNS에 notify를 보냄 사용방법 (-d : 디버그 모드) # nsupdate –d update add dynamic.cslab.kr. 60 A show send TSIG 서명된 동적 업데이트 (XXXX : 키 문자열) # nsupdate -d -y key.cslab.kr.:XXXXXXXXXXXXXXXX

25 DNS 관리 프로그램 웹 기반 DNS 동적 업데이트 웹 페이지에서 쉽게 존 정보 수정 가능
데모 :

26 감사합니다. 참고 홈페이지 BIND 설치 설명서 및 설정 예제 파일 제공


Download ppt "CentOS에서 네임서버 쉽게 운영하기 2008. 10. 26 김재연."

Similar presentations


Ads by Google