DNS BIND 로그

7695 단어 dns
bind에서 우리는 로그 정보를 설정하여 나중에 서버에 대한 분석과 문제 추적을 할 수 있도록 할 수 있습니다.logging 문구는 도메인 이름 서버에 다양한 logging 옵션을 설정합니다.그의 채널 단어는 출력 방식, 형식 옵션, 분류 단계에 대응하며, 그 이름은category 단어와 함께 다양한 로그 정보를 정의할 수 있습니다.하나의 logging 문장만으로도 여러 개의 채널과category를 정의할 수 있습니다.logging 문장이 없으면 logging 설정은 다음과 같습니다. logging {category "unmatched"{"null";};category "default"{ "default_syslog"; "default_debug"; }; }; BIND9에서는 logging 구성이 전체 구성 파일을 읽은 후에만 실행됩니다.BIND8에서는 logging 섹션이 읽힌 후 실행됩니다.서버가 시작될 때, 설정 파일에서 문법 오류에 대한logging 정보를 기본 채널 (channel) 으로 이동하거나, '-g' 옵션을 사용하여 표준 오류로 지정하십시오.하나,logging 구문 정의logging {[channel channel name {(file path name [versions(number | unlimited)] [size size spec] | syslog syslog facility | stderr | null), [severity(critical | error | warning | notice info | debug [level] | dynamic)][ print-category yes or no; ]      [ print-severity yes or no; ]      [ print-time yes or no; ]    }; ]    [ category category_name {      channel_name ; [ channel_name ; ... ]    }; ]    ... }; 1. 채널의 모든 로그는 하나 이상의 채널로 출력됩니다.너는 네가 원하는 모든 통로를 정의할 수 있다.모든 채널의 정의는 선택한 채널에 대한 정보를 확인하기 위해 목적 문구를 포함해야 합니다. 파일로 출력되거나 특수한syslog 도구로 출력되거나 표준 오류 흐름으로 출력되거나 무시됩니다.채널이 받아들일 수 있는 정보 등급 (기본값 info) 을 마음대로 제한할 수도 있고,named에서 만들어진 시간 표시를 포함하는지, 분류된 이름, 등급 등을 포함하는지 (기본값은 아무것도 포함하지 않음) 를 정의할 수도 있다.① 목적의 자구가null일 경우 채널에 보내는 모든 정보가 버려진다.그러면 다른 통로 옵션은 의미가 없다.② 목적의 자구가 file일 경우 채널의 내용을 디스크 파일로 출력합니다.이것은 이 파일의 크기와 저장할 수 있는 버전을 포함할 수 있습니다.③versions 로그 파일 옵션을 사용하면 named는 여러 버전의 로그 파일을 자동으로 보존합니다.예를 들어 파일 저장을 선택하면 lamers.log의 세 가지 오래된 버전, 그러면 열릴 때 lamers.log.1 lamers로 이름이 바뀌었다.log.2,lamers.log.0은lamers로 이름이 바뀌었다.log.1 ,lamers.log가 lamers로 변경되었습니다.log.0.버젼 unlimited를 설정할 수도 있습니다. 그러면 백업 버전의 제한이 없습니다.④ 로그 파일에 size 옵션을 설정하면 설정된 시간이 지나면 시스템이 이름을 바꿉니다.기본적으로 백업 파일을 저장하지 않습니다.존재하는 모든 로그 파일을 간단하게 추가합니다.파일의 크기 옵션은 로그의 증가를 제한합니다.만약 파일이 제한을 초과하고 버젼스 옵션이 없다면,named는 파일 쓰기를 중지합니다.백업 버전을 보존하면 백업 파일은 위에서 설명한 대로 스크롤 이름을 지정한 다음 새 파일을 만듭니다.버젼스 옵션이 없고 로그 파일을 삭제하거나 줄이는 다른 메커니즘이 없으면 로그에 계속 쓸 데이터가 없습니다.기본 상태는 파일의 크기를 제한하지 않습니다.size와 versions 옵션의 사용 예: channel "an example channel"{file "example.log"versions 3 size 20m; print-time yes; print-category yes;⑤syslog 목적 서브문장은 채널을 시스템 로그로 가리킨다.그것의 매개 변수는syslog의 접두사입니다.syslog 도움말에서 설명한 바와 같습니다.syslog는 이러한 접두사를 가진 정보를 어떻게 처리하는지,syslog를 참고할 수 있습니다.conf의 도움말 정보입니다.⑥ severity 서브문장은syslog의 "priorites"와 같이 작동하는데, 유일한 차이점은 사용자가syslog로 파일을 쓰지 않고 직접 파일을 쓸 수 있다는 것이다.심각한 수준이 아닌 정보는 채널에서 선택되지 않습니다.심각한 수준의 정보는 받아들여질 것이다.만약 사용자가syslog를 사용하고 있다면syslog.conf의 우선순위도 어떤 것이 최종적으로 통과될지 결정합니다.예를 들어 채널facility와severity를 데몬과 debug로 정의하면syslog만 기록하지 않습니다.conf의 daemon.warning 정보, 후자는severity가 info와 notice라는 정보를 버려 줍니다.만약 정반대라면named는warning이나 더 높은 수준의 정보만 기록하고syslogd는 채널에서 온 모든 정보를 기록합니다.⑥ stderr 목적 서브문장은 채널을 서버에 출력하는 표준 오류 흐름입니다.이것은 서버가 프론트 데스크톱에서 실행되는 상황에서 사용된다. 예를 들어 debug 모드에 있을 때 서버는 풍부한 디버깅 정보를 제공할 수 있다.서버의 전역 debug 레벨(globe debug level)이 0보다 크면 debug 모드가 활성화됩니다.전역 debug 레벨은named를 시작할 때 '- d' 인자에 정수를 추가하거나 rndc trace를 실행해서 설정할 수 있습니다.debug 모드를 닫으려면 전역 debug 레벨을 0으로 설정하거나 rndc notrace를 실행합니다.서버의 모든 debug 정보는 debug 레벨이 있으며, 높은 레벨은 더 자세한 출력을 제공합니다.예를 들어, 디버그 심각도 수준 채널을 지정합니다. channel "specific debug level"{file "foo",severity debug 3;};상례에서 서버는 debug 모드에 있을 때 3급과 3급보다 작은 등급의 디버깅 정보를 받는데 전체적인 디버깅 등급은 여기서 작용하지 않는다.dynamic 심각도 등급의 채널은 서버 전역 debug 등급을 사용하여 어떤 정보를 인쇄할지 결정합니다.⑥print-time 매개 변수를 사용하면 날짜와 시간도 기록됩니다.print-time도syslog의 채널을 설정할 수 있지만syslog도 날짜와 시간을 인쇄하기 때문에 일반적으로 의미가 없습니다.print-category 매개 변수를 설정하면 정보의 분류도 기록됩니다.print-severity 매개 변수를 설정하면 정보의 심각도 단계도 기록됩니다.print-xxx 옵션은 다중 조합을 할 수 있으며 단일 출력 형식은 시간, 분류, 심각도 순서입니다.다음은 세 개의 인쇄 옵션이 모두 설정된 예입니다: 17 - Apr-2015: 05: 32.863 general: notice: running 아래는named가 미리 정의한 네 개의 채널로 부족한 로그를 지정하는 데 사용됩니다.channel "default syslog"{syslog daemon;//syslog에 보내는 daemon facility severity info;//이 우선 순위와 더 높은 우선 순위에 대한 정보만 보내기}channel "default debug"{file "named.run";//작업 디렉토리에 있는named.run 파일을 씁니다. 참고: 서버가 - f 인자로 시작하면 "named.run"은stderr로 바뀝니다. severity dynamic;//서버의 현재 debug 레벨에 따라 로그를 기록합니다}channel "default stderr"{stderr;//stderr severity info에 쓰기;//이 우선순위와 더 높은 우선순위의 정보만 보내기};channel "null"{null;//이 채널에 보낸 모든 정보를 버려라};default_debug 채널은 특수한 성질을 가지고 있습니다. 서버의 debug 레벨이 0이 아닐 때만 출력이 발생합니다.일반적으로, 이것은 서버의 작업 디렉터리에named를 기록합니다.run 파일.보안상의 이유로 명령줄 옵션에서 "u"인자를 사용한 후,named가 새로운 UID를 사용한 후에만named입니다.run 파일이 생성됩니다. 루트로 시작하고 실행하는named에서 발생하는 debug 정보는 버려집니다.만약 사용자가 이러한 출력을 필요로 한다면, '- g' 인자로 서버를 실행하고 표준 오류를 파일로 다시 지정해야 한다.일단 하나의 통로를 정의하면, 그것은 다시 정의될 수 없다.이렇게 하면 내장된 채널을 수정할 수 없지만, 분류를 당신이 정의한 채널로 가리키며 기본 로그 기록을 수정할 수 있습니다.2.category 여기에는 많은 분류가 존재하는데 사용자는 필요에 따라 보고 싶거나 보고 싶지 않은 로그를 정의할 수 있다.어떤 분류를 특정 채널에 지정하지 않으면, 이 분류의 로그 정보는default 분류 채널에 전송됩니다.사용자가 기본 분류를 설정하지 않으면 다음과 같은'default'은 시스템에서 사용됩니다. category'default'{'default syslog','default debug',예를 들어, 파일에 보안 이벤트를 기록하려고 하지만, 부족한 로그 파일도 보존해야 한다.channel "my security channel"{file "my security file",severity info;}category "security"{ "my_security_channel"; "default_syslog"; "default_debug"; }; 하나의 분류에 있는 모든 정보를 버리기 위해서null 채널을 설정할 수 있습니다:category "xfer-out"{"null";}category "notify"{ "null"; }; 다음은 사용 가능한 분류와 관련된 간단명료한 설명입니다. 앞으로의 BIND 버전에는 더 많은 분류가 포함됩니다:default: 기본 분류, 분류가 없는 로그는 이 분류의 설정을 사용합니다.general: 분류되지 않은 로그는 이 분류에 기록됩니다.데이터베이스: 서버 내부에 zone과 캐시 데이터를 저장합니다.보안: 허용/거부 요청.config: 프로필 분석 및 처리.resolver: DNS 해석, dns 캐시 서버에 의해 귀속 조회.xfer-in: 수신 영역 전송.xfer-out: 전송 영역 전송.notify: NOTIFY 프로토콜.client: 클라이언트 요청 프로세스.unmatched: 일치하지 않는 검색입니다.network:네트워크 작업.업데이트:동적 업데이트.업데이트 - 보안: 업데이트 요청을 허용/거부합니다.queries: 클라이언트 대기열 로그.dispatch: 패키지 전송 로그.dnssec: DNSSEC 및 TSIG 프로토콜 처리.lame-servers: 원격 설정이 잘못된 서버에서 보낸 요청입니다.delegation-only: NXDOMAIN의 결과는 delegation-only 구역에 강제로 정의됩니다.2. 구성 실례
logging {
	/* */
	channel "default_syslog" {
		syslog daemon; /*  syslog  daemon facility */
		severity info; /*   */
	};
	channel default_debug {
        file "data/named.run"; /*  named.run  。 : -f  , "named.run" stderr  。*/
        severity dynamic; /*   debug   */
        };
	channel xfer_in_log {
		file "/var/log/named/xfer_in_log" versions 100 size 10m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel xfer_out_log {
		file "/var/log/named/xfer_out_log" versions 100 size 10m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel notify_log {
		file "/var/log/named/notify_log" versions 100 size 10m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel general_log {
		file "/var/log/named/general_log" versions 400 size 100m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel default_log {
		file "/var/log/named/default_log" versions 400 size 100m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel update_log {
		file "/var/log/named/update_log" versions 100 size 10m;
		severity info;
		print-category yes;
		print-severity yes;
		print-time yes;
	};

	channel query_log {
		file "/var/log/query_log" versions 1024 size 1m;
		severity info;
		print-category no;
		print-severity no;
		print-time yes;
	};

	category queries { query_log; };
	category default { default_log; };
	category general { general_log; };
	category xfer-in { xfer_in_log; };
	category xfer-out { xfer_out_log; };
	category notify { notify_log; };
	category update { update_log; };
};

참고 자료:
1. BIND 구성 파일 구문 2.BIND 프로파일 상세 정보

좋은 웹페이지 즐겨찾기