NAMED(8)

명칭
named - 인터넷 도메인 네임서버 (DNS)

서식
named [-d debuglevel] [-p port#] [- ( b|c) config_file] [-f -q -r -v] [-u user_name] [-g group_name] [-t directory] [-w directory] [config_file]

해설
named (은)는 인터넷 도메인 네임서버입니다. 인터넷 도메인 네임 시스템의 상세한 정보에 대해서는 RFC 1033, 1034, 1035 를 참조해 주세요. 파라미터가 없는 경우는 named (은)는 디폴트의 설정 파일이다 /etc/namedb/named.conf 의 초기화 데이터를 읽어들여, 문의에 대해 대기합니다. 명령행의 마지막에 주어졌다 config_file 인수는 “-b” 또는 “-c” 플래그를 사용해 지정되었다 config_file (을)를 무효로 합니다.

주: named 의 몇개의 옵션과 많은 동작은, 설정 파일 중(안)에서 제어할 수 있습니다. 한층 더 정보는 이 BIND 배포물에 포함되는 설정 파일 가이드를 참조해 주세요.

지정할 수 있는 옵션은 이하와 같습니다.

-d debuglevel
    디버그 정보를 출력합니다. debuglevel (은)는 표시하는 메세지의 레벨을 결정하는 숫자입니다. 만약 부의 값의 경우, debuglevel 하 “1” (으)로 설정됩니다.

    주: 새로운 디버그의 범위는 낡은 버젼의 named 보다 꽤 세련 되고 있습니다. 설정 파일의 “logging” 선언은 (문의나 내/외에의 전송등이) 많은 종류에 걸치는 이벤트 각각 대해, 복수의 별들인 디버그 레벨을 설정할 수가 있습니다. 이러한 광범위하게 걸치는 새로운 기능에 관한 한층 더 정보는, 이 BIND 배포물에 포함되는 설정 파일 가이드를 참조해 주세요.

-p port#
    지정된 리모트 포트 번호를 사용합니다. 이 포토 번호는 named 하지만 문의를 보내는 번호입니다. 디폴트의 값은 표준의 포트 번호, 즉 getservbyname(3) 하지만 “domain” 에 대해서 돌려주는 포트 번호입니다.

    주: 이전에는, “-p port#[/localport#]” 그렇다고 하는 문법을 사용할 수 있어 1 번째의 포트가 remote 서버에의 접속에 사용되어 2 번째의 포트가 named 의 local 서버에 대한 포트 번호로서 사용되었습니다. 현재의 사용법은 낡은 사용법으로부터 localport# 의 지정을 제외한 것과 동등합니다. 이 기능은 설정 파일의 “options” 선언에 있다 “listen-on” 마디로 지정할 수 있습니다.

- ( b|c) config_file 대신의 config_file (을)를 사용합니다. 이 인수는 명령행의 마지막에 지정되었다 config_file 에 의해 덧쓰기됩니다. 디폴트의 값은 /etc/namedb/named.conf 입니다.

-f  이 프로세스를 겉(표)로 움직여, fork(2) (이)나 demon화를 하지 않습니다 (디폴트에서는 demon화를 합니다).

-q  named 하지만 QRYLOG (을)를 정의해 컴파일 되고 있는 경우에, 모든 문의의 트레이스를 행합니다.

    주: 설정 파일의 “logging” 선언으로 “queries” logging category 하는 (분)편이 찬성되어 이 옵션은 반대되고 있습니다. 한층 더 정보는, 이 BIND 배포물에 포함되는 설정 파일 가이드를 참조해 주세요.

-r  재귀적인 네임서버의 문의를 억제합니다. 문의에 대해서는 로컬 존 (프라이머리 혹은 세칸다리)으로부터 마셔 회답됩니다. 이 지정은 루트 서버에서 사용할 수가 있습니다. 디폴트에서는 재귀적인 문의를 행합니다.

    주: 이 옵션은 설정 파일의 “options” 선언의 “recursion” 마디에 의해 덧쓰기되어 또 그 쪽 쪽이 추천 되고 있습니다.

-v  버젼을 보고해, 종료합니다.

-u user_name
    유저를 지정하면(자), 초기화 후의 서버가 이 유저로 동작합니다. 값은 유저명 또는 숫자의 유저 ID 어디라도 상관하지 않습니다. “-g” 플래그가 지정되어 있지 않았던 경우, 지정된 유저의 프라이머리 그룹이 그룹 ID 로서 사용됩니다 (initgroups()가 불리기 (위해)때문에, 유저가 소속하는 모든 그룹이 서버에 건네받습니다).

-g group_name
    그룹을 지정하면(자), 초기화 후의 서버가 이 그룹에서 동작합니다. 값은 그룹명 또는 숫자의 그룹 ID 어디라도 상관하지 않습니다.

-t directory
    서버가 명령행 인수를 처리하자 마자 chroot() 해야 한다 디렉토리를 지정합니다.

-w directory
    서버의 작업 디렉토리를 설정합니다. 설정 파일의 “options” 선언의 “directory” 마디는 명령행으로 지정한 모든 값을 덧쓰기합니다. 디폴트의 작업 디렉토리는 커런트 디렉토리 (“”). 입니다.

그 이외의 인수는 위에서 말했던 대로, 낡은 실장과의 호환성을 위해서(때문에), 설정 파일의 이름으로서 다루어집니다. 이 인수는 “-b” 또는 “-c” 플래그를 사용해 지정된다 config_file (을)를 무효로 합니다. 특히 인수가 주어지지 않으면, 디폴트의 설정 파일이 사용됩니다 (/etc/namedb/named.conf)

  master file 형식
master file는 제어 정보와 존안의 오브젝트의 자원 레코드의 리스트로부터 되어, 다음의 형식을 취합니다.

    $INCLUDE <filename> <opt_domain>
    $ORIGIN <domain>
    $TTL <ttl>
    <domain> <opt_ttl> <opt_class> <type> <resource_record_data>

여기서,

domain
    루트의 경우는 “.” (을)를, 현재의 기점의 경우는 “@” (을)를, 그것들 이외에서는 통상의 도메인명을 지정합니다. domain 하지만 “.” 그리고 끝나 없다 통상의 도메인명인 경우는, 현재의 기점이 도메인에 추가됩니다. 도메인명이 “.” 그리고 끝나고 있는 경우는 변경되지 않습니다.

opt_domain
    이 필드에는 인클루드 파일중의 데이터의 기점을 정의합니다. 이것은 인클루드 파일의 최초의 행의 전에 $ORIGIN 선언을 두는 것으로 등가입니다. 이 필드는 옵셔널입니다. opt_domain 필드나 인클루드 파일중의 $ORIGIN 선언은 그 파일 자신의 현재의 기점을 변경할 것은 없습니다.

ttl 명시적인 TTL (time-to-live)를 가지지 않는다 장래의 레코드를 위한 디폴트의 TTL 를, 정수치로 지정합니다.

opt_ttl
    이 필드는 옵션이며, time-to-live 를 정수치로 지정합니다. 설정되지 않는 경우, TTL 는 마지막 $TTL 문으로부터 취득됩니다. $TTL 문이 존재하지 않는 경우, SOA 의 최소치가 사용되어 경고가 생성됩니다.

opt_class
    오브젝트의 주소의 형태를 지정합니다. 현재는 DARPA 인터넷에 접속하는 오브젝트이다 IN 만이 서포트되고 있습니다.

type
    이 필드에는 이하의 토큰 중 하나가 포함됩니다. 괄호중에 각각 resource_record_data 필드로 지정해야 할 데이터를 나타내고 있습니다.

    A   호스트 주소 (4개(살)조닷 IP 주소)

    NS  권위가 있는 네임서버 (도메인)

    MX  메이르에크스첸쟈 (도메인) 우선 순위 (0..32767)에 계속해 지정합니다. 우선 순위는 작은 값이 우선 순위의 높은 일을 나타냅니다.

    CNAME
        별명에 대응한 정식명 (도메인)

    SOA 권위 존 데이터의 개시를 나타냅니다. (호스트가 속하는 도메인, 멘테나의 도메인 주소, 시리얼 번호, 그 후에 리프레쉬, 리트라이, 유효기간, 최소 TTL (RFC 883 으로 RFC 2308 을 참조) 의 각 치를 초에 지정한 파라미터가 계속된다).

    NULL
        누르리소스레코드 (형식이나 데이터는 없습니다)

    RP  몇개의 도메인명의 책임자 (메일 주소나 참조할 수 있는 텍스트)

    PTR 도메인명의 포인터 (도메인)

    HINFO
        호스트 정보 (CPU 타입, OS타입)

통상은 줄 끝으로 리소스 레코드는 종료합니다만, 왼쪽 괄호와 오른쪽 괄호로 둘러싸였을 경우는 복수행에 걸치는 것이 가능해집니다. 세미콜론으로부터 줄 끝까지는 코멘트로서 다루어집니다.

주: 여기에는 나타나고 있지 않습니다만, 이 다른 타입의 리소스 레코드도 존재합니다. 리소스 레코드의 모든 타입을 알려면 BIND Operations Guide (“BOG”) (을)를 참조할 필요가 있겠지요. 새로운 RFC 에서 몇개의 resource type가 표준화 되고 있습니다만, 이 버젼의 BIND 그럼 아직 실장되고 있지 않습니다.

  SOA 레코드 형식
각 마스터 존 파일은 그 존의 SOA 레코드로 시작되지 않으면 안됩니다. 이하에 SOA 레코드의 예를 나타냅니다.

    @	IN	SOA	ucbvax.Berkeley.EDU.  rwh.ucbvax.Berkeley.EDU.  (
    				1989020501	; serial
    				10800	; refresh
    				3600	; retry
    				3600000	; expire
    				86400 )	; minimum

SOA 에서는 시리얼 번호 (serial)를 지정합니다. 시리얼 번호는 master file를 갱신할 때마다 증가할 필요가 있습니다. 시리얼 번호는 소수점포함의 숫자를 지정할 수도 있습니다만, 정수에의 변환은 곱셈이나 가산은 아니고 캐릭터 라인으로서 연결해 가고 있기 (위해)때문에, 별로 영리한 방법이라고는 할 수 없습니다. 연월일과 0~99 의 시리얼 번호를 사용하는 것으로, 이 필드의 사이즈인 부호 없음의 32 비트 이내에 들어갑니다. (이 방식은 4294 년에는 다시 생각할 필요가 있는 것은 확실합니다만, 거기에 붙어 걱정할 필요는 없을 것입니다).

세칸다리서바는 초에 지정된 리프레쉬 시간 (refresh)의 간격으로 시리얼 번호를 체크합니다. 시리얼 번호로 변경이 있으면, 새로운 데이터를 읽어들이기 위해서(때문에) 존 정보가 전송 됩니다. 리프레쉬 시간이 지나도 마스터 서버에 접속할 수 없는 경우는, 리트라이 시간 (retry)의 간격으로 리프레쉬가 시도됩니다. 기한 마감 시간 (expire)이 지나 마스터 서버에 접속할 수 없는 경우는, 세칸다리서바는 그 존의 모든 데이터를 파기합니다.

주
부트 파일에서의 “domain” (와)과 “suffixes” 의 지정은 폐지되어 좀 더 편리한 resolver 베이스의 실장, 즉 부분적인 형태의 도메인명 (partially-qualified domain names)의 접미말에 두어 바꿀 수 있었습니다. 이전의 메카니즘에서는 많은 상황하로 실패하는 일이 있어, 특히 로컬 네임서버가 완전한 정보를 가지고 있지 않은 경우에 실패했습니다.

이하에 각 시그널을 kill(1) 명령에 의해 서버에 보냈을 경우의 효과를 나타냅니다.

SIGHUP
    서버는 named.conf (을)를 읽어, 데이타베이스를 다시 로드합니다. 서버가 컴파일 옵션의 FORCED_RELOAD (을)를 정의되어 컴파일 되고 있는 경우는, SIGHUP (을)를 보내면(자) 서버는 모든 세칸다리존의 시리얼 번호도 체크합니다. 통상, 시리얼 번호는 SOA 중으로 지정된 간격에서만 체크됩니다.

SIGINT
    현재의 데이타베이스와 캐쉬의 내용을 “/var/tmp/named_dump.db” 또는 _PATH_DUMPFILE 의 값에 덤프 합니다.

SIGILL
    서버가 -DSTATS 첨부로 컴파일 되고 있으면, 통계 데이터를 named.stats 에 덤프 합니다. 통계 데이터는 이 파일의 말미에 추가됩니다.

SIGSYS
    서버가 프로 파일링 (서버의 fork, chdir 와 exit)을 유효하게 되어 컴파일 되고 있으면, 프로 파일링 데이터를 /var/tmp 에 덤프 합니다.

SIGTERM
    갱신된 데이터가 존재하면 이것을 보존해, 서버를 셧다운 합니다

SIGUSR1
    디버그 기능을 유효하게 합니다. SIGUSR1 하지만 보내질 때마다 디버그 레벨이 오릅니다. ( SIGUSR1 하지만 없는 낡은 시스템에서는 SIGEMT 하지만 사용됩니다.)

SIGUSR2
    디버그 기능을 완전하게 무효로 합니다. ( SIGUSR2 하지만 없는 낡은 시스템에서는 SIGFPE 하지만 사용됩니다.)

SIGWINCH
    모든 서버에 입력되는 문의의 syslog(3) 에 의한다 로그 채취의 유무를 바꿉니다. (로그 채취는 서버가 QRYLOG 옵션을 지정되어 컴파일 되고 있을 필요가 있습니다. )

관련 파일
/etc/namedb/named.conf
    디폴트의 네임서버의 설정 파일
/var/run/named.pid (_PATH_PIDFILE)
    프로세스 ID
/var/tmp/named_dump.db (_PATH_DUMPFILE)
    네임서버 데이타베이스의 덤프
/var/tmp/named.run (file: _PATH_DEBUG)
    디버그 출력
/var/tmp/named.stats (file: _PATH_STATS)
    네임서버의 통계 데이터

관련 항목
named.conf(5), gethostbyname(3), hostname(7), kill(1), resolver(3), resolver(5), signal(3), RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC 1035, RFC 1123, RFC 2308 “Name Server Operations Guide for BIND”