PPPD(8)

명칭
pppd - PPP (Point to Point Protocol)를 처리하는 demon

서식
pppd [ tty_name ] [ speed ] [ options ]

해설

Point-to-Point 프로토콜 (PPP)은, 시리얼 회선상에 확립되었다 Point-to-Point 링크를 개입시킨 데이터 그램의 송수 방법을 제공합니다. PPP 는, 데이터 그램의 캡슐화 방식, 확장 가능한 링크제프로토콜 (LCP), 그리고 다른 네트워크층 프로토콜의 설정과 접속의 확립을 실시한다 한 무리의 네트워크 제어 프로토콜 (NCP)의 3 개의 부분으로부터 구성되어 있습니다.

캡슐화 체계는, 커널내의 드라이버 코드에 의해 제공되고 있습니다. pppd (은)는, 기본적인 LCP 기능, 인증 기능, 그리고 인터넷 프로토콜 (IP) 접속의 확립과 설정을 실시한다 NCP (IP 제어 프로토콜 (IPCP)로 불리고 있습니다)을 제공합니다.

잘 사용되는 옵션

<tty_name>
    지정한 디바이스를 개입시켜 통신합니다. 만약 필요하면, 전에 "/dev/" 캐릭터 라인이 추가됩니다. 디바이스명이 지정되어 있지 않은 경우나 표준 입력에 접속된 단말의 이름이 주어졌을 경우에는, pppd (은)는 그 단말을 사용해, 백그라운드 실행을 위한 fork 를 실시하지 않습니다. noauth 옵션이 사용되었을 경우, 이 옵션은 특권 옵션이 됩니다.

<speed>
    baud rate를 <speed> 로 설정합니다 (10 진수). 4.4BSD 나 NetBSD 라고 하는 시스템에서는, 시리얼 디바이스 드라이버가 서포트하는 임의의 속도를 지정 가능합니다. 그 외의 시스템 (SunOS, Linux 등 )에서는 일정한 편성만이 지정 가능합니다.

active-filter filter-expression
    데이터 패킷에 적용되는 패킷 필터이며, 어느 패킷을 링크 액티버티로 간주할까를 결정하는 패킷 필터를 지정합니다. 링크 액티버티로 간주해지면(자), idle timer가 리셋트 되는지, 디맨드 다이얼 모드시에는 링크가 업 됩니다. (예를 들면 경로 정보 패킷등 ) 정상적으로 링크상에서 패킷 송수신을 해 다른 방법에서는 링크가 아이돌이다고는 보이지 않는 경우에, 이 옵션을 idle 옵션과 함께 사용하면(자) 편리합니다. filter-expression 의 문법은 tcpdump(1)와 같습니다만, 한정자는 PPP 에서는 부적당하므로, ether 나 arp 는 사용할 수 없습니다. 일반적으로는, 필터식을 싱글 쿼트로 괄은, 식중의 공백이 쉘로 해석되는 것을 피해야 합니다. 커널 및 pppd 가 PPP_FILTER 를 정의해 컴파일 되었을 경우만, 이 옵션을 이용 가능합니다.

asyncmap <map>
    비동기 캐릭터 MAP를 <map> 로 설정합니다. 이 MAP는, 시리얼 회선을 경유하면(자) 어느 제어 캐릭터의 수신이 잘 되지 않게 되는지를 기술하는 것입니다. pppd (은)는, 이러한 캐릭터를 2 바이트의 escape sequence로서 송신하도록, 상대 측에 의뢰합니다. 인수는 32 비트의 16 진수이며, 각 비트가 이스케이프 해야 할 캐릭터를 나타내고 있습니다. 비트 0 (00000001)은 캐릭터 0x00 를 나타내, 비트 31 (80000000)은, 캐릭터 0x1f 즉 '^_'를 나타내고 있습니다. 복수의 asyncmap 옵션이 주어졌을 경우, 그러한 값의 논리합이 채용됩니다. asyncmap 옵션이 주어지지 않았던 경우에는, 이 호스트가 수신측이 된다 비동기 캐릭터 MAP는 설정되지 않습니다. 상대측은 모든제어 캐릭터를 이스케이프 해 송신합니다. 송신 캐릭터를 이스케이프 하려면 , escape 옵션을 사용합니다.

auth
    네트워크 패킷의 송수신을 허가하기 전에, 상대 측에 자신 증명을 실시하도록(듯이) 요구합니다.

call name
    파일 /etc/ppp/peers/name 로부터 옵션을 읽습니다. pppd 가 root 이외에 따라 기동되었을 경우에 대해도, 이 파일에 noauth 와 같은 특권 옵션을 포함해도 괜찮습니다. 캐릭터 라인 name 는 / 으로 개시하고는 되지않고, 패스명의 일부에 .. (을)를 포함해 되지 않습니다. 옵션 파일의 포맷은 후술 합니다.

connect script
    script 로 지정된 실행 가능 명령 또는 쉘 커멘드를 사용해, 시리얼 회선의 셋업을 실시합니다. 대부분의 경우, 여기서 지정되는 스크립트에는 chat(8) 프로그램을 사용해, 모뎀에 다이얼 명령을 보내거나 리모트 ppp 세션을 개시하거나 합니다. noauth 옵션이 사용되었을 경우, 이 옵션은 특권 옵션이 됩니다.

connect-max-attempts <n>
    지정한 시간 (디폴트에서는 1)을 넘겨 리모트 시스템과의 다이얼 접속을 보관 유지하지 않습니다. 접속을 할 수 없는 경우는, pppd 는 종료합니다. persist 를 지정하는 것이 요구됩니다.

crtscts
    시리얼 포트의 flow control에 하드웨어 플로우 콘트롤 (RTS/CTS)을 이용합니다. crtscts 나 nocrtscts 의 양쪽 모두의 옵션이 주어지지 않을 때, 시리얼 포트의 하드웨어 플로우 콘트롤의 설정은 변경되지 않고 그대로 됩니다.

defaultroute
    IPCP 네고시에이션이 성공하면(자), 상대측을 게이트웨이로 한다 디폴트 경로를 시스템의 경로 테이블에 추가합니다. 이 옵션에 의해 추가된 디폴트 경로 엔트리는, PPP 접속이 절단 되었을 때에 삭제됩니다. nodefaultroute 옵션이 지정되었을 경우에는, 이 옵션은 특권 옵션이 됩니다.

disconnect script
    pppd 가 접속을 자른 후에 script 로 지정한 실행 가능 명령 또는 쉘 명령을 실행합니다. 이 스크립트로, 예를 들면 하드웨어 모뎀 제어 신호 (DTR)를 사용할 수 없는 경우에 모뎀을 행업 할 수가 있습니다. 모뎀이 이미 행업 하고 있는 경우에는, 이 절단 스크립트는 실행되지 않습니다. noauth 옵션이 사용되었을 경우에는, 이 옵션은 특권 옵션입니다.

escape xx, yy,...
    전송시에 이스케이프를 실시해야 할 캐릭터를 지정합니다 (상대측이 비동기 캐릭터 MAP로 이스케이프를 요구하고 있으려면 영향을 받지 않습니다). 이스케이프 되는 캐릭터는, 콤마로 단락지어진 16 진수로 지정합니다. 제어 캐릭터 밖에 지정할 수 없는 asyncmap 옵션 과는 달리, escape 옵션에서는 어떤 캐릭터라도 지정할 수 있다 일로 주의해 주세요. 다만 16 진표기로 0x20 에서 0x3f 까지와 0x5e 의 캐릭터는 이스케이프 해 되지 않습니다.

file name
    옵션을 파일 name 로부터 읽어들입니다 (포맷은 후술 합니다). 이 파일은, pppd 를 기동한 유저가 읽는 것이 가능한 필요가 있습니다.

lock
    시리얼 디바이스에 대한 배타 액세스를 확실히 실시하기 위해서(때문에), UUCP 형식의 락 파일을 작성하도록(듯이) pppd 에 지시합니다.

mru n
    네고시에이션시의 MRU [최대 수신 단위; Maximum Receive Unit] 값을 n 로 설정합니다. pppd (은)는, 통신 상대에게 n 바이트를 넘는 패킷을 송신하지 않게 요구합니다. 최소의 MRU 치는, 128 입니다. 디폴트의 MRU 치는 1500 입니다. 저속의 링크에서는 296 을 추천 합니다 (TCP/IP 헤더 40 바이트 + 데이터 256 바이트).

mtu n
    MTU [최대 전송 단위; Maximum Transmit Unit] 치를 n 로 설정합니다. 상대가 MRU 네고시에이션을 통해서 이것보다 작은 값을 요구해 오지 않는 한, PPP 네트워크 인터페이스를 통해 n 바이트를 넘지 않는 데이터 패킷을 보내는 것을, pppd 는 커널의 네트워크 코드에 요구합니다.

passive
    LCP 로 "passive" 옵션을 유효하게 합니다. 이 옵션을 지정했을 경우에는, 접속을 개시하려고 해도 상대로부터의 대답이 없는 경우, pppd (은)는 상대로부터 유효한 LCP 패킷이 도착하는 것을 수동적으로 계속 기다립니다. 이 옵션을 지정하지 않으면, 상대로부터의 대답이 없는 경우에 pppd (은)는 실행을 중단합니다.

옵션

<local_IP_address>:<remote_IP_address>
    로컬 인터페이스와 리모트 인터페이스의 IP 주소를 설정합니다. 어느 쪽인지 다른 한쪽을 생략 하는 일도 가능합니다. IP 주소는, 호스트명 혹은 10 진수 닷 표현 (예: 150.234. 56.78)의 어디라도 지정 가능합니다. 디폴트의 로컬 주소는, 그 시스템의 (최초의) IP 주소와 됩니다. (다만 noipdefault 옵션이 지정되었을 경우를 제외합니다. ) 리모트 주소는, 옵션으로 지정되어 있지 않은 경우에는 상대측으로부터 취득됩니다. 그러니까, 가장 단순한 지정을 실시하는 경우에는, 이 옵션은 불필요합니다. 로컬 또는 리모트의 IP 주소가 이 옵션으로 지정되어 있는 경우에는, IPCP 네고시에이션으로 상대측이 이 지정과 다른 주소를 보내 왔을 경우, pppd 는 이것을 거부합니다. 다만, ipcp-accept-local (이)나 ipcp-accept-remote 하지만 지정되어 있는 경우에는 이 마지막으로는 없습니다.

bsdcomp nr, nt
    접속 상대에게, BSD-Compress 방식을 사용한 송출시의 패킷 압축을 요구합니다. 여기서의 최대 코드 사이즈는 nr 비트입니다. 상대옆이 보내는 패킷의 최대의 크기는, nt 비트입니다. nt 가 지정되지 않을 때는, 디폴트의 nr 가 사용됩니다. 9 에서 15 의 범위의 값이, nr 와 nt 로 사용됩니다. 보다 큰 값은, 보다 좋은 압축이 됩니다만, 압축 사전을 위해서(때문에) 보다 많은 카네르메모리를 소비합니다. nr 나 nt 에 대해서, 값 0 을 지정하면(자), 지정한 방향에는 압축을 실시하지 않습니다. BSD-Compress 압축을 완전하게 무효로 하기 위해서(때문에)는, nobsdcomp 나 bsdcomp 0 를 지정해 주세요.

chap-interval n
    이 옵션이 지정되었을 경우, pppd (은)는 n 초 간격으로 재챌린지합니다.

chap-max-challenge n
    CHAP 챌린지의 최대 송신 회수를 n 로 설정합니다 (기본값은 10).

chap-restart n
    (챌린지의 재발송의 타임 아웃에 의한다) CHAP 재개의 간격을 n 초로 설정합니다 (기본값은 3).

debug
    접속의 디버그 기능을 유효하게 합니다. 이 옵션을 지정했을 경우, pppd 는 송수신 했다 모든 제어 패킷의 내용을 가독형식에서 로그 합니다. 패킷은 syslog 를 경유해, daemon 퍼실리티의 debug 레벨로서 기록됩니다. 본정보는, /etc/syslog.conf 를 적절히 기술하는 것으로 파일에 기록할 수가 있는 (syslog.conf(5) 참조).

default-asyncmap
    asyncmap 네고시에이션을 무효로 해, 송수신 양방향에서 전제어 캐릭터를 이스케이프 시킵니다.

default-mru
    MRU [최대 수신 단위; Maximum Receive Unit] 네고시에이션을 무효로 합니다. 이 옵션을 지정하면(자), 송수신 양방향에 있어, pppd 는 디폴트의 MRU 치 1500 바이트를 사용합니다.

deflate nr, nt
    접속 상대에게, Deflate 방식을 사용한 송출시의 패킷 압축을 요구합니다. 여기서 최대의 윈도우 사이즈는 2**nr 바이트입니다. 또, 상대에게 보내는 패킷을 최대 윈도우 사이즈 2**nt 바이트에서 압축 하는 것을 합의합니다. nt 가 지정되지 않으면 디폴트의 nr 의 값이 됩니다. nr 와 nt 에는 8 에서 15 까지의 범위의 값이 용서됩니다. 보다 큰 값은, 보다 좋은 압축이 됩니다만, 압축 사전을 위해서(때문에) 보다 많은 카네르메모리를 소비합니다. nr 나 nt 에 대해서, 값 0 을 지정하면(자), 지정한 방향에는 압축을 실시하지 않습니다. Deflate 압축을 완전하게 무효로 하기 위해서(때문에)는, nodeflate 나 deflate 0 를 지정해 주세요. (주: 상대가 양쪽 모두 가능한 경우에는, pppd 는 BSD-Compress 보다 Deflate 압축을 기꺼이 요구합니다. )

demand
    링크의 개시를 요구시만, 즉 데이터 트래픽이 존재할 때 마셔 실시합니다. 이 옵션을 지정하는 경우, 리모트 IP 주소를, 유저가 명령행으로 지정하는지, 옵션 파일중에 포함할 필요가 있습니다. pppd 는, 상대에게 접속하는 일 없이, 우선 인터페이스를 설정해 IP 트래픽에 대비합니다. 트래픽이 나타나면(자), pppd 는 상대에게 접속해, 네고시에이션이나 인증등을 실시합니다. 이것이 완료하면(자), pppd 는 링크를 개입시켜 데이터 패킷 (즉 IP 패킷) 의 수수를 개시합니다. demand 옵션은 암묵적으로 persist 옵션을 지정합니다. 이 동작이 바람직하지 않은 경우, demand 옵션의 뒤에 nopersist 옵션을 사용해 주세요. idle 및 holdoff 의 옵션도 또, demand 옵션과 함께 사용하면(자) 편리합니다.

domain d
    인증을 위해서(때문에) 사용하는 로컬 호스트명에 도메인명 d 를 부가합니다. 예를 들면, 완전한 형태에서의 도메인명 (FQDN)이 porsche.Quotron.COM 이며, gethostname()가 porsche 라는 이름을 돌려주는 경우에는, 이 옵션을 이용해 도메인명을 Quotron.COM 와 지정합니다. 그렇다면, pppd 는 porsche.Quotron.COM 를 비밀 정보 파일안의 비밀 정보를 조사하기 위해서(때문에) 사용하거나 상대에 대해서 자기 증명하기 위해서 보내는 디폴트의 이름으로서 사용합니다. 이 옵션은 특권 옵션입니다.

holdoff n
    링크 절단으로부터 재초기화까지 몇초 기다리는지를 지정합니다. persist 또는 demand 옵션 사용시에게만, 이 옵션은 유효합니다. 아이돌이었기 때문에 링크가 절단 되었을 경우는, 이 억제 기간은 적용되지 않습니다.

idle n
    링크가 n 초아이돌이었던 경우에 접속을 자르도록(듯이) pppd 로 지정합니다. 데이터 패킷 (즉 IP 패킷)이 송수신 되지 않을 때에, 링크는 아이돌이라고 보입니다. 주: demand 옵션을 사용하지 않고 persist 옵션을 사용하는 경우에, 이 옵션을 사용하는 것을 권합니다. active-filter 옵션이 주어지면(자), 지정한 액티버티 필터가 수리하지 않았던 데이터 패킷도 또, 링크가 아이돌이라고 간주하는 대상으로 합니다.

ipcp-accept-local
    이 옵션이 지정되었을 경우에는, 다른 옵션에 의해 로컬 IP 주소의 지정을 하고 있는 경우에서도, pppd (은)는 상대로부터의 로컬 IP 주소의 지정을 받아들입니다.

ipcp-accept-remote
    이 옵션이 지정되었을 경우에는, 다른 옵션에 의해 리모트 IP 주소의 지정을 하고 있는 경우에서도, pppd (은)는 상대로부터의 리모트 IP 주소의 지정을 받아들입니다.

ipcp-max-configure n
    IPCP configure-request 의 최대 송신 회수를 n 회로 설정합니다 (기본값은 10).

ipcp-max-failure n
    IPCP configure-Reject 를 송신 개시할 때까지의 IPCP configure-NAK 의 최대 응답 회수를 n 회로 설정합니다 (기본값은 10).

ipcp-max-terminate n
    IPCP terminate-request 의 최대 송신 회수를 n 회로 설정합니다 (기본값은 3).

ipcp-restart <n>
    (재발송의 타임 아웃에 의한다) IPCP 재개의 간격을 n 초로 설정합니다. (기본값은 3).

ipparam string
    ip-up 와 ip-down 스크립트용으로 여분의 파라미터를 지정합니다. 이 옵션이 주어졌을 경우, string 가 6 번째의 파라미터와 해, 이러한 스크립트에게 줄 수 있습니다.

ipx IPXCP 및 IPX 프로토콜을 유효하게 합니다. 이 옵션은 현재 Linux 에서만, IPX 서포트를 포함해 커널을 구성했을 경우만 서포트되고 있습니다.

ipx-network n
    IPXCP 설정 요구 프레임중의 IPX 네트워크 번호를 n 로 설정합니다. 16 진수 (선두의 0x 를 제외해)를 지정합니다. 정당한 기본값은 없습니다. 이 옵션이 지정되지 않으면 네트워크 번호는 상대로부터 획득합니다. 상대가 네트워크 번호를 가지고 있지 않은 경우는, IPX 프로토콜은 개시되지 않습니다.

ipx-node n:m
    IPX 노드 번호를 설정합니다. 2 개의 노드 번호를 코론으로 단락짓습니다. 최초의 번호 n 는 로컬의 노드 번호입니다. 다음의 번호 m 는 상대의 노드 번호입니다. 어느 쪽의 노드 번호도 16 진수이며, 최대 10 자리수입니다. ipx-network 의 노드 번호는 일의일 필요가 있습니다. 정당한 기본값은 없습니다. 이 옵션이 지정되지 않으면 노드 번호는 상대로부터 획득합니다.

ipx-router-name <string>
    라우터명을 설정합니다. 이것은 캐릭터 라인이며, 정보 데이터로서 상대에게 보내집니다.

ipx-routing n
    수신하는 경로 프로토콜을 이 옵션으로 지정합니다. 복수의 ipx-routing 인스턴스를 지정 가능합니다. 'none'옵션 (0) 마셔, ipx-routing 인스턴스로서 지정 가능합니다. 값은, 0 가 NONE 에, 2 가 RIP/SAP 에, 4 가 NLSP 에 대응합니다.

ipxcp-accept-local
    ipx-node 옵션으로 지정한 노드 번호에 대한, 상대의 NAK 를 받아들입니다. 비제로의 노드 번호가 지정되었을 경우, 이 값의 사용을 주장하는 것이 디폴트입니다. 이 옵션을 지정하면(자), 상대가 노드 번호의 엔트리를 덧쓰기하는 것을 허락합니다.

ipxcp-accept-network
    ipx-network 옵션으로 지정한 네트워크 번호에 대한, 상대의 NAK 를 받아들입니다. 비제로의 노드 번호가 지정되었을 경우, 이 값의 사용을 주장하는 것이 디폴트입니다. 이 옵션을 지정하면(자), 상대가 노드 번호의 엔트리를 덧쓰기하는 것을 허락합니다.

ipxcp-accept-remote
    설정 요구 프레임중으로 지정되는 상대의 네트워크 번호를 사용합니다. 상대의 노드 번호를 지정해, 한편 이 옵션을 지정하지 않았던 경우는, 상대는 당신이 지정한 값을 사용하는 것을 강제당합니다.

ipxcp-max-configure n
    시스템이 송신하는 IPXCP 설정 요구 프레임수의 최대치를 n 로 설정합니다. 기본값은 10 입니다.

ipxcp-max-failure n
    로컬 시스템이 옵션을 거부하기 전에, 로컬 시스템이 송신하는 IPXCP NAK 프레임수의 최대치를 설정합니다. 기본값은 3 입니다.

ipxcp-max-terminate n
    상대가 (듣)묻지 않다고 하는 판단을 로컬 시스템이 내리기 전에, 로컬 시스템이 송신한다 IPCP 정지 요구 프레임수의 최대치를 설정합니다. 기본값은 3 입니다.

kdebug n
    커널 레벨의 PPP 드라이버의 디버그 코드를 유효하게 합니다. 인수 n 로서 이하의 수치의 쳐 필요하지만 합계를 지정합니다. 1 은 일반적인 디버그 메세지 출력을 유효하게 합니다. 2 는 수신한 패킷의 내용의 출력을 요구합니다. 4 는 송신한 패킷의 내용의 출력을 요구합니다. 대부분의 시스템에서는, 커널이 표시한 메세지는, /etc/syslog.conf 설정 파일에 지시받도록(듯이), syslog(1)가 파일에 로그 합니다.

lcp-echo-failure n
    이 옵션이 지정되었을 경우, LCP echo-request 를 n 회송신 해도 상대로부터 유효한 LCP echo-reply 가 돌아오지 않으면, pppd 는 상대가 다운하고 있는 것이라고 추측합니다. 이러한 경우, pppd 는 접속을 절단 합니다. 이 옵션을 사용하려면 , lcp-echo-interval 의 파라미터로서 0 이외의 수치를 지정해 주세요. 이 옵션은, 하드웨어 모뎀 제어선 (DSR)을 사용할 수 없는 상황으로, (모뎀이 행업 하는 등) 물리적인 접속이 절단 된 후에 pppd 를 종료하기 위해서 이용됩니다.

lcp-echo-interval <n>
    이 옵션을 지정하면(자), pppd 는 LCP echo-request 프레임을 n 초 마다 상대 측에 송신합니다. 통상, 상대측은 echo-request 를 수신하면(자) echo-reply 를 돌려 보내 대답합니다. 이 옵션은, 상대측과의 접속이 끊어진 것을 검출하기 위해서 lcp-echo-failure 옵션과 함께 사용됩니다.

lcp-max-configure n
    LCP configure-request 의 최대 송신 회수를 n 회로 설정합니다 (기본값은 10).

lcp-max-failure n
    LCP configure-Reject 를 송신 개시할 때까지의 LCP configure-NAK 의 최대 응답 회수를 n 회로 설정합니다 (기본값은 10).

lcp-max-terminate n
    LCP terminate-request 의 최대 송신 회수를 n 회로 설정합니다 (기본값은 3).

lcp-restart n
    (재발송의 타임 아웃에 의한다) LCP 재개의 간격을 n 초로 설정합니다 (기본값은 3).

local
    모뎀 제어선을 사용하지 않습니다. 이 옵션을 지정하면(자), pppd (은)는, 모뎀으로부터의 CD (Carrier Detect) 신호 상태를 무시해, DTR (Data Terminal Ready) 신호 상태를 변화시키지 않습니다.

login
    PAP 를 이용한 상대의 인증에, 시스템 패스워드 데이타베이스를 이용해 유저를 시스템의 wtmp 파일에 기록합니다. 액세스가 용서되기 위해서(때문에)는, /etc/ppp/pap-secrets 파일과 시스템 패스워드 데이타베이스의 양쪽 모두에, 상대의 엔트리가 존재할 필요가 있습니다.

maxconnect n
    네트워크 트래픽의 사용 개시부터 n 초 후에 접속을 절단 합니다 (이것은, 최초의 네트워크 제어 프로토콜이 오고 나서 n 초가 됩니다).

modem
    모뎀 제어선을 사용합니다. 이 옵션은 디폴트입니다. 이 옵션을 지정하면(자), pppd 는 (접속 스크립트가 지정하고 있지 않으면) 모뎀으로부터의 CD (Carrier Detect) 신호의 아서트를 기다리고 나서 시리얼 디바이스를 오픈해, 접속 종료시에 DTR (Data Terminal Ready) 신호를 짧은 기간 떨어뜨리고 나서 접속 스크립트를 실행합니다. Ultrix 에서는, 이 옵션은 하드웨어 플로우 콘트롤, 즉 crtscts 옵션을 암묵적으로 지정합니다.

ms-dns <addr>
    pppd 가 Microsoft Windows 클라이언트의 서버로서 동작하고 있는 경우, 이 옵션은 pppd 에 1 또는 2 의 DNS (Domain Name Server) 주소를 클라이언트에 제공하는 것을 허락합니다. 이 옵션의 최초의 인스턴스는 프라이머리 DNS 주소를 줍니다. 다음의 인스턴스는 (만약 주어지면) 세칸다리 DNS 주소를 줍니다. (이 옵션은, 낡은 버젼의 pppd 에서는 dns-addr 라는 이름이었습니다. )

ms-wins <addr>
    pppd 가 Microsoft Windows 클라이언트 또는 "Samba" 클라이언트의 서버로서 동작하고 있는 경우, 이 옵션은 pppd 에 1 또는 2 의 WINS (Windows Internet Name Services) 서버 주소를 클라이언트에 제공 하는 것을 허락합니다. 이 옵션의 최초의 인스턴스는 프라이머리 WINS 주소를 줍니다. 다음의 인스턴스는 (만약 주어지면) 세칸다리 WINS 주소를 줍니다.

name name
    인증의 목적으로 이용되는 로컬 시스템의 이름을 name 로 설정합니다. 이 옵션은 특권 옵션입니다. 이 옵션을 지정하면(자), pppd 는 비밀 정보 파일의 제 2 필드가 name 인 행을 사용해 비밀 정보를 찾아, 상대를 인증합니다. 게다가 user 옵션으로 덧쓰기하지 않는 경우는, 상대에 대해서 로컬 시스템을 자기 증명할 때에 보내는 이름으로서 name 를 사용합니다. (pppd 는 도메인명을 name 에 부가하지 않는 것에 주의해 주세요. )

netmask n
    인터페이스의 넷 마스크를 n 로 설정합니다. 32 비트의 넷 마스크를 「10 진수 닷」표기로 지정합니다 (예: 255.255. 255.0). 이 옵션이 주어지면(자), 디폴트의 넷 마스크와 지정한 넷 마스크 (와)과의 논리합이 값이 됩니다. 디폴트의 넷 마스크는 네고시에이트 된다 리모트의 IP 주소에 의존합니다. 리모트 IP 주소의 클래스에 적절한 넷 마스크와 동일 네트워크상 시스템의 비 point-to-point 네트워크 인터페이스 의 넷 마스크와의 논리합이 됩니다.

noaccomp
    Address/Control 압축을 쌍방향 (송수신)으로 무효로 합니다.

noauth
    상대가 자기 증명하는 것을 요구하지 않습니다. auth 옵션이 /etc/ppp/options 로 지정되어 있는 경우, 이 옵션은 특권 옵션입니다.

nobsdcomp
    BSD-Compress 압축을 무효로 합니다. BSD-Compress 방식을 사용한 패킷 압축을 pppd 는 요구도 찬동도 하지 않습니다.

noccp
    CCP (압축 제어 프로토콜; Compression Control Protocol) 네고시에이션을 무효로 합니다. 상대에게 버그가 있기 위해서(때문에), CCP 네고시에이션을 위한 pppd 로부터의 요구에 혼란해 버리는 경우에게만, 이 옵션이 필요합니다.

nocrtscts
    시리얼 포트에 하드웨어 플로우 콘트롤 (즉 RTS/CTS)을 사용하지 않습니다. crtscts 나 nocrtscts 의 양쪽 모두의 옵션이 주어지지 않을 때, 시리얼 포트의 하드웨어 플로우 콘트롤의 설정은 변경되지 않고 그대로 됩니다.

nodefaultroute
    defaultroute 옵션을 무효로 합니다. pppd 를 사용하고 있는 유저에게 디폴트 경로를 작성시키고 싶지 않다 시스템 관리 책임자는, 이 옵션을 /etc/ppp/options 파일에 기술할 수가 있습니다.

nodeflate
    Deflate 압축을 무효로 합니다. pppd 는 Deflate 방식을 사용한 압축 패킷을 요구하지않고, 찬동도 하지 않습니다.

nodetach
    제어 단말로부터 떼어내지 않습니다. 이 옵션을 지정하지 않으면 표준 입력이 있는 단말 이외의 시리얼 디바이스가 지정되었을 경우는, pppd 는 fork 해 백그라운드 프로세스가 됩니다.

noip
    IPCP 네고시에이션과 IP 통신을 무효로 합니다. 상대에게 버그가 있기 위해서(때문에), IPCP 네고시에이션을 위한 pppd 로부터의 요구에 혼란해 버리는 경우에게만, 이 옵션이 필요합니다.

noipdefault
    로컬 IP 주소가 지정되지 않는 경우에 디폴트로 행해지는, 호스트명으로부터 IP 주소를 (가능하면) 결정하는 동작을 무효로 합니다. 이 옵션을 지정했을 경우에는, IPCP 네고시에이션시에 상대측이 로컬의 IP 주소를 지정할 필요가 있습니다 (명시적으로 명령행으로 지정되어 있는지, 옵션 파일로 지정되어 있는 경우를 제외합니다).

noipx
    IPXCP 및 IPX 프로토콜을 무효로 합니다. 상대에게 버그가 있기 위해서(때문에), IPXCP 네고시에이션을 위한 pppd 로부터의 요구에 혼란해 버리는 경우에게만, 이 옵션이 필요합니다.

nomagic
    magic number 네고시에이션을 무효로 합니다. 이 옵션을 지정했을 경우에는, pppd (은)는 루프백 회선을 검출할 수가 없습니다. 상대에게 버그가 있는 경우에게만 필요합니다.

nopcomp
    송수신 방향과도, 프로토콜 필드 압축 네고시에이션을 무효로 합니다.

nopersist
    접속의 확립과 절단마다 종료합니다. persist 또는 demand 의 옵션이 지정되지 않는 경우, 이 옵션은 디폴트입니다.

nopredictor1
    Predictor-1 압축을 받아들이지않고, 찬동도 하지 않습니다.

noproxyarp
    proxyarp 옵션을 무효로 합니다. pppd 의 유저에게 proxy ARP 엔트리를 작성시키고 싶지 않은 시스템 관리 책임자는, 이 옵션을 /etc/ppp/options 파일에 기술하는 것으로 그처럼 할 수 있습니다.

novj
    Van Jacobson 형식의 TCP/IP 헤더 압축을 송수신 방향에 대해 무효로 합니다

novjccomp
    Van Jacobson 형식의 TCP/IP 헤더 압축에 대해, connection-ID 압축을 무효로 합니다. 이 옵션을 지정하면(자), pppd 는 Van Jacobson 압축된 TCP/IP 헤더로부터 connection-ID 바이트를 생략 하지 않게 되고, 상대에게도 의뢰하지 않습니다.

papcrypt
    상대의 동일성을 조사하기 위해서(때문에) 사용된다 /etc/ppp/pap-secrets 파일내의 모든 비밀 정보를 암호화하는 것을 지시합니다. pppd 는, 암호화전의 /etc/ppp/pap-secrets 파일로부터의 비밀 정보와 동일한 패스워드를 받아들이지 않습니다.

pap-max-authreq n
    PAP authenticate-request 의 최대 송신 회수를 n 회로 설정합니다 (기본값은 10).

pap-restart n
    (재발송의 타임 아웃에 의한다) PAP 재개의 간격을 n 초로 설정합니다 (기본값은 3).

pap-timeout n
    PAP 에 대해 접속처가 자기 증명할 때까지 pppd 하지만 대기하는 최대 시간을, n 초에 설정합니다 (0 은 제한을 마련하지 않는 것을 의미합니다).

pass-filter filter-expression
    송수신 되는 데이터 패킷에 적용되는 필터로, 통과가 용서되는 패킷을 결정하는 필터를 지정합니다. 필터가 거부하는 패킷은 입다물고 버려집니다. 특정의 네트워크 demon (예를 들면 routed)가 링크 밴드폭을 다 사용하는 것을 막거나 기본적인 파이어 월(fire wall) 기능을 제공하기 위해서, 이 옵션이 있습니다. filter-expression 의 문법은 tcpdump(1)와 같습니다만, 한정자는 PPP 링크에서는 부적당하므로, ether 나 arp 는 사용할 수 없습니다. 일반적으로는, 필터식을 싱글 쿼트로 괄은, 식중의 공백이 쉘로 해석되는 것을 피해야 합니다. inbound 와 outbound 의 한정자를 붙이는 것으로, 입출력의 패킷에 다른 제약을 적용 가능합니다. 이 옵션은 현재 NetBSD 에서만 이용 가능하고, 커널 및 pppd 가 PPP_FILTER 를 정의해 컴파일 되었을 경우만, 이 옵션을 이용 가능합니다.

persist
    접속이 절단 된 다음에 종료하지 않습니다. 대신에 재접속하려고 합니다.

predictor1
    상대가 송출하는 프레임을 Predictor-1 압축을 사용하도록(듯이) 요구해, 요구되었을 경우 Predictor-1 로 송출 프레임을 압축하는 것에 찬동 합니다. 커널 드라이버가 Predictor-1 압축을 서포트하지 않는 경우에는, 이 옵션은 영향 없습니다.

proxyarp
    자시스템의 ARP [주소 해결 프로토콜; Address Resolution Protocol] 테이블에 상대의 IP 주소 (와)과 자시스템의 이더넷 어드레스를 추가합니다. 다른 시스템에 대해서, 상대가 로컬 이더넷(ethernet)상에 있도록(듯이) 보이게 하게 됩니다.

remotename name
    리모트 시스템의 이름을 name 로 간주해 인증을 실시합니다.

refuse-chap
    이 옵션을 지정하면(자), pppd 는 상대에 대해서 자기 증명하기에 즈음해 CHAP 의 사용에 찬동 하지 않습니다.

refuse-pap
    이 옵션을 지정하면(자), pppd 는 상대에 대해서 자기 증명하기에 즈음해 PAP 의 사용에 찬동 하지 않습니다.

require-chap
    CHAP [챌린지 핸드 쉐이크 인증 프로토콜; Challenge Handshake Authentication Protocol] 를 이용해 자기 증명을 실시하는 것을 상대에게 요구합니다.

require-pap
    PAP [패스워드 인증 프로토콜; Password Authentication Protocol] 를 이용해 자기 증명을 실시하는 것을 상대에게 요구합니다.

silent
    이 옵션을 지정했을 경우, pppd (은)는 상대로부터 유효한 LCP 패킷을 수신할 때까지, 접속을 개시하기 위한 LCP 패킷을 송신하지 않고 기다립니다 ( 구버젼의 pppd 로 'passive'옵션을 지정했을 경우와 같은 동작입니다).

usehostname
    인증시에 호스트명을 로컬 시스템의 이름으로서 사용하는 것을 강제합니다 (도메인명이 주어지면 부가됩니다). (이 옵션은 name 옵션에 우선합니다. )

user name
    이 머신을 상대에 대해서 자기 증명할 때에 이용하는 유저명을 name 로 설정합니다.

vj-max-slots n
    Van Jacobson 의 TCP/IP 헤더 압축/신장에 사용하는 접속 슬롯수를 n 로 설정합니다. 2 에서 16 (양단을 포함한다)의 범위에 있을 필요가 있습니다.

welcome script
    PPP 네고시에이션 개시전 한편, (만약 있으면) 접속 스크립트의 완료 후에, script 로 지정되는 실행 명령 혹은 쉘 커멘드를 실행합니다. noauth 옵션이 사용되었을 경우에는, 이 옵션은 특권 옵션이 됩니다.

xonxoff
    소프트웨어 플로우 콘트롤 (즉 XON/XOFF)을 사용해 시리얼 포트상의 데이터 플로우(flow)를 제어합니다.

옵션 파일
옵션은, 명령행으로부터 주어지는 것과 같게, 파일에 기술된 것을 이용하는 일도 가능합니다. pppd (은)는, 명령행으로부터의 옵션을 읽어들이기 전에 /etc/ppp/options, ~/.ppprc, /etc/ppp/options.ttyname 로부터 (이 순서에) 옵션을 읽어들입니다. (실제로는, 단말명을 얻기 위해서(때문에) 명령행 옵션이 우선 스캔 되고 나서, options.ttyname 파일이 읽혀집니다. ) options.ttyname 파일명 구성에 해당해, 우선 /dev/ 가 단말명으로부터 제외해져 남은 / 캐릭터가 닷과 치환됩니다.

옵션 파일의 내용은, 공백 캐릭터를 딜리미터로 하는 단어의 줄로서 해석됩니다. 공백 캐릭터를 포함한 캐릭터 라인은 더블 쿼트 (")로 둘러싸는 것으로 1 개의 캐릭터 라인으로서 해석되게 됩니다. backslash (\)는, 직후의 1 캐릭터를 쿼트 합니다. 해시 캐릭터 (#)는 코멘트의 시작으로서 해석되어 개행까지를 코멘트로 간주합니다. 옵션 파일중에서의 file 및 call 의 옵션의 사용 제한은 없습니다.

보안
pppd (은)는, 정당한 유저에 대한 서버머신에의 PPP 액세스를 제공하면서, 서버 자신이나 그 서버가 존재하는 네트워크의 보안를 위험하게 쬘 걱정이 없는, 충분한 액세스 제어를 시스템 관리 책임자에 제공합니다. 이 액세스 제어의 일부는, /etc/ppp/options 파일에 의해 제공됩니다. 이 파일로 시스템 관리 책임자는 pppd 의 사용 제한을 설정할 수가 있습니다. 또 일부는, PAP 나 CHAP 의 비밀 정보 파일에 의해 제공됩니다. 이 파일로 개개의 유저가 사용하는 IP 주소의 조를 관리자가 제한할 수가 있습니다.

통상의 pppd 의 용도에 대해서는, auth 옵션을 /etc/ppp/options 파일로 설정해야 합니다. (장래의 릴리스에 대해 디폴트가 될지도 모릅니다. ) 유저가 pppd 를 사용해 상대에게 dial out 하고 싶은 경우로, 상대가 자기 증명하는 것을 거부하는 경우 (인터넷 서비스 프로바이더 등), 시스템 관리 책임자는 /etc/ppp/peers 하에 옵션 파일을 작성해, 여기에 noauth 옵션과 사용하는 시리얼 포트명과 (필요하면) connect 옵션과 그 외 적절한 옵션을 격납합니다. 이와 같이 하는 것으로, 비특권 유저가 신뢰 관계가 있는 상대와의 사이에 인증되지 않는 접속을 묶는 것을 가능 (으)로 합니다.

위에서 설명한 바와 같이, 보안에 영향을 주는 옵션은 특권 옵션이며, 통상의 비특권 유저가 setuid-root 된 pppd 에서는 사용할 수 없습니다. 이것은, 명령행에서도, 유저의 ~/.ppprc 파일에서도, file 옵션을 사용해 읽혀지는 옵션 파일에서도 말할 수 있는 것입니다. /etc/ppp/options 파일중, 혹은 call 옵션을 사용해 읽혀지는 옵션 파일중에서는, 특권 옵션의 사용은 용서됩니다. pppd 가 root 유저에 의해 기동되었을 경우, 특권 옵션의 사용은 무제한합니다.

인증
인증이란, 한편이 한편에 자기를 인정하게 하는 처리를 말합니다. 이것은, 한편이 자기의 이름을 한편에 보낼 때, 그 이름의 정당화 된 진짜의 사용자만으로부터 태어난다 어떤 종류의 비밀 정보를 수반하는 것을 필요로 합니다. 이러한 교환에 대해, 최초의 한편을 「클라이언트」라고 불러, 한편을 「서버」라고 부릅니다. 클라이언트는 자기를 서버에 식별시키기 위한 이름을 가져, 서버도 또 자기를 클라이언트에 식별시키기 위한 이름을 가집니다. 일반적으로 진짜의 클라이언트는 비밀 정보 (또는 패스워드)를 서버와 공유해, 자기를 증명하기에 즈음해 그 비밀 정보를 알고 있다고 전합니다. 인증에 사용되는 이름은 상대의 인터넷 호스트명에 대응하는 것이 많습니다만, 이것은 본질적인 일이 아닙니다.

현재 pppd 는 2 개의 인증 프로토콜을 서포트합니다: 각각, 패스워드 인증 프로토콜 (Password Authentication Protocol; PAP)과 챌린지 핸드 쉐이크 인증 프로토콜 (Challenge Handshake Authentication Protocol; CHAP)입니다. PAP 의 경우, 클라이언트는 자기 증명을 위해서(때문에), 자기의 이름과 clear text 패스워드를 서버에 보낼 필요가 있습니다. 이것과는 대칭적으로, CHAP 인증 교환은 서버가 개시해, 챌린지를 클라이언트에 보냅니다 (챌린지 패킷에는 서버명이 포함됩니다). 클라이언트는 이것에 대답할 필요가 있어, 대답안에 자기의 이름에 가세해 공유 비밀 정보와 챌린지로부터 얻을 수 있는 해시치를 포함해 자기가 비밀 정보를 알고 있다고 전할 필요가 있습니다.

PPP 프로토콜은 대칭적이기 때문에, 양자가 한편에 대해서 자기 증명을 실시하도록(듯이) 요구하는 것을 허락합니다. 이 경우, 2 개의 별들 또한 독립한 인증 교환이 발생합니다. 2 개의 교환에 대해 다른 인증 프로토콜을 사용할 수 있고, 원칙적으로는 다른 이름을 사용 가능합니다.

pppd 의 디폴트의 거동은, 만약 인증의 요구가 있으면 그것을 받아들여 상대 측에는 인증을 요구하지 않는다고 하는 것입니다. 다만, pppd 하지만 그 인증을 행하는데 필요한 비밀 정보를 가지고 있지 않다 특정의 프로토콜에 의한 인증은 거부합니다.

pppd 는 인증에 사용하는 비밀 정보를 비밀 정보 파일 (PAP 의 경우 /etc/ppp/pap-secrets, CHAP 의 경우 /etc/ppp/chap-secrets)에 격납합니다. 어느 쪽의 비밀 정보 파일도 같은 포맷입니다. 비밀 정보 파일에는, pppd 가 다른 시스템에 대해서 자기 증명하기 위한 비밀 정보를 격납한다 일이 생기고, 다른 시스템의 인증을 행하기 위한 비밀 정보를 격납하는 일도 가능합니다.

비밀 정보 파일중의 각 행은 1 개의 비밀 정보를 격납합니다. 특정의 비밀 정보는 있는 클라이언트와 서버의 편성에 대해서 특유입니다 - 이 클라이언트가 이 서버에 대해서 자기 증명하는 것에 마셔 사용됩니다. 비밀 정보 파일의 각 행은, 적어도 3 개의 필드로부터 됩니다: 각각, 클라이언트명, 서버명, 비밀 정보입니다. 지정한 서버로 지정한 클라이언트가 접속할 때에 사용한다 IP 주소 리스트를, 이러한 필드의 뒤에 이을 수가 있습니다.

비밀 정보 파일은 옵션 파일과 같이 단어의 줄로서 해석되기 때문에, 클라이언트명, 서버명, 비밀 정보의 각 필드는 1 어일 필요가 있어, 이것에 포함되는 공백 캐릭터나 특수 캐릭터는 쿼트 혹은 이스케이프 할 필요가 있습니다. 같은 행의 나머지의 말은, 클라이언트에 용서되는 IP 주소의 리스트로 여겨지는지, (와일드 카드도 아니게 하늘도 아니다) 특정의 클라이언트명을 포함한 행의 경우는 "local:remote" 주소 (명령행 혹은 옵션 파일로 공통 포맷) 에 우선합니다. 행에 3 어 밖에 없는 경우 혹은 최초의 말이 "-" 인 경우, 모든 IP 주소가 불허가가 됩니다. 전주소를 허가하려면 "*" 를 사용합니다. 또 "! " (으)로부터 시작되는 말은, 지정한 주소를 접수 없는일을 나타냅니다. 주소의 뒤에는 "/" 과 수치 n 를 계속하는 것이 가능하고, 전체의 서스네트워크를 나타냅니다. 즉, 모든 주소의 상위 n 비트가 같은 값이 됩니다. 클라이언트명, 서버명, 비밀 정보에 대해 대문자 소문자의 구별은 중요합니다.

비밀 정보가 `@'로부터 시작되는 경우, 후속 하는 것은 파일명이며, 거기로부터 비밀 정보를 읽어들이는 것으로 여겨집니다. 클라이언트명 혹은 클라이언트명에 단일의 것 "*" 을 사용하면(자), 어떠한 이름에도 매치 합니다. 비밀 정보를 선택할 때, pppd 는 베스트 매치, 즉 와일드 카드가 최소가 되는 매치을 채용합니다.

비밀 정보 파일에는, 다른 호스트를 인증하기 위한 비밀 정보에 가세해 다른 호스트에 대해서 자기 증명하기 위한 비밀 정보도 격납합니다. pppd 가 상대를 인증 (상대가 상대인 것을 확인)할 때, 비밀 정보의 검색에 해당해, 상대의 이름이 최초의 필드에 있어 로컬 시스템의 이름이 2 번째의 필드 에 있는 것을 선택합니다. 로컬 시스템명의 디폴트는 호스트명이며, domain 옵션 사용시에는 도메인명이 부가됩니다. 이 디폴트에는 name 옵션이 우선합니다만, usehostname 옵션이 사용되고 있는 경우는 예외입니다.

pppd 가 상대에 대한 자기 증명을 위한 비밀 정보를 선택할 때에는, 우선 어느 이름을 사용해 상대에 대해서 자기 식별할까를 결정합니다. 이 이름은 유저가 user 옵션으로 지정 가능합니다. 이 옵션이 사용되어 있지 않은 경우, 이름은 디폴트의 로컬 시스템명이 되어, 전의 단락으로 가리킨 것처럼 결정됩니다. 이렇게 해 pppd 는 비밀 정보의 검색에 해당해, 이 이름이 최초의 필드에 있어 상대의 이름이 2 번째의 필드 에 있는 것을 선택합니다. CHAP 인증이 사용되는 경우, 상대는 챌린지 패킷중에 상대의 이름을 포함하기 때문에, pppd 는 상대의 이름을 알게 됩니다. 그러나, PAP 가 사용되는 경우, 유저가 지정한 옵션을 바탕으로 pppd 는 상대의 이름을 결정합니다. 유저는 상대의 이름을 직접 remotename 로 지정 가능합니다. 그렇지 않는 경우로, 리모트 IP 주소가 (수치 형식이 아니고) 이름으로 지정되었을 경우, 그 이름을 상대의 이름으로서 사용합니다. 이것에 실패하면(자), pppd 는 상대의 이름에 공문자열을 사용합니다.

상대측을 PAP 로 인증할 때에, 제공되는 패스워드는 우선 비밀 정보 파일의 비밀 정보라고 비교됩니다. 만약 패스워드가 비밀 정보와 매치 하지 않으면, 패스워드는 crypt()를 사용해 암호화되어 다시 비밀 정보라고 비교됩니다. 이 때문에 상대측의 인증에 사용하는 비밀 정보는 암호화된 형식에서 기록할 수가 있습니다. papcrypt 옵션이 주어졌을 경우, 보다 좋은 보안이기 때문에 최초의 (암호화되어 있지 않다) 비교 대상은 제외됩니다.

더욱 만약 login 옵션이 지정되어 있으면, 유저명과 패스워드도 시스템 패스워드 데이타베이스로 체크됩니다. 이 때문에 시스템 관리 책임자는 특정의 유저인 만큼 PPP 액세스를 허가해, 개개의 유저가 사용할 수 있는 IP 주소의 조를 제한하도록(듯이) pap-secrets 파일을 설정할 수가 있습니다. 전형적으로는, login 옵션을 사용할 때에, /etc/ppp/pap-secrets 중의 비밀 정보를 "" 로 하는 것으로, 상대가 제공하는 어떠한 패스워드에도 매치 하게 됩니다. 이것에 의해, 같은 비밀 정보를 2 개소에서 필요하게 되는 것을 피할 수가 있습니다.

login 옵션이 사용되고 있을 때에는, 한층 더 확인을 합니다. /etc/ppp/ppp.deny 가 존재해, 유저가 거기에 기술되고 있는 경우, 인증은 실패합니다. /etc/ppp/ppp.shells 가 존재해, 유저의 통상의 로그인 쉘이 기술되어 있지 않은 경우, 인증은 실패합니다.

인증은 IPCP (또는 그 외의 네트워크 제어 프로토콜) 하지만 개시되기 전에 납득이 가도록(듯이) 완료하고 있을 필요가 있습니다. 상대가 자기 증명하는 것이 요구되고 있을 때에, 인증에 실패하면(자), pppd 는 (LCP 를 클로우즈 하는 것으로) 링크를 절단 합니다. 만약 IPCP 로 얻을 수 있던 리모트 호스트의 IP 주소가 받아들여지지 않는다 물건이었을 경우, IPCP 는 클로우즈 됩니다. IP 패킷은 IPCP 가 오픈하고 있는 때만 송수신 가능합니다.

로컬 호스트가 일반적으로 인증을 필요로 할 때에도, 접속을 실시해 한정된 IP 주소의 조의 1 개를 사용하기 위해서(때문에) 자기 증명을 할 수 없는 호스트에 대해서, 접속을 인정할 필요가 있는 경우도 있습니다. 만약 상대측이 이쪽의 인증 요구를 거부했을 경우, pppd 는 그것을 유저명과 패스워드가 공문자열인 PAP 인증으로서 취급합니다. 거기서, 클라이언트명과 패스워드에 공문자열을 지정한 1 행을 pap-secrets 파일에 추가하는 것으로, 자기 증명을 거부한다 호스트에도 제한포함의 액세스를 허가할 수가 있습니다.

경로 제어

IPCP 네고시에이션이 성공했을 경우, pppd (은)는 커널에, PPP 인터페이스로 이용하는 로컬 IP 주소 및 리모트 IP 주소를 통지합니다. 이것은, 상대측과 IP 패킷을 교환한다 링크의 리모트 종단에의 경로를 작성하는데 충분한 정보입니다. 서버 이외의 머신과의 통신에는, 일반적으로는 경로 테이블이나 ARP (주소 해결 프로토콜; Address Resolution Protocol) 테이블의 새로운 갱신이 필요합니다. 대부분의 경우 defaultroute 나 proxyarp 옵션으로 충분합니다만, 한층 더 해석이 필요한 경우도 있습니다. /etc/ppp/ip-up 스크립트가 사용 가능한 경우가 있습니다.

인터넷에의 접속을 PPP 인터페이스 경유만으로 실시하는 머신의 경우에는, 리모트 호스트를 통과하는 디폴트 경로의 추가가 바람직한 경우가 있습니다. defaultroute 옵션은, IPCP 가 완료했을 때에 pppd 에 그러한 디폴트 경로를 작성시켜, 링크가 절단 되었을 때에는 그 디폴트 경로를 삭제시킵니다.

예를 들면 서버머신이 LAN 에 접속되고 있는 경우, LAN 상의 다른 호스트가 리모트 호스트와 통신할 수 있도록(듯이) 하기 위해서 proxy ARP 의 사용이 바람직한 경우도 있습니다. proxyarp 옵션을 지정하면(자), pppd 는 리모트 호스트와 동일 서스네트워크상에 있다 (브로드캐스트와 ARP 를 서포트해, 동작중 한편 point-to-point 나 루프백이 아니다) 네트워크 인터페이스를 찾습니다. 그러한 인터페이스가 발견되었을 경우, pppd 는 항구적으로 공개된 ARP 엔트리로서 리모트 호스트의 IP 주소와 그 발견된 네트워크 인터페이스의 이더넷(ethernet) (MAC) 주소를 등록합니다.

demand 옵션 사용시는, IPCP 기동시에 인터페이스의 IP 주소는 설정이 끝난 상태입니다. pppd 가 인터페이스 설정에 사용한 것과 같은 주소를 네고시에이션 할 수 없었던 경우에는 (예를 들면 ISP 가 동적으로 IP 주소를 할당하는 경우), pppd 는 인터페이스의 IP 주소를 네고시에이트 된 것에 변경할 필요가 있습니다. 이 경우 기존의 접속을 파괴할지도 모르므로, 동적 IP 할당을 실시하는 상대와 요구시 다이얼을 실시하는 것은 권유받지 않습니다.

사용예

(ppp 의 배포의 디폴트의 /etc/ppp/options 파일과 같이) 이하의 예에서는 /etc/ppp/options 파일은 auth 옵션을 포함하는 것으로 합니다

아마 가장 일반적인 pppd 의 사용 방법은 ISP 에 dial out 하겠지요. 이 경우다음의 명령을 사용합니다.

    pppd call isp

여기서 /etc/ppp/peers/isp 파일은 시스템 관리 책임자가 다음과 같이 설정합니다:

    ttyS0 19200 crtscts
    connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
    noauth

이 예에서는, chat 를 사용해 ISP 의 모뎀에 다이얼 해, 필요한 로그 온 순차 순서를 통과합니다. /etc/ppp/chat-isp 파일은 chat 가 사용하는 스크립트를 포함합니다. 예를 들면 다음과 같이 되어 있습니다:

    ABORT "NO CARRIER"
    ABORT "NO DIALTONE"
    ABORT "ERROR"
    ABORT "NO ANSWER"
    ABORT "BUSY"
    ABORT "Username/Password Incorrect"
    "" "at"
    OK "at&d0&c1"
    OK "atdt2468135"
    "name:" "^Umyuserid"
    "word:" "\qmypassword"
    "ispts" "\q^Uppp"
    "~-^Uppp-~"

chat 스크립트의 상세한 것에 대하여는, chat(8)의 메뉴얼 페이지를 참조해 주세요.

pppd 는 또 통화중 ppp 서비스를 유저에게 제공하기 위해서 사용 가능합니다. 유저가 이미 로그인어카운트를 가지고 있는 경우에는, ppp 서비스의 가장 간단한 설정 방법법은, 유저에게 그 어카운트로 로그인받고 나서, (setuid-root 된) pppd 를 다음과 같이 실행하는 것입니다.

    pppd proxyarp

유저가 PPP 기능을 사용하는 것을 허락하기 위해서(때문에)는, 그 유저의 머신을 위한 IP 주소를 할당해 /etc/ppp/pap-secrets 또는 /etc/ppp/chap-secrets (유저의 머신의 PPP 실장이 어느 쪽의 인증 방법을 서포트할까에 의존합니다) 에 엔트리를 작성해, 유저의 머신을 인증 가능으로 합니다. 예를 들면, Joe 가 "joespc" 라고 하는 머신을 가지고 있어,"server" 라고 하는 머신에의 통화중 및 joespc.my.net 라고 하는 IP 주소의 사용이 용서되고 있는 경우, 다음과 같은 엔트리를 /etc/ppp/pap-secrets 또는 /etc/ppp/chap-secrets 에 더합니다:

    joespc    server    "joe's secret"    joespc.my.net

다른 방법으로서(예를 들면) "ppp" 라고 하는 유저명을 작성해, 그 로그인 쉘을 pppd 로 해, 홈 디렉토리를 /etc/ppp 로 하는 방법이 있습니다. 이 방법으로 pppd 를 실행하는 경우에 사용하는 옵션은 /etc/ppp/.ppprc 에 둘 수가 있습니다.

만약 당신의 시리얼 접속이 케이블 1 개가 아니고, 좀 더 복잡한 경우에는, 몇개의 제어 캐릭터가 이스케이프 되도록(듯이) 준비해 둘 필요가 있습니다. 특히, XON (^Q) 및 XOFF (^S)를, asyncmap a0000 를 이용해 이스케이프 하는 것은 자주 유효합니다. 패스가 telnet 를 포함한 경우에는, ^] 캐릭터도 이와 같이 이스케이프 (asyncmap 200a0000 를 지정) 할 필요가 있겠지요. 패스가 rlogin 를 포함한 경우에는, rlogin 클라이언트의 동작하고 있는 측의 호스트로 escape ff 를 지정할 필요가 있겠지요. 이것은, 많은 rlogin 의 실장이 네트워크 투과가 아니기 때문입니다. 그러한 rlogin 에서는, 0xff, 0xff, 0x73, 0x73 로 거기에 계속되는 8 바이트의 순차 순서를 스트림로부터 없앱니다.

진단

메세지는 LOG_DAEMON 퍼실리티를 이용해 syslog demon에게 보내집니다 (이것은 희망하는 퍼실리티를 LOG_PPP 매크로로서 정의해, pppd 를 재컴파일 하는 것으로 변경할 수가 있습니다). 에러 메세지나 디버그 메세지를 보기 위해서(때문에)는, /etc/syslogd.conf 파일을 편집해 pppd 로부터의 메세지가 희망하는 출력 디바이스나 파일에 써내지도록(듯이) 해 둘 필요가 있습니다.

debug 옵션은 송수신 되는 모든 제어 패킷의 내용이 로그에 기록되도록(듯이) 합니다. 대상이 되는 제어 패킷은, 모든 LCP, PAP, CHAP, IPCP 패킷입니다. 이 기능은, PPP 네고시에이션이 잘 되지 않는 경우나 인증이 실패하는 경우의 원인 구명에 효과적이지요. 컴파일시에 데밧깅오프션을 유효하게 하고 있었을 경우에는, debug 도 또한 다른 디버그 메세지를 기록하기 위해서 사용됩니다.

pppd 프로세스에 SIGUSR1 시그널을 보내 데밧깅을 유효하게 하는 것이 할 수 있습니다. 이것은 타글 동작합니다.

스크립트
pppd 는 처리의 여러가지 단계에 있어 스크립트를 기동해, 사이트 고유의 추가 처리를 실시합니다. 이러한 스크립트는 통상 셸 스크립트입니다만, 실행 가능 코드 파일이어도 괜찮습니다. pppd 는 스크립트가 종료할 때까지 기다리지 않습니다. 스크립트는 root 에서 (열매 유저 ID 및 실효 유저 ID 와도 0 으로 설정해) 실행되기 때문에, 경로 테이블의 갱신이나 특권 demon의 실행이 가능합니다. 이러한 스크립트의 내용에 의해 system security가 위험하게 안 되게 주의해 주세요. pppd 는 표준 입력·표준 출력·표준 에러 출력을 /dev/null 에 리디렉트 해, 링크의 정보를 주는 몇개의 환경 변수를 제외해 환경 변수를 비워, 스크립트를 실행합니다. pppd 가 설정하는 환경 변수를 이하에 나타냅니다:

DEVICE
    사용하고 있는 시리얼 tty 디바이스명.

IFNAME
    사용하고 있는 네트워크 인터페이스명.

IPLOCAL
    링크의 로컬측의 IP 주소. IPCP 가 일어섰을 때 마셔 설정됩니다.

IPREMOTE
    링크의 리모트측의 IP 주소. IPCP 가 일어섰을 때 마셔 설정됩니다.

PEERNAME
    상대의 인증된 이름. 상대가 자기 증명했을 경우만 설정됩니다.

SPEED
    tty 디바이스의 baud rate.

UID pppd 를 기동한 유저 열매 유저 ID.

pppd 는, 이하의 스크립트가 존재하면 기동합니다. 존재하지 않아도 에러가 아닙니다.

/etc/ppp/auth-up
    리모트 시스템이 성공리에 자기 증명한 다음에 실행된다 프로그램 또는 스크립트입니다. 다음의 것을 파라미터로서 실행됩니다.

    interface-name peer-name user-name tty-device speed

    상대가 자기 증명하지 않는 경우에는, 이 스크립트는 실행되지 않는 것에 주의해 주세요. 예를 들면 noauth 옵션이 사용될 때가 이것에 해당합니다.

/etc/ppp/auth-down
    /etc/ppp/auth-up 가 이전 실행된 다음에 링크가 떨어졌을 때에 실행된다 프로그램 또는 스크립트입니다. 이것은 /etc/ppp/auth-up 와 같은 파라미터를 주어, 같은 방법으로 실행됩니다.

/etc/ppp/ip-up
    그 링크로 IP 패킷의 송수신을 실시할 수 있게 되었을 때 (IPCP 가 완료했을 때)에 실행되는 프로그램 또는 스크립트입니다. 다음의 것을 파라미터로서 실행됩니다.

    interface-name tty-device speed local-IP-address remote-IP-address ipparam

/etc/ppp/ip-down
    그 링크로 IP 패킷의 송수신을 할 수 없게 되었을 경우에 실행된다 프로그램 또는 스크립트입니다. 이 스크립트는 /etc/ppp/ip-up 스크립트로 간 변경을 바탕으로 되돌리기 위해서(때문에) 이용됩니다. 이것은 ip-up 와 같은 파라미터를 주어, 같은 방법으로 실행됩니다.

/etc/ppp/ipx-up
    그 링크로 IPX 패킷의 송수신을 실시할 수 있게 되었을 때 (IPXCP 가 완료했을 때)에 실행되는 프로그램 또는 스크립트입니다. 다음의 것을 파라미터로서 실행됩니다.

    interface-name tty-device speed network-number local-IPX-node-address remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol local-IPX-router-name remote-IPX-router-name ipparam pppd-pid

    local-IPX-routing-protocol 및 remote-IPX-routing-protocol 의 필드는 이하의 머지않아인가입니다:

    NONE 경로 프로토콜이 없는 일을 나타냅니다
    RIP RIP/SAP 를 사용해야 하는 것인 것을 나타냅니다
    NLSP Novell NLSP 를 사용해야 하는 것인 것을 나타냅니다
    RIP NLSP RIP/SAP 와 NLSP 의 양쪽 모두를 사용해야 하는 것인 것을 나타냅니다

/etc/ppp/ipx-down
    그 링크로 IPX 패킷의 송수신을 할 수 없게 되었을 경우에 실행된다 프로그램 또는 스크립트입니다. 이 스크립트는 /etc/ppp/ipx-up 스크립트로 간 변경을 바탕으로 되돌리기 위해서(때문에) 이용됩니다. 이것은 ipx-up 와 같은 파라미터를 주어, 같은 방법으로 실행됩니다.

관련 파일

/var/run/pppn.pid (BSD 또는 Linux), /etc/ppp/pppn.pid (그 외)
    ppp 인터페이스 유니트 n 에 대응하는 pppd 프로세스의 프로세스 ID 가 기록됩니다.

/etc/ppp/pap-secrets
    PAP 인증으로 사용하는 유저명, 패스워드, IP 주소를 격납합니다. 이 파일은 root 가 소유해, 다른 유저는 읽고 쓰기할 수 있어 되지 않습니다. 그렇지 않은 경우 pppd 는 경고 로그를 실시합니다.

/etc/ppp/chap-secrets
    CHAP 인증으로 사용하는 이름, 비밀 정보, IP 주소를 격납합니다. 이 파일은 root 가 소유해, 다른 유저는 읽고 쓰기할 수 있어 되지 않습니다. 그렇지 않은 경우 pppd 는 경고 로그를 실시합니다.

/etc/ppp/options
    pppd 의 시스템 디폴트 옵션을 기술합니다. 유저 디폴트 옵션 및 명령 라인 옵션이 읽혀지기 전에 읽힙니다.

~/.ppprc
    유저 마다의 디폴트 옵션을 기술합니다. /etc/ppp/options.ttyname 이 읽혀지기 전에 읽힙니다.

/etc/ppp/options.ttyname
    각 시리얼 포트의 시스템 디폴트 옵션을 지정합니다. ~/.ppprc 의 다음에 읽혀집니다. 이 파일명의 ttyname 부분의 구성에 해당해, 우선 /dev/ 가 (존재하면) 포트명으로부터 제외해져 남은 slash가 닷에 치환됩니다.

/etc/ppp/peers
    pppd 가 비 root 유저에 의해 기동되었다고 해도 특권 옵션을 포함해 상관없는 옵션 파일을 포함한 디렉토리입니다. 시스템 관리 책임자는 옵션 파일을 이 디렉토리안에 작성하는 것으로써, 비특권 유저가 상대의 인증을 요점 좌도에 dial out 가능으로 합니다. 그러나, 신뢰 관계가 있는 상대만 가능합니다.

/etc/ppp/ppp.deny
    시스템의 패스워드에 의한 PAP 인증을 사용하게 한 않는 유저를 기술합니다.

/etc/ppp/ppp.shells
    시스템의 패스워드에 의한 PAP 인증 로그인을 위해서(때문에) 적절한 쉘을 기술합니다.

/usr/share/examples/pppd/
    샘플의 pppd 설정 파일.

관련 항목
chat(8), ppp(8)

RFC1144
    Jacobson, V. Compressing TCP/IP headers for low-speed serial links. February 1990.

RFC1321
    Rivest, R. The MD5 Message-Digest Algorithm. April 1992.

RFC1332
    McGregor, G. PPP Internet Protocol Control Protocol (IPCP). May 1992.

RFC1334
    Lloyd, B. ; Simpson, W.A. PPP authentication protocols. October 1992.

RFC1661
    Simpson, W.A. The Point-to-Point Protocol (PPP). July 1994.

RFC1662
    Simpson, W.A. PPP in HDLC-like Framing. July 1994.

주의
이하의 시그널이 pppd 에 보내졌을 경우, 여기서 설명하는 효과를 얻을 수 있습니다.

SIGINT, SIGTERM
    이러한 시그널을 수신했을 경우, pppd 는 (LCP 를 클로우즈 하는 것으로) 링크를 절단 해, 시리얼 디바이스의 설정을 복원해, 프로그램을 종료합니다.

SIGHUP
    물리층의 링크 절단을 지시합니다. pppd 는 시리얼 디바이스의 설정을 복원해, 시리얼 디바이스를 닫습니다. persist 또는 demand 의 옵션이 지정되어 있는 경우, pppd 는 시리얼 디바이스를 재오픈해, (억제 기간을 두고 나서) 새로운 접속을 시작하려고 합니다. 그렇지 않은 경우는, pppd 는 종료합니다. 이 시그널을 억제 기간에 받으면(자), pppd 는 억제 기간을 곧바로 종료합니다.

SIGUSR1
    이 시그널은, debug 옵션 상태를 반전합니다.

SIGUSR2
    이 시그널은, pppd 에 압축을 뒤따라 다시 네고시에이트 시킵니다. 이것은, 치명적인 신장 에러의 결과로서 압축을 멈춘 다음에, 다시 압축을 유효하게 하기 위해서 편리합니다. (치명적인 신장 에러는 일반적으로 어느 쪽인가의 실장상의 버그를 나타냅니다. )

저자
Paul Mackerras (Paul.Mackerras@cs.anu.edu.au)가, Drew Perkins, Brad Clements, Karl Fox, Greg Christy, Brad Parker 의 작업을 바탕으로 작성했습니다.