BOOTPD(8)

명칭
bootpd, bootpgw - 인터넷 부트 프로토콜 서버/게이트웨이

서식
bootpd [-i] [-s] [-t timeout] [-d level] [-c chdir-path] [ bootptab [dumpfile]] bootpgw [-i] [-s] [-t timeout] [-d level] server

해설
bootpd 유틸리티는 RFC951, RFC1532, RFC1533 로 정의되었다 인터넷 부트 프로토콜 (BOOTP) 서버를 실장한 것입니다. bootpgw 유틸리티는, 요구와 응답을, 어느 서스네트워크상의 클라이언트와 다른 서스네트워크상의 BOOTP 서버 (즉 bootpd )(와)과의 사이에 전송 하는데 사용되는, 단순한 BOOTP 게이트웨이를 실장하고 있습니다. bootpd 또는 bootpgw (은)는 BOOTREPLY 패킷을 전송 합니다만, bootpgw 만이 BOOTREQUEST 패킷을 전송 합니다.

각각의 네크워크 세그먼트에 대해, 통상 하나의 호스트로, 이하의 행의 어떤 것인지를 파일 /etc/inetd.conf 에 포함하는 것으로, bootpd 혹은 bootpgw 하지만 inetd(8) (으)로부터 기동되도록(듯이) 설정됩니다:

    bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
    bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server

이 동작 모드는 「inetd 모드」라고 불려 부트 요구가 도착했을 때에만 bootpd (혹은 bootpgw )(을)를 개시합니다. 만약 마지막에 패킷을 수신하고 나서 15 분 이내에 다른 패킷을 수신하지 않다면, 시스템의 자원을 낭비하지 않게 종료합니다. -t 옵션이 이 타임 아웃 시간을 제어합니다 (옵션 참조).

다른 통상의 명령와 같이 단지 쉘로부터 기동하는 것으로, bootpd (혹은 bootpgw )(을)를 「standalone 모드」( inetd(8) 없음)으로 실행하는 일도 가능합니다. bootpd 하지만 큰 배치 데이타베이스의 아래에서 사용될 때에는, inetd 모드에서의 기동시의 지연이 클라이언트의 요구에 대한 민첩한 응답을 방해하므로, standalone 모드는 특별히 도움이 됩니다. (예를 들면 /etc/rc.local (으)로부터 bootpd (을)를 불러내는 것에 의해, standalone 모드로 자동적으로 기동할 수가 있습니다) bootpgw (은)는 설정 파일을 읽지 않기 때문에, 기동시의 지연은 꽤 작고, standalone 모드는 그다지 도움이 되지 않습니다.

어느 쪽의 프로그램도, inetd 로부터 불려 갔는지 쉘로부터 불려 갔는지를 자동적으로 검출해, 자동적으로 적당한 모드를 선택합니다. -s (와)과 -i 옵션은 각각, standalone 모드와 inetd 모드를 강제하는데 사용합니다 (옵션 참조)

옵션
이하의 옵션을 사용 가능합니다:

-t timeout
    bootpd 혹은 bootpgw 프로세스가 종료하기 전에 BOOTP 패킷을 기다린다 timeout 값 (분 단위)을 지정합니다. 만약 timeout 분내에 패킷을 수신하지 않으면, 프로그램은 종료합니다. timeout 의 값이 0 의 경우는 「영원히 실행한다」라고 하는 의미입니다. standalone 모드에서는, 이 옵션은 0 에 강제당합니다.

-d debug-level
    생성되는 디버그 메세지의 양을 제어하는 변수 debug-level (을)를 설정합니다. 예를 들면, -d4 -d 4 에서는, 디버그 레벨이 4 로 설정됩니다. 낡은 버젼의 bootpd (와)과의 호환성이기 때문에, 숫자의 파라미터를 생략 (즉, -d 만) 하면(자) 단지 디버그 레벨을 하나만 증가시킵니다.

-c -chdir-path
    클라이언트의 부트 파일의 존재와 사이즈를 검사하는 동안에 bootpd 그리고 사용되는 커런트 디렉토리를 설정합니다. 클라이언트의 부트 파일이 상대 패스명으로 지정되어 있어, bootpd 하지만 TFTP 서버와 같은 커런트 디렉토리 (전형적으로는 /tftpboot )(을)를 필요로 할 때 유용합니다. 이 옵션은 bootpgw 에 따라서는 인식되지 않습니다.

-i  강제적으로 inetd 모드로 합니다. 이 옵션은 시대착오입니다만, 낡은 버젼의 bootpd (와)과의 호환성을 위해서(때문에) 남겨 있습니다.

-s  강제적으로 standalone 모드로 합니다. 이 옵션은 시대착오입니다만, 낡은 버젼의 bootpd (와)과의 호환성을 위해서(때문에) 남겨 있습니다.

bootptab
    bootpd 하지만 로드한다 설정 파일의 이름을 지정합니다 ( bootpd 마셔). 이것은 미리 알고 있는 클라이언트와 그 클라이언트의 옵션에 관한 데이타베이스입니다.

dumpfile
    bootpd 하지만, SIGUSR1 시그널을 수신했을 때에 내부 데이타베이스를 덤프 하는 파일의 이름을 지정합니다 ( bootpd 마셔). 이 옵션은 bootpd 하지만 -DDEBUG 플래그 첨부로 컴파일 되었을 때만 인식됩니다.

server
    bootpgw 하지만 수신한 모든 BOOTREQUEST 패킷을 전송 하는, BOOTP 서버의 이름을 지정합니다 ( bootpgw 마셔).

조작
bootps 포트에 보내진 어떤 패킷도 수중에 넣어 어떤 BOOTREPLY 패킷도 단순하게 전송 한다고 하는 점으로 bootpd (와)과 bootpgw 의 쌍방이 닮은 움직임을 합니다. BOOTREQUEST 의 취급은 다릅니다.

bootpgw (은)는 동작 개시시에, 명령행 파라미터로서 이름이 주어졌다 BOOTP 서버의 주소를 결정합니다. bootpgw 하지만 BOOTREQUEST 패킷을 수신했을 때, 패킷의 「게이트웨이 주소」와「호프수」필드를 설정해, 패킷을 앞에 두고 결정한 주소의 BOOT 서버에 전송 합니다. 요구 패킷은, 클라이언트가 적어도 3 초는 기다리고 있으면(자) 패킷이 가리키고 있을 때에만 전송 됩니다.

bootpd (은)는 동작 개시시로 설정 파일 (통상 /etc/bootptab )(을)를 읽어들입니다. 이것으로, 미리 알고 있는 클라이언트와 클라이언트의 옵션에 관한 내부 데이타베이스를 초기화합니다. 이 내부 데이타베이스는, bootpd 하지만 회선 절단 시그널 (SIGHUP)을 수신했을 때, 또는 설정 파일이 변경된 것을 발견했을 때에, 재독 보고 포함이 행해집니다.

bootpd 하지만 BOOTREQUEST 패킷을 수신했을 때, 클라이언트의 요구에 일치하는 데이타베이스 엔트리를 찾습니다. 만약 그 클라이언트를 미리 알고 있으면 bootpd (은)는 전에 찾아낸 데이타베이스 엔트리를 사용해 BOOTREPLY 패킷을 구성해, (혹시 게이트웨이를 사용해) 클라이언트에 대답을 보냅니다. 만약 클라이언트가 미지라면, (debug > 0 때는 주의를 내) 요구는 버려집니다.

bootpd 하지만 -DDEBUG 옵션으로 컴파일 되고 있으면, SIGUSR1 시그널을 보내면(자) 내부 데이타베이스를 파일 /tmp/bootpd.dump 인가, 명령행 파라미터로 지정된 덤프 파일에 에 덤프 합니다.

초기화때 어느 쪽의 프로그램도, (보통은 /etc/services (을)를 사용한다) getservbyname(3) (을)를 부르는 것으로 UDP 포트 번호를 결정합니다. 두 개의 서비스명 (와 포트 번호)이 사용됩니다:

    bootps - BOOTP 서버 대기 포트
    bootpc - BOOTP 클라이언트 보낼 곳 포트

만약 포트 번호가 getservbyname(3) (을)를 사용해 결정할 수 없을 때에는, 기본값은 bootps=67 와 bootpc=68 입니다.

관련 파일
/etc/bootptab
    bootpd 에 의해 읽히는 데이타베이스 파일.
/tmp/bootpd.dump
    bootpd 에 의해 생성되는 디버그 덤프 파일.
/etc/services
    인터넷 서비스 번호.
/tftpboot
    TFTP 서버와 bootpd 그리고 사용되는 전형적 커런트 디렉토리.

버그
각각의 호스트 엔트리는 1024 캐릭터를 넘어서는 안됩니다.

공로자
이 배포판은 현재, Walter L. Wimer <walt+@cmu.edu> 에 의해 메인트넌스되고 있습니다.

오리지날의 BOOTP 서버는 스탠포드 대학의 Bill Croft 에 의해 1986 년 1 월에 작성되었습니다.

현재의 버젼의 bootpd (은)는 제일에, Carnegie Mellon University 의 David Kovar, Drew D. Perkins, Walter L. Wimer 의 일것입니다.

기능확장과 바그피크스는 이하의 (분)편의 공헌에 의합니다: (알파벳순서)

-split Danny Backx <db@sunbim.be>, John Brezak <brezak@ch.hp.com>, Frank da Cruz <fdc@cc.columbia.edu>, David R. Linn <drl@vuse.vanderbilt.edu>, Jim McKim <mckim@lerc.nasa.gov>, Gordon W. Ross <gwr@mc.com>, Jason Zions <jazz@hal.com>.

관련 항목
bootptab(5), inetd(8), tftpd(8)

DARPA Internet Request For Comments:
RFC951
    Bootstrap Protocol
RFC1532
    Clarifications and Extensions for the Bootstrap Protocol
RFC1533
    DHCP Options and BOOTP Vendor Extensions