PPP(8)

명칭
ppp - PPP (Point to Point Protocol) (별명 user-ppp)

서식
ppp [- mode] [-nat] [-quiet] [-unitN] [-alias] [system ...]

해설
본프로그램은, 유저 프로세스로서 동작한다 PPP 패키지입니다. PPP (은)는 통상, ( pppd(8) 그리고 그렇게 되고 있도록(듯이)) 커널의 일부로서 실장됩니다만, 그 때문에, 디버그나 동작의 변경이 조금 어려운 경우가 있습니다. 그에 대해, 이 실장에서는 터널 디바이스 드라이버 (tun)를 이용해, 유저 프로세스로 PPP (을)를 실현하고 있습니다.

-nat 플래그는, “nat enable yes” (와)과 등가이며, ppp 의 네트워크 어드레스 변환 기능을 유효하게 합니다. 이것에 의해 ppp (은)는, 내부 LAN 상의전머신에 대한 NAT, 즉 마스카레이딘그엔진으로서 동작합니다. NAT 엔진의 기술적인 자세한 것은 libalias(3) (을)를 참조해 주세요. ppp 에서의 NAT 의 구성의 방법에 대해서는, 본메뉴얼 페이지의 네트워크 어드레스 변환 (패킷 앨리어싱(aliasing)) (을)를 참조해 주세요.

-quiet 플래그를 지정하면(자), ppp (은)는 기동시에 조용하게 되어, 모드와 인터페이스를 표준 출력에 표시하지 않게 됩니다.

-unit 플래그는, ppp 하지만 /dev/tunN 만의 오픈을 시도하도록(듯이) 지정합니다. 통상, ppp 하 N 에 대해서 값 0 으로부터 개시해, 성공할 때까지 N (을)를 값 1 두개증가시켜, 터널 디바이스의 오픈을 시도합니다. 디바이스 파일이 존재하지 않기 위해(때문에), 3 회 연속해 실패하면(자), 단념합니다.

ppp (은)는 다음의 mode (을)를 이해합니다:

-auto
    ppp (은)는 tun 인터페이스를 오픈해, 이것을 설정한 후 백그라운드가 됩니다. 출력 데이터가 tun 인터페이스상에서 검출될 때까지 링크는 올라가지 않고, 출력 데이터가 tun 인터페이스상에서 검출되면(자) ppp (은)는 링크를 올리려고 합니다. ppp 하지만 링크를 올리려 하고 있는 동안에 수신한 패킷 (최초의 것을 포함합니다)(은)는, 디폴트로 2 분간 큐에 머무릅니다. 후술의 “set choked” 명령을 참조해 주세요.

    -auto 모드에서는, 명령행에는 적어도 1 개(살)의 “system” (을)를 지정할 필요가 있어 (후술), 인터페이스 설정시에 사용하는 상대의 IP 주소를 지정한다 “set ifaddr” (을)를, 시스템 프로파일로 실행할 필요가 있습니다. 통상, “10.0. 0.1/0” (와)과 같은 것이 적절합니다. 예로서는, /usr/share/examples/ppp/ppp.conf.sample 의 “pmdemand” 시스템을 참조해 주세요.

-background
    이 경우, ppp (은)는 상대와의 접속을 곧바로 확립하려고 합니다. 성공하면(자), ppp (은)는 백그라운드가 되어, parent process는 종료 코드 0 을 돌려줍니다. 실패하면(자), ppp (은)는 비 0 의 결과로 종료합니다.

-foreground
    foreground 모드에서는, ppp (은)는 상대와의 접속을 곧바로 확립하려고 합니다만, demon로는 되지 않습니다. 링크는 백그라운드 모드로 작성됩니다. ppp 의 기동을 다른 프로세스로부터 제어하고 싶은 경우에 유용합니다.

-direct
    이것은 입력 접속을 받아들이기 위해서(때문에) 사용합니다. ppp 하 “set device” 행을 무시해, 링크에 기술자 0 을 사용합니다.

    콜백의 설정을 실시하면, 다이얼 백시에 ppp 하 “set device” 정보를 사용합니다.

-dedicated
    이 옵션은, 전용선으로 접속된 머신을 위해서(때문에) 디자인되고 있습니다. ppp (은)는 디바이스를 항상 오픈에 유지해, 설정 chat script는 일절 사용하지 않습니다.

-ddial
    -auto 모드와 등가입니다만, 하등의 이유로 링크가 떨어졌을 경우에 ppp 하지만 재차 링크를 올리는 것이 다릅니다.

-interactive
    이것은 no-op 이며, 전술의 플래그가 어느 것도 지정되지 않았던 경우의 동작을 실시합니다. ppp (은)는 명령행으로 지정된 섹션을 로드해, 대화 prompt를 제공합니다.

( /etc/ppp/ppp.conf (으)로 지정된다) 설정 엔트리, 즉 system 를, 명령행으로 1 개 이상 지정 가능합니다. 기동시에 ppp 하 /etc/ppp/ppp.conf (으)로부터 “default” 시스템을 읽어들여, 그 후 명령행으로 지정한 각 system 를 읽어들입니다.

주된 특징

대화적인 유저 인터페이스를 제공 명령 모드로 이용하는 경우, 유저가 커멘드를 입력하는 것으로, 간단하게 리모트 컴퓨터와의 접속의 확립, 접속 상태의 확인, 접속의 절단을 실시할 수가 있습니다. 옵션으로서 보안 확보를 위해서(때문에) 모든 기능을 패스워드로 보호할 수가 있습니다.

수동과 자동에서의 다이얼을 서포트 대화 모드에서는, 직접 디바이스와 통신할 수 있도록(듯이) “term” 명령이 준비되어 있습니다. 리모트 호스트와 접속되어, PPP 에서의 통신이 시작되면(자), ppp (은)는 그것을 검출해 자동적으로 패킷레벨로 이행합니다. 한번 리모트 호스트와의 접속에 필요한 명령 순차 순서를 알 수 있으면(자), 후에의 접속을 간단하게 하기 위한(해), 필요한 다이얼 순서나 로그인 순서를 정의했다 chat script를 쓸 수가 있습니다.

On Demand에서의 다이얼 업을 서포트 -auto 모드 (자동 모드)에서는 ppp (은)는 demon로서 동작해, PPP 링크를 통해 보내지는 패킷을 기다려 받습니다. 패킷을 검출하면(자), demon가 자동적으로 다이얼을 실시해 접속을 확립합니다. -ddial 모드 (직접 다이얼 모드)에서도 거의 같이 자동 다이얼과 접속의 확립을 실시합니다. 그렇지만 이 모드는, 보내야 할 패킷이 존재하지 않는 경우에도, 링크가 끊어져 있는 것을 검출하면(자) 언제라도 리모트에 다이얼 한다고 하는 점이 auto 모드와 다릅니다. 이 모드는, 전화요금보다 상시 접속되고 있는 것이 중시되는 경우에 유용합니다. 3 번째의 -dedicated 모드 (전용선 모드)도 이용 가능합니다. 이 모드는 2 개의 머신간의 전용선을 대상으로 하고 있습니다. 전용선 모드에서는 ppp (은)는 자발적으로 동작을 종료할 것은 없습니다 - 종료하려면 “quit all” 명령을 진단 소켓을 개입시켜 보낼 필요가 있습니다. SIGHUP (은)는 LCP 의 재네고시에이션을 강요해, SIGTERM (은)는 종료를 강요합니다.

클라이언트 콜백을 서포트 ppp (은)는 표준 LCP 콜백 프로토콜 및 Microsoft 콜백 제어 프로토콜 (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) (을)를 사용할 수 있습니다.

NAT, 즉 패킷 앨리어싱(aliasing)를 서포트 패킷 앨리어싱(aliasing) (별명: IP 가면)에 의해, 미등록으로 사적인 네트워크상의 컴퓨터로부터도 인터넷에 액세스 하는 것이 가능합니다. PPP 호스트는 가면 게이트웨이로서 동작합니다. 송신 패킷의 IP 주소와 TCP 나 UDP 의 포트 번호는 어느쪽이나 NAT 되어 답신 패킷에서는 앨리어스(alias)가 바탕으로 되돌려집니다.

백그라운드 PPP 접속을 서포트 백그라운드 모드에서는, 접속을 확립하는데 성공했을 경우에 ppp (은)는 demon가 됩니다. 그 이외의 경우는 에러로 종료합니다. 이것에 의해, 접속이 성공리에 확립했을 경우만 명령을 실행하는 것 같은 스크립트 (을)를 셋업 할 수가 있습니다.

서버로서의 PPP 접속을 서포트 다이렉트 모드에서는, ppp (은)는 표준 입력/표준 출력으로부터의 PPP 접속을 받아들이는 서버로서 동작시킬 수가 있습니다.

PAP 와 CHAP (rfc 1994, 2433 및 2759)에 의한 인증을 서포트 PAP 혹은 CHAP 를 이용하는 것으로, Unix 스타일의 login(1) 수속을 스킵 해, PPP 프로토콜을 대표해에 인증에 사용하는 것이 가능합니다. 상대가 Microsoft CHAP 인증을 요구해, 한편 ppp 하지만 DES 를 서포트하도록(듯이) 컴파일 되고 있는 경우, 적당한 MD4/DES 응답이 이루어집니다.

RADIUS (rfc 2138 & 2548) 인증을 서포트 PAP 와 CHAP 의 확장이다 Remote Access Dial In User Service (은)는, 집중 데이타베이스 또는 분산 데이타베이스에, 유저 마다 다른 접속 특성을 포함한 인증 정보를, 격납할 수 있습니다. 컴파일시에 libradius(3) 하지만 이용 가능한 경우, 이용하도록(듯이) 설정하면(자), ppp (은)는 이것을 사용해 RADIUS 요구를 작성합니다.

대리 arp (Proxy Arp)를 서포트 ppp 하지만 상대를 위해서(때문에) 1 개 이상의 대리 arp 엔트리를 작성하도록(듯이), 설정 가능합니다. LAN 상의 각 머신에서의 설정을 실시하지 않고 , 상대측으로부터 LAN 에의 루팅을 가능으로 합니다.

패킷의 필터링을 서포트 유저는 4 종류의 필터를 정의할 수 있습니다. in (은)는 수신 패킷에 대한 필터입니다. out (은)는 송신 패킷에 대한 필터입니다. dial (은)는 다이얼을 실시하는 계기가 되는 패킷을 정의하는 필터로, alive (은)는 접속을 보관 유지하기 위한 패킷을 정의하는 필터입니다.

터널 드라이버는 bpf (Berkeley Packet Filter)를 서포트 PPP 링크를 흐르는 패킷을 조사하기 위해서(때문에), tcpdump(1) (을)를 사용할 수가 있습니다.

PPP 오바 TCP 및 PPP 오바 UDP 를 서포트 디바이스명이 host:port [/tcp|udp], 형식에서 지정되었을 경우, ppp (은)는 통상의 시리얼 디바이스를 사용하는 것이 아니라, 데이터 전송을 위한 TCP 또는 UDP 의 접속을 엽니다. UDP 접속은, ppp (을)를 강제적으로 동기 모드로 합니다.

PPP 오바 ISDN 를 서포트 ppp 하지만 오픈해야 할 링크로서 생의 B 채널 i4b 디바이스를 지정하면(자), isdnd(8) (이)라고 대화해 ISDN 접속을 확립할 수 있습니다.

PPP 오바이사넷트를 서포트 (rfc 2516) ppp 하지만 PPPoE:iface [:provider] 의 서식의 디바이스 지정이 주어져 netgraph(4) 하지만 이용 가능한 경우, ppp 하 iface 네트워크 인터페이스를 사용해, provider 에 대해서 PPP 오바이사넷트를 이야기하려고 합니다.

netgraph(4) (을)를 서포트하지 않는 시스템상에서는, pppoe(8) (와)과 같은 외부 프로그램을 사용 가능합니다.

IETF 드래프트의 Predictor-1 (rfc 1978)와 DEFLATE (rfc 1979) 압축을 서포트 ppp (은)는 VJ 압축 외에 Predictor-1 와 DEFLATE 압축도 서포트하고 있습니다. 모뎀은 통상 (예를 들면 v42.bis 와 같은) 편입의 압축기노우를 가지고 있어 그 결과 시스템은 보다 높은 데이터 레이트로 통신할 수 있습니다. 이것은 일반적으로는 좋은 일입니다만, 보다 고속의 데이터에 의해 시리얼 회선으로부터의 세치기가 증가합니다. 시스템은 이 세치기를 모뎀과 통신해 처리하지 않으면 안 되기 때문에, 시스템의 부하와 지연 시간이 증가하게 됩니다. VJ 압축과는 달라, Predictor-1 와 DEFLATE 압축은 링크를 통과한다 모든 네트워크 트래픽을 미리 압축해 두는 것으로, 오버헤드를 최소로 합니다.

Microsoft 의 IPCP 확장을 서포트 (rfc 1877) Microsoft 의 PPP 스택을 사용하는 클라이언트 (즉 Win95, WinNT)와의 사이에 네임서버의 주소와 NetBIOS 네임서버의 주소를 네고시에이션 할 수 있습니다.

멀티 링크 PPP 를 서포트 (rfc 1990) 접속처에의 복수의 물리적인 회선을 오픈해, 모든 링크의 대역폭을 맞추어보다 높은 throughput를 얻을 수 있습니다.

MPPE (draft-ietf-pppext-mppe)의 서포트 MPPE 는, Microsoft 사의 Point to Point 암호화 기구입니다. ppp (을)를 설정해, Microsoft Windows 의 가상 프라이빗 네트워크 (VPN)에 참가할 수 있게 됩니다. 현재로서는, ppp (은)는, CHAP 81 인증 기구로부터 밖에 암호열쇠를 취득할 수가 없습니다. MPPE 를 동작시키기 위해서(때문에)는, DES 돌출하고 ppp (을)를 컴파일 하지 않으면 안됩니다.

IPV6CP (rfc 2023)를 서포트 통상의 IPv4 접속에 대한 추가 혹은 옮겨놓고로서 IPv6 접속을 사용 가능합니다.

퍼미션
ppp (은)는 유저 root , 그룹 network , 퍼미션 04554 그리고 인스톨 됩니다. 디폴트에서는 ppp (은)는, 기동한 유저 ID 가 0 이 아닌 경우에는 실행하지 않습니다. 이것은 “allow users” 명령을 /etc/ppp/ppp.conf 에 기재하는 것으로써 변경하는 것이 가능합니다. 통상 유저로서 실행하는 경우에는, ppp (은)는 유저 ID 0 으로 바뀌어, 시스템의 경로표의 변경과 시스템 락 파일의 작성과 ppp 의 설정 파일의 읽기를 실시합니다. 모든 외부 명령 ("shell" 나 "! bg" 로 실행됩니다)는, ppp (을)를 기동한 유저 ID 로 실행됩니다. 유저 ID 0 에서 정확하게 뭐를 하고 있는지에 흥미가 있는 경우에는, 로그 기능의 ‘ID0’ (을)를 참조해 주세요.

시작하기 전에
최초로 ppp (을)를 실행할 때에는, 몇개의 초기설정을 정돈할 필요가 있습니다.

•   커널에 터널 디바이스가 포함되어 있는 것이 필요합니다 (GENERIC 커널에서는 디폴트로 1 개 포함됩니다). tun 디바이스가 포함되지 않은 경우나, 복수의 tun 인터페이스가 필요한 경우, 다음의 행을 커널 설정 파일에 추가해, 커널을 재구축 할 필요가 있습니다:

        pseudo-device tun N

    여기서 N 하 PPP 접속을 실시하고 싶은 최대의 수입니다.

•   /dev 디렉토리에 터널 디바이스의 엔트리 /dev/tunN (이)가 있는지 어떤지를 조사해 주세요. 여기서 ‘N’ (은)는, 0 으로부터 시작되는 tun 디바이스의 번호입니다. 도 해 무 이상하면,"sh . /MAKEDEV tunN" 를 실행하면 만들 수가 있습니다. 이것에 의해 0 으로부터 N 까지의 tun 디바이스가 작성됩니다.

•   당신의 시스템의 /etc/group 파일에 “network” 그룹이 있어, 그 그룹이 ppp (을)를 사용하면(자) 상정되는 모든 유저명을 포함하고 있는 것을 확인해 주세요. 자세한 것은 group(5) 메뉴얼 페이지를 참조해 주세요. 또, 이러한 유저는 /etc/ppp/ppp.conf 파일로 “allow users” 명령을 사용해 액세스권이 주어지지 않으면 안됩니다.

•   로그 파일을 작성합니다. ppp 하 syslog(3) (을)를 사용해 정보를 기록합니다. 통상의 로그 파일명은 /var/log/ppp.log 입니다. 이 파일에 출력을 실시하기 위해서(때문에)는, 다음의 행을 /etc/syslog.conf 파일에 기술해 주세요:

        ! ppp
        *. *<TAB>/var/log/ppp.log

    ppp 의 실행 형식에 링크를 작성하는 것으로써, 복수의 PPP 로그 파일을 가지는 것이 가능합니다:

        # cd /usr/sbin
        # ln ppp ppp0

    (으)로서 /etc/syslog.conf 그리고

        ! ppp0
        *. *<TAB>/var/log/ppp0.log

    (으)로 합니다. /etc/syslog.conf (을)를 갱신한 후에, syslogd(8) 에 HUP 시그널을 보내는 것을 잊지 마세요.

•   엄밀하게는 ppp 의 조작과는 관계 없습니다만, resolver가 올바르게 일하도록(듯이) 설정하는 것이 좋을 것입니다. 이것은 ( named(8) (을)를 이용해) 로컬인 DNS 서버를 설정하는지, 혹은 /etc/resolv.conf 파일에 적절한 ‘nameserver’ 행을 더하는 것으로 행해집니다. 자세한 것은 resolv.conf(5) 의 메뉴얼을 참조해 주세요.

    다른 방법으로서 만약 접속처가 서포트하고 있는 경우에는 ppp 하지만 접속 먼저 네임서버의 주소를 물어, 자동적으로 /etc/resolv.conf (을)를 갱신할 수가 있습니다. 자세한 것은 후술의 “enable dns” 명령와 “resolv” 명령을 참조해 주세요.

수동 다이얼
다음의 예에서는, 당신의 머신명이 awfulhak 이다고 하여 설명합니다. ppp (을)를 인수 없음으로 기동하면(자) (전술의 퍼미션 참조) 다음의 prompt가 표시됩니다:

    ppp ON awfulhak>

prompt의 ‘ON’ 의 부분은 항상 대문자여야 합니다. 여기가 소문자의 경우, “passwd” 명령을 사용해 패스워드를 입력해야 하는 것을 의미합니다. 실행중의 ppp 에 접속해, 아직 올바른 패스워드를 입력하고 있지 않는 경우에게만 이러한 상태가 됩니다.

    ppp ON awfulhak> set device /dev/cuaa0
    ppp ON awfulhak> set speed 38400

통상 하드웨어 플로우 콘트롤 (CTS/RTS)을 사용합니다. 그러나, 특정의 경우 (특정의 PPP 가능한 단말 서비스에 직접 접속하고 있는 경우에 일어날 수 있습니다), ppp 하지만 통신 링크에 데이터를 기입하려고 했을 때에, 영원히 오지 않는 CTS (송신시에 클리어) 시그널을 기다리는 것으로 ppp 하지만 헹 합니다. 직통선으로 접속할 수 없는 경우는, “set ctsrts off” 그리고 CTS/RTS 를 오프로 해 보세요. 이것이 필요한 경우, 후술의 “set accmap” 의 기술도 참조해 주세요 - “set accmap 000a0000” 도 필요할지도 모릅니다.

통상, 패리티는 “none” (으)로 설정합니다. 이것이 ppp 의 디폴트입니다. 패리티는 어느 쪽인가 하면 고풍스러운 에러 체크 기구이며, 이제 와서는 사용하지 않습니다. 최근의 모뎀은 각자의 에러 체크 기구를 가지고 있어 대부분의 링크층 프로토콜 ( ppp (은)는 이것입니다)는 보다 신뢰할 수 있는 체크 기구를 사용합니다. 패리티는 상대적으로 큰 오버헤드를 가지기 때문에 (트래픽이 12.5% 증가합니다), PPP 하지만 오픈되면(자) 항상 무효화 ( “none” (으)로 설정) 됩니다. 그러나, ISP (인터넷 서비스 프로바이더)에 따라서는, 특정의 패리티 설정을 접속시 ( PPP 하지만 오픈하기 전)에 사용하는 것이 있습니다. 특히, Compuserve 는 로그인시에 짝수 패리티를 고집하고 있습니다:

    ppp ON awfulhak> set parity even

여기서, 현재의 디바이스 설정이 어떻게 되어 있을까 볼 수 있습니다:

    ppp ON awfulhak> show physical
    Name: deflink
     State:           closed
     Device:          N/A
     Link Type:       interactive
     Connect Count:   0
     Queued Packets:  0
     Phone Number:    N/A
    Defaults:
     Device List:     /dev/cuaa0
     Characteristics: 38400bps, cs8, even parity, CTS/RTS on
    Connect time: 0 secs
    0 octets in, 0 octets out
    Overall 0 bytes/sec
    ppp ON awfulhak>

여기에서는, 직접 디바이스와 통신하기 위해서 term 명령을 사용 가능합니다:

    ppp ON awfulhak> term
    at
    OK
    atdt123456
    CONNECT
    login: myispusername
    Password: myisppassword
    Protocol: ppp

상대가 PPP 그리고 이야기하기 시작하면(자), ppp (은)는 그것을 자동적으로 검출해 명령 모드로 돌아옵니다.

    ppp ON awfulhak>               # 링크는 확립해 있지 않습니다
    Ppp ON awfulhak>               # 접속 완료, LCP 완료
    PPp ON awfulhak>               # 인증 완료
    PPP ON awfulhak>               # IP 주소 합의 완료

이와 같이 안 되는 경우, 접속처가 이쪽의 네고시에이션 개시를 기다리고 있을 가능성이 있습니다. 강제적으로 ppp 에 접속처에의 PPP 설정 패킷의 송출을 개시시키기 위해서(때문에)는 “~p” 명령을 사용해, 단말 모드를 빠져 패킷레벨로 이행해 주세요.

그런데도 로그인 prompt를 얻을 수 없는 경우, Unix 적인 로그인/패스워드 인증이 아니고, PAP 또는 CHAP 의 인증을, 상대는 요구하고 있을 가능성이 매우 높습니다. 올바르게 설정하기 위해서는, prompt로 돌아와, 인증용의 이름과 키를 설정해, 재차 접속합니다:

    ~.
    ppp ON awfulhak> set authname myispusername
    ppp ON awfulhak> set authkey myisppassword
    ppp ON awfulhak> term
    at
    OK
    atdt123456
    CONNECT

여기서 재차, 네고시에이션을 개시하도록(듯이) ppp 로 지정할 수 있습니다:

    ~p
    ppp ON awfulhak>               # 링크는 확립해 있지 않습니다
    Ppp ON awfulhak>               # 접속 완료, LCP 완료
    PPp ON awfulhak>               # 인증 완료
    PPP ON awfulhak>               # IP 주소 합의 완료

이것으로 접속되었습니다! prompt의 ‘PPP’ 하지만 대문자에 변화해, 접속된 것을 알립니다. 만약 3 개의 P 중 몇개인가만이 대문자가 되어 있는 경우에는, 모든 캐릭터가 대문자 혹은 소문자가 될 때까지 기다려 주세요. 만약 소문자로 돌아왔을 경우에는, 그것은 ppp 하지만 접속처와의에 네고시에이션에 성공하지 않았던 것을 의미합니다. 이 시점에서의 문제 해결의 제 일보로서는, 다음과 같이 해, 재도전합니다.

    ppp ON awfulhak> set log local phase lcp ipcp

자세한 것은, 아래와 같은 “set log” 명령의 설명을 참조해 주세요. 이 시점에서도 실패하는 경우, 로그를 유효하게 해 재도전하는 것이 매우 중요합니다. prompt의 변화에 주의해, 당신을 도와 주는 사람에게 보고하는 일도 또 중요합니다.

링크가 확립하면(자), show 명령을 사용하는 것으로, 어떻게 사태가 진행되고 있는지를 압니다:

    PPP ON awfulhak> show physical
    * 모뎀 관련의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show ccp
    * CCP (압축) 관련의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show lcp
    * LCP (회선 제어) 관련의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show ipcp
    * IPCP (IP) 관련의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show ipv6cp
    * IPV6CP (IPv6) 관련의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show link
    * (고레벨) 링크 관계의 정보가 여기에 표시됩니다 *
    PPP ON awfulhak> show bundle
    * (고레벨) 논리 접속 관계의 정보가 여기에 표시됩니다 *

이 시점에서, 머신은 접속 먼저 대하는 호스트 단위의 경로 (host route) (을)를 가지고 있습니다. 이것은 링크의 상대의 호스트라는 보고 접속 가능하다라고 말하는 의미입니다. 디폴트 경로의 엔트리 (다른 경로 엔트리를 가지지 않고 , 전패킷을 PPP 링크의 상대에게 보낸다 같게, 당신의 머신에 지시합니다)를 추가하고 싶으면, 다음의 명령을 입력해 주세요.

    PPP ON awfulhak> add default HISADDR

‘HISADDR’ 그렇다고 하는 캐릭터 라인은, 상대측의 IP 주소를 나타냅니다. 기존의 경로를 위해서(때문에) 실패하는 경우에는,

    PPP ON awfulhak> add!  default HISADDR

(을)를 이용하는 것으로 기존의 경로를 덧쓰기할 수 있습니다. 이 명령은, 실제로 접속을 작성하기 전에 실행 가능합니다. 새로운 IP 주소를 접속시에 네고시에이트 하는 경우, 이것에 따라 ppp 하지만 디폴트 경로를 갱신합니다.

여기서, (ping, telnet, ftp 와 같은) 네트워크 어플리케이션을, 당신의 머신의 다른 윈도우 또는 단말로 사용 가능합니다. 현재의 단말을 재이용하고 싶은 경우, ppp (을)를 백그라운드 모드로 하기 위해서(때문에), 표준의 쉘의 중지와 백그라운드 명령 (통상 “^Z” 의 후에 “bg”) (을)를 사용 가능합니다.

사용 가능 명령의 자세한 것은 PPP 명령 리스트 시에를 참조해 주세요.

자동 다이얼
자동 다이얼을 실시하기 위해서(때문에)는, 다이얼과 로그인의 chat script를 준비하지 않으면 안됩니다. 정의의 예는 /usr/share/examples/ppp/ppp.conf.sample (을)를 봐 주세요 ( /etc/ppp/ppp.conf 의 서식은 매우 간단합니다). 각 행은 단일의 코멘트, 인클루드, label, 명령의 어느쪽이든을 포함합니다.

•   (“#”) 캐릭터로 시작되는 행은, 코멘트로서 다루어집니다. 코멘트행으로 인식했을 경우, 선행하는 공백은 무시됩니다.

•   인클루드는 말 ‘! include’ (으)로부터 시작되는 행입니다. 1 개의 인수 - 인클루드 하는 파일 - 을 가질 필요가 있습니다. 낡은 버젼의 ppp (와)과의 호환성을 위해서(때문에), “! include ~/.ppp.conf” (을)를 사용하고 싶을지도 모릅니다.

•   label는 줄머리로부터 시작되어, 마지막에 코론 (“”): 하지만 계속되지 않으면 안됩니다.

•   명령행은, 최초의 자리수에 공백이나 탭을 포함할 필요가 있습니다.

/etc/ppp/ppp.conf 파일에는 적어도 “default” 섹션이 존재할 필요가 있습니다. 이 섹션은 항상 실행됩니다. 이 파일에는 1 개 이상의 섹션이 포함됩니다. 섹션명은 용도에 응해 붙입니다. 예를 들면, “MyISP” (은)는 당신의 ISP 를 나타내거나 “ppp-in” (은)는 입력의 ppp 구성을 겉(표)충분합니다. ppp (을)를 시작할 때에, 접속처의 label명을 지정 가능합니다. “default” label에 관계된 명령이 실행되고 나서, 접속처 label에 관련 지을 수 있었던 명령이 실행됩니다. ppp (을)를 인수 없음으로 기동했을 경우, “default” 만일 수 있는은 실행됩니다. load 명령을 사용해, /etc/ppp/ppp.conf 의 섹션을 수동으로 로드 가능합니다:

    ppp ON awfulhak> load MyISP

섹션 로드 후에는, ppp (은)는 어떠한 동작도 실시하지 않는 것에 주의해 주세요. 이것은, 명령행으로 label를 지정한 결과에서도, “load” 명령을 사용한 결과에서도 와 같습니다. 설정 파일중에서, 그 label에 대해서 지정된 명령만이, 실행됩니다. 한편, ppp (을)를 -background, -ddial, -dedicated 의 몇개의 스윗치 첨부로 기동했을 때에는, ppp 하지만 접속을 확립하도록(듯이), 링크 모드가 지시합니다. 한층 더 상세한 것에 대하여는, 후술의 “set mode” 명령을 참조해 주세요.

한번 접속이 확립했다면, prompt의 ‘ppp’ 하 ‘PPP’ (으)로 바뀝니다:

    # ppp MyISP
    ...
    ppp ON awfulhak> dial
    Ppp ON awfulhak>
    PPp ON awfulhak>
    PPP ON awfulhak>

Ppp prompt는 ppp 하지만 인증 국면에 들어간 것을 나타냅니다. PPp prompt는 ppp 하지만 네트워크 국면에 들어간 것을 나타냅니다. PPP prompt는 ppp 하지만 네트워크층 프로토콜의 네고시에이션에 성공해, 사용 가능 상태에 있는 것을 나타냅니다.

만약 /etc/ppp/ppp.linkup 하지만 이용 가능하면, PPP 접속이 확립되었을 때에, 그 내용이 실행됩니다. 접속이 확립된 후의 백그라운드에서의 스크립트 실행에 대해서는, 제공되고 있다 /usr/share/examples/ppp/ppp.conf.sample (사용 가능한 치환 캐릭터 라인에 대해서는, 후술의 “shell” (와)과 “bg” (을)를 참조해 주세요)의 “pmdemand” 의 예를 참조해 주세요. 같이 접속이 닫혀지면(자), /etc/ppp/ppp.linkdown 파일의 내용이 실행됩니다. 이러한 파일의 포맷은 /etc/ppp/ppp.conf (와)과 같습니다.

이전의 버젼의 ppp 그럼, 디폴트 경로와 같은 경로는 ppp.linkup 파일로 다시 추가할 필요가 있었습니다. 현재는 ppp (은)는, HISADDR, MYADDR, HISADDR6, MYADDR6 하지만 변화했을 때에, 자동적으로 이러한 캐릭터 라인을 포함한 모든 경로를 갱신한다 ‘스티키 경로’ (을)를 서포트합니다.

백그라운드 다이얼
ppp (을)를 사용해 비대화적으로 접속을 확립하고 싶은 경우 (예를 들면 crontab(5) 엔트리나 at(1) 작업으로부터 사용하는 것 같은 경우)에는, -background 옵션을 사용합니다. -background 하지만 지정되었을 경우, ppp (은)는 곧바로 접속을 확립하려고 합니다. 복수의 전화번호가 지정되었을 경우에는, 각 전화번호가 1 회씩 시험 받습니다. 이것들에 실패하면(자), ppp (은)는 즉석에서 종료해, 0 이 아닌 종료 코드를 돌려줍니다. 접속에 성공하면(자) ppp (은)는 demon가 되어, 호출 측에 종료 코드 0 을 돌려줍니다. demon는, 리모트 시스템이 접속을 종료했을 경우, 혹은 TERM 시그널을 받았을 경우에, 자동적으로 종료합니다.

다이얼 On Demand
디맨드 다이얼 기능은 -auto 또는 -ddial 옵션에서 유효하게 됩니다. 이 경우에도 /etc/ppp/ppp.conf 그리고 정의된 접속처의 label를 지정하지 않으면 안됩니다. 이것에는, 리모트 접속처의 IP 주소를 지정하기 위한 “set ifaddr” 명령도 쓰여지지 않으면 안됩니다 ( /usr/share/examples/ppp/ppp.conf.sample (을)를 참조해 주세요).

    # ppp -auto pmdemand

-auto 또는 -ddial 하지만 지정되었을 때에 ppp (은)는 demon로서 동작합니다만, /etc/ppp/ppp.conf 안으로 “set server” 명령을 사용하는 것으로, 설정을 확인하거나 변경하거나 할 수가 있습니다. (예를 들어, “set server +3000 mypasswd” (으)로 하면(자)) 다음과 같이 진단 포트를 통해서 접속할 수가 있습니다.

    # pppctl 3000	(tun0 를 가정)
    Password:
    PPP ON awfulhak> show who
    tcp (127.0. 0.1:1028) *

“show who” 명령은 현재 ppp 자신에게 접속하고 있는 유저의 일람을 표시합니다. 진단 소켓이 닫혀지는, 혹은 다른 소켓으로 변경되었을 경우, 모든 접속은 즉석에서 종료합니다.

-auto 모드에서 송신 패킷이 검출되었을 때, ppp (은)는 (chat script에 근거해) 다이얼을 실시해, 통신 상대에게 접속하려고 합니다. -ddial 모드에서는 회선이 다운하고 있는 것이 확인되었을 경우에는 언제라도 다이얼을 합니다. 접속에 실패하면(자), 디폴트의 동작에서는 30 초간 기다리고 나서, 다른 송신 패킷이 검출되었을 때에 접속하려고 합니다.

이 동작은 “set redial” 명령로 변경할 수 있습니다.

set redial secs [+inc [-max] ][.next] [attempts]

secs
    (은)는, 다시 접속하려고 할 때까지의 초수입니다. 인수가 리터럴 캐릭터 라인 ‘random’ 의 경우에는, 대기 시간을 1 초 이상으로부터 30 초 이하의 사이에 랜덤에 선택합니다.
inc (은)는 초수이며, 신규에 다이얼 할 경우에 secs 에 더해집니다. 이 타임 아웃치가 secs 에 돌아오는 것은, 접속이 성공리에 확립한 후만입니다. inc 의 기본값은 0 입니다.
max (은)는, ppp 하지만 secs (을)를 증가시키는 최대 회수입니다. max 의 기본값은 10 입니다.
next
    (은)는 전화번호 리스트안의 다음의 번호를 다이얼 하기 전에 기다리는 초수입니다. ( “set phone” 명령을 참조해 주세요). 이것의 디폴트는 3 초입니다. 반복합니다만, 인수가 리터럴 캐릭터 라인 ‘random’ 의 경우에는, 대기 시간을 1 초 이상 30 초 이하의 사이에 랜덤에 선택합니다.
attempts
    (은)는, 받은 개개의 송신 패킷에 대해서, 최대 몇회 접속을 시도하는지를 나타낸다 숫자입니다. 파라미터를 생략 하면(자), 이전의 값은 변경되지 않습니다. attempts 에 0 을 지정하면(자), 접속될 때까지 시도를 계속합니다.

    set redial 10.3 4

(은)는 개개의 송신 패킷에 대해서 4 회 접속을 시도해 번호간의 대기 시간이 3 초로, 모든 번호를 시험한 후에 10 초 기다리는 것을 나타냅니다. 복수의 전화번호가 지정되어 있는 경우에서도, 토탈의 다이얼 회수는 4 회인 채입니다. (각각의 번호를 4 회 다이얼 하는 것은 아닙니다).

대신에,

    set redial 10+10-5. 3 20

(은)는, ppp 에 접속을 20 회 시도하게 합니다. 최초의 시도의 뒤는, ppp (은)는 10 초 기다립니다. 다음의 시도의 뒤는 20 초 대기라고 하는 것을, 6 번째의 시도의 다음에는 1 분 기다리는 곳(중)까지 실시합니다. 다음의 14 회의 정지는, 같은 1 분간이 됩니다. ppp 하지만 접속해, 절단 한 후, 재차 접속에 실패했을 경우, 타임 아웃치는 재차 10 초부터 개시합니다.

링크의 양단이 ppp 의 -auto 다이얼 모드를 이용하고 있는 경우는, 다이얼 간격을 변경해 두는 것이 좋을 것입니다. 만약, 링크의 양단이 같은 타임 아웃 시간으로 설정되어 있어, 링크가 끊어져 양쪽 모두에 송신 기다리는 패킷이 있었을 경우, 양쪽 모두가 동시에 상대를 서로 호출하게 되어 버립니다. 장소에 따라서는, 시리얼 링크에 신뢰성이 없고, 끊어져야 하는 것이 아닐 때에 캐리어가 없어질지도 모릅니다. 세션의 도중에 예기 하지 않고 캐리어가 없어졌을 경우, ppp 에 리다이얼 시킬 수가 있습니다.

    set reconnect timeout ntries

이 명령은, 캐리어가 없어졌을 때에 timeout 초의 간격을 두어 ntries 회까지 접속을 재확립하는 듯 ppp 에 지시합니다. 예를 들면,

    set reconnect 3 5

(은)는, 예기치 못한 캐리어 상실 시에 3 초 기다리고 나서 재접속을 시도하도록(듯이) ppp 에 지시합니다. 이것은 ppp 하지만 포기하기 전에 5 회까지 행해집니다. ntries 의 기본값은 0 (재접속하지 않는다)입니다. 이 옵션을 사용하려면 주의가 필요합니다. 만약 로컬측의 타임 아웃이 리모트측보다 조금 길면 리모트측이 타임 아웃에 의해 회선을 절단 했을 경우에, 재접속 기능이 (지정한 회수까지) 기동되어 버립니다. 주: 이 문맥에 대해서는, 많은 LQR 를 상실하면(자) 캐리어 상실을 일으켜, 나아가서는 재접속을 일으킵니다. -background 플래그가 지정되었을 경우, 접속을 실시할 수 없을지 모든 전화번호가 최대 1 회 다이얼 됩니다. “set redial” 명령에서, 리다이얼 기간의 뒤에, 재접속 회수를 지정합니다. 리다이얼치가 지정한 전화번호수보다 적은 경우, 지정한 전화번호로 사용되지 않는 것을 할 수 있습니다. 프로그램을 종료시키려면 , 다음과 같이 입력해 주세요.

    PPP ON awfulhak> close
    ppp ON awfulhak> quit all

“quit” 명령은 pppctl(8) 혹은 telnet(1) 에 의한 접속을 종료합니다만, 프로그램 자신은 종료시키지 않습니다. ppp 도 종료시키고 싶은 경우에는, “quit all” (을)를 실행해 주세요.

PPP 접속의 수락 (방법 그 1)
PPP 접속 요구를 받아들이려면 , 다음의 순서에 따라 주세요.

1.  모뎀과 (필요하면) /etc/rc.serial 하지만 올바르게 설정되어 있는 것을 확인합니다.
    •   flow control에는 하드웨어 핸드쉐이크 (CTS/RTS)를 사용합니다.
    •   모뎀은 반향을 실시하지 않고 (ATE0), 명령의 결과도 보고하지 않는다 (ATQ1) 같게 설정되어 있지 않으면 안됩니다.

2.  모뎀이 접속되고 있는 포트로 getty(8) 하지만 기동되도록(듯이) /etc/ttys (을)를 편집합니다. 예를 들면, 다음과 같이 설정하면 좋을 것입니다:

        ttyd1 "/usr/libexec/getty std. 38400" dialup on secure

    getty(8) (을)를 기동하기 위해서 init(8) 프로세스에 HUP 시그널을 보내는 것을 잊지 말아 주세요:

        # kill -HUP 1

    통상, 당신의 모뎀의 DTR 속도를 getty 와 같게 설정할 필요가 있습니다:

        # ppp
        ppp ON awfulhak> set device /dev/cuaa1
        ppp ON awfulhak> set speed 38400
        ppp ON awfulhak> term
        deflink: Entering terminal mode on /dev/cuaa1
        Type `~? ' for help
        at
        OK
        at
        OK
        atz
        OK
        at
        OK
        ~.
        ppp ON awfulhak> quit

3.  /usr/local/bin/ppplogin 파일을 다음과 같은 내용으로 작성합니다:

        #! /bin/sh
        exec /usr/sbin/ppp -direct incoming

    다이렉트 모드 (-direct) 그럼, ppp (은)는 표준 입력과 표준 출력을 사용해 동작합니다. 클라이언트 동작의 ppp (와)과 같게, pppctl(8) (을)를 사용하는 것으로, 구성된 진단 포트에 접속 가능합니다.

    여기서 /etc/ppp/ppp.conf 안의 incoming 섹션이 설정되어 있지 않으면 안됩니다.

    incoming 섹션에 적당한 “allow users” 명령이 있는 것을 확인해 둬 주세요.

4.  받아들이는 유저의 어카운트를 준비해 주세요.

        ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin

    자세한 것은 adduser(8) (와)과 vipw(8) 의 메뉴얼 항목을 참조해 주세요. “accept dns” 및 “set nbns” 명령을 사용하는 것으로 IPCP 에 의한 도메인 네임서버와 NetBIOS 네임서버의 네고시에이션을 유효하게 하는 것이 가능합니다. 아래와 같은 기술을 참조해 주세요.

PPP 접속의 수락 (방법 그 2)
이 방법은, login(1) (은)는 아니고 ppp 그리고 접속의 인증을 실시한다고 하는 점이 다릅니다.

1.  /etc/gettytab 의 default 섹션에 “pp” 케이파비리티를 지정하는 것으로 ppp 를 자동적으로 인식하도록(듯이) 설정해 주세요.

        default:\
        	:pp=/usr/local/bin/ppplogin:\
        	.....

2.  상기의 방법 그 1 의 최초의 3 순서와 같이, 시리얼 디바이스를 설정해, getty(8) (을)를 유효하게 해, /usr/local/bin/ppplogin (을)를 작성해 주세요.

3.  /etc/ppp/ppp.conf 의 ‘incoming’ label (혹은 ppplogin 하지만 이용하는 label라면 뭐든지 상관하지 않습니다) 아래에 “enable chap” 인가 “enable pap” (혹은 그 양쪽 모두) (을)를 더해 주세요.

4.  /etc/ppp/ppp.secret 에, 받아들이는 유저 각각 붙어, 엔트리를 작성해 주세요.

        Pfred<TAB>xxxx
        Pgeorge<TAB>yyyy

이것으로, getty(8) (은)는 (HDLC 프레임 헤더를 인식하는 것으로) ppp 접속을 검출하자, 곧바로 “/usr/local/bin/ppplogin” (을)를 실행합니다.

상기와 같이 PAP 혹은 CHAP 를 유효하게 하는 것은 필수 입니다. 그렇게 하지 않으면, 모든 사람이 당신의 머신에 패스워드 없이 ppp 세션을 확립하는 것을 허가해, 모든 종류의 잠재적인 공격에 대해서 출입문을 열고 있게 됩니다.

내향 접속의 인증
통상, 접속의 수신측은 상대가 상대 자신을 인증하는 것을 요구합니다. 이것은 통상 login(1) 에서 행해집니다만, 대신에 PAP 나 CHAP 를 사용 가능합니다. 2 개(살)중에서 CHAP 가 보다 안전합니다만, 클라이언트에 따라서는 서포트하고 있지 않는 것이 있습니다. 어느 쪽을 사용하고 싶은가 결정하면(자), ‘enable chap’ 또는 ‘enable pap’ (을)를 ppp.conf 의 적절한 섹션에 추가해 주세요.

그 후, /etc/ppp/ppp.secret 파일의 설정을 실시할 필요가 있습니다. 이 파일은, 클라이언트가 될 수 있는 머신 마다 1 행을 포함합니다. 각 행은 5 개까지의 필드로부터 됩니다:

name key [ hisaddr [label [callback-number]]]

name (와)과 key (은)는 기대되는 클라이언트의 유저명과 패스워드를 지정합니다. key 하지만 “*” 그리고 PAP 가 사용되는 경우, ppp (은)는 인증시에 패스워드 데이타베이스 (passwd(5)) (을)를 검색합니다. ppp.secret 의 어떤 name/ key 의 편성에 대해도 적절하지 않은 대답을 클라이언트가 주는 경우, 인증은 실패합니다.

인증에 성공했다면, (지정시에는) hisaddr (을)를 IP 번호 네고시에이션시에 사용합니다. 자세한 것은 “set ifaddr” 명령을 참조해 주세요.

인증에 성공해 label 하지만 지정되었을 경우, 현재의 시스템 label는 label 에 매치 하도록(듯이) 수정됩니다. 이것은 파일 ppp.linkup (와)과 ppp.linkdown 의 후속의 파스에 영향이 있습니다.

인증에 성공해 callback-number 하지만 지정되고 “set callback” 하지만 ppp.conf 그리고 지정되었을 경우, 클라이언트는 지정된 번호로 콜백 됩니다. CBCP 가 사용되는 경우, “set cbcp” 명령에 건네주는 것과 같은 형식에서, callback-number 에도 또한 번호의 리스트 또는 “*” (을)를 포함하는 것이 가능합니다. 이 값은, ppp 그리고 후속 하는 CBCP 국면으로 사용합니다.

PPP 오바 TCP 와 PPP 오바 UDP (별명: 터널링)
시리얼 링크상 이외의 ppp 의 사용 방법으로서 device 에 호스트와 포트를 지정하는 것으로써, TCP 접속을 사용하는 것이 가능합니다:

    set device ui-gate:6669/tcp

시리얼 디바이스를 오픈하는 대신에, ppp (은)는 지정된 머신의 지정된 소켓에의 TCP 접속을 오픈합니다. ppp (은)는 telnet 프로토콜을 사용하지 않는 것, telnet 서버와 네고시에이션 할 수 없는 것에 주위를 기울여야 합니다. 수신 머신 (ui-gate) 상에, 이 ppp 접속을 수신하는 포트를 설정할 필요가 있습니다. 우선 /etc/services (을)를 갱신해, 서비스를 정의합니다:

    ppp-in 6669/tcp # Incoming PPP connections over tcp

그리고 /etc/inetd.conf (을)를 갱신해, 이 포트에의 수신 접속을 어떻게 취급할까를 inetd(8) 에 지시합니다:

    ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in

/etc/inetd.conf (을)를 갱신한 후에는, inetd(8) 에 HUP 시그널을 보내는 것을 잊지 마세요. 여기에서는 label명 “ppp-in” (을)를 사용합니다. ui-gate (수신측)의 /etc/ppp/ppp.conf 엔트리는 다음의 내용을 포함합니다:

    ppp-in:
     set timeout 0
     set ifaddr 10.0. 4.1 10.0. 4.2

또, /etc/ppp/ppp.linkup 안의 엔트리에는, 다음과 같은 것을 포함하지 않으면 안됩니다.

    ppp-in:
     add 10.0. 1.0/24 HISADDR

ppp 하지만 네고시에이션을 실시해, 인터페이스에 주소를 할당해 몸양귀비나 경로를 추가하지 않게, ppp.linkup 파일중에는 “add” 명령을 둘 필요가 있습니다.

보안를 위해서(때문에) PAP 혹은 CHAP 의 설정을 하고 싶을지도 모릅니다. PAP 를 유효하게 하려면 다음의 행을 추가합니다:

     enable PAP

또, 다음의 엔트리를 /etc/ppp/ppp.secret 에 작성할 필요가 있습니다:

    MyAuthName MyAuthPasswd

MyAuthPasswd 하지만 “*” 의 경우에는, 패스워드는 passwd(5) 데이타베이스로부터 검색됩니다.

awfulhak (기동측)의 /etc/ppp/ppp.conf 엔트리는 다음의 내용을 포함할 필요가 있습니다:

    ui-gate:
     set escape 0xff
     set device ui-gate:ppp-in/tcp
     set dial
     set timeout 30
     set log Phase Chat Connect hdlc LCP IPCP IPV6CP CCP tun
     set ifaddr 10.0. 4.2 10.0. 4.1

그리고, /etc/ppp/ppp.linkup 파일중에 경로의 설정도 붙입니다.

    ui-gate:
     add 10.0. 2.0/24 HISADDR

PAP 를 유효하게 한다면, /etc/ppp/ppp.conf 프로파일중에, 다음과 같은 설정도 필요합니다.

     set authname MyAuthName
     set authkey MyAuthKey

우리는, ui-gate 에 10.0. 4.1 의 주소를 할당해 awfulhak 에 10.0. 4.2 의 주소를 할당하려 하고 있습니다. 접속을 오픈하기 위해서는, 다음의 내용을 타이프 치는 것만으로 좋습니다.

    awfulhak # ppp -background ui-gate

결과적으로, awfulhak 에는 네트워크 10.0. 2.0/24 에의 새로운 「경로」가, ui-gate 에는 네트워크 10.0. 1.0/24 에의 새로운 「경로」가, TCP 접속 경유로 각각 작성됩니다. 네트워크는 실질적으로 브릿지 됩니다 - 하위 레벨의 TCP 접속은 공공적인 네트워크 (예를 들면 인터넷)를 걸쳐도 좋습니다. 또 2 개의 게이트웨이간으로는 ppp 트래픽은 개념적으로 TCP 스트림중에서 캡슐화됩니다 (패킷이 패킷에 대응하는 것은 아닙니다).

이 기구의 큰 결점은, 동시에 2 개(살)의 「배송 프로텍션」기구가 존재하는 것입니다 - 이 2 개(살)이란, 하위 레벨의 TCP 스트림과 PPP 링크상에서 사용되는 프로토콜이며, 아마 또 TCP 지요. 패킷 상실이 일어나면(자), 양자는 각각의 방법으로 상실했다 패킷을 재발송하려고 하겠지요.

이 오버헤드를 피하기 위해서(때문에), 트랜스폴트로서 TCP 대신에 UDP 를 사용할 수 있습니다. 이것은 단지 프로토콜을 "tcp" 로부터 "udp" 로 바꾸는 것만으로 가능합니다. 트랜스폴트로서 UDP 를 사용할 때, ppp (은)는 동기 모드로 동작합니다. 입력 데이터가 패킷에 재구성되지 않는다고 하는, 다른 이점도 있습니다.

이와 같이, 터널 된 설정을 통해 디폴트의 경로를 추가한다 때로는 주의해 주세요. 디폴트의 경로 ( /etc/ppp/ppp.linkup 에 추가됩니다) 하지만, 최종적으로는 링크의 터널 경유의 TCP 접속을 루팅 하게 되는 것은 잘 일어나는 것이어, 결과적으로 접속을 좁혀 버리게 됩니다. 이것을 피하기 (위해)때문에, 터널 경유의 접속이 도움이 되도록(듯이), 정적 경로를 추가하는 것을 잊지 말아 주세요.

    ui-gate:
     set escape 0xff
     set device ui-gate:ppp-in/tcp
     add ui-gate x.x.x.x
     .....

여기서, “x.x.x.x” (은)는, “ui-gate” 에의 경로가 통상 사용하는 IP 주소입니다.

인터넷과 같은, 공공의 네트워크를 통해 접속을 루팅 시키는 경우, 데이터를 암호화하는 (분)편이 바람직합니다. MPPE 프로토콜의 도움을 빌리면, 그것이 가능하게 됩니다. 그러나, 현재로서는, MPPE 가 압축층으로서 실장하고 있다 (이 점에 관해서는 Microsoft 사에 감사하는) 같게, 트래픽을 압축할 수도 있다는 것이 아닙니다. MPPE 암호화를 유효하게 하려면 , 다음과 같은 행을 서버측의 /etc/ppp/ppp.conf 에 추가해 주세요.

      enable MSCHAPv2
      disable deflate pred1
      deny deflate pred1

그 때, /etc/ppp/ppp.secret 에 필요한 엔트리를 둔 것을 확인해 주세요 (MSCHAPv2 는 챌린지 코드 베이스입니다. 그 때문에, passwd(5) (은)는 사용하지 않습니다).

MSCHAPv2 및 MPPE 는 디폴트로 받을 수가 있습니다. 그러므로, 클라이언트측에서는, 아무것도 변경을 더하지 않아도 움직일 것입니다 (입니다만, 프로파일중에 “set authname” (와)과 “set authkey” (이)가 있는 것은 확인해 주세요).

네트워크 어드레스 변환 (패킷 앨리어싱(aliasing))
-nat 명령행 옵션에 의해, 네트워크 어드레스 변환 (별명, 패킷 앨리어싱(aliasing))이 유효하게 됩니다. 이것에 의해, ppp 호스트가 근거리 통신망의 다른 컴퓨터에 대해서 가면 게이트웨이로서 동작하게 됩니다. 송신되는 IP 패킷은, 마치 ppp 호스트로부터 왔는지와 같이 NAT 되어 수신 패킷은, 그것이 근거리 통신망의 올바른 머신에 보내지도록(듯이) NAT 가 되돌려집니다. NAT 에 의해, 미등록으로 사적인 서스네트워크상의 컴퓨터를 외부로부터 안보이게 하면서, 인터넷에 액세스 가능으로 합니다. 일반적으로, ppp 하지만 올바르게 동작하고 있는 것의 확인은, 우선 최초로 네트워크 어드레스 변환을 금지해 실시합니다. 다음에 -nat 옵션을 유효하게 해, ppp 호스트 위에서 (웹 브라우저나 telnet(1), ftp(1), ping(8), traceroute(8) 등의) 네트워크 어플리케이션의 동작을 확인합니다. 마지막으로, LAN 상의 다른 컴퓨터 위에서 동일한 어플리케이션의 동작을 확인하게 됩니다. ppp 호스트에서는 네트워크 어플리케이션이 올바르게 동작하는데, LAN 상의 다른 컴퓨터에서는 움직이지 않는 것이면, 가면 소프트웨어는 올바르게 움직이고 있지만, 호스트가 IP 패킷을 forwarding 하지 않는지, 혹시 패킷이 보내져 와 있지 않은가의 어느 쪽인지입니다. /etc/rc.conf 그리고 IP forwarding가 유효하게 되고 있는 것으로, 다른 컴퓨터로 ppp 호스트가 그 LAN 의 게이트웨이로서 지정되어 있는 것을 확인해 주세요.

패킷의 필터링
이 실장에서는, 패킷의 필터링이 서포트되고 있습니다. in 필터, out 필터, dial 필터, 그리고 alive 필터의 4 종류의 필터가 있습니다. 여기에서는 기본적인 일에 대해 쓰기로 하겠습니다.

•   필터 정의는 다음과 같은 구문이 되어 있습니다.

    set filter name rule-no action [!] [ [host] src_addr[/width] [dst_addr[/width]]] [proto [src cmp port] [dst cmp port] [estab] [syn] [finrst] [timeout secs]]

    1.  name 하 ‘in’, ‘out’, ‘dial’, ‘alive’ 의 머지않아인가입니다.

    2.  rule-no 하 ‘0’ (으)로부터 ‘39’ 까지의 수치로, 룰 번호를 지정합니다. 룰은 rule-no 의 번호순서로 지정됩니다. 다만 룰 ‘0’ 하지만 지정되어 있는 경우만입니다.

    3.  action 하 ‘permit’, ‘deny’ (을)를 지정 가능하고, 어느 패킷이 이러한 룰에 일치했을 경우, 묶을 수 있었던 action 가 즉시 실행됩니다. 또 action 에는 ‘clear’ 도 지정 가능합니다. 이 경우, 이 룰에 묶을 수 있었던 action 를 클리어 합니다. 또 action 에는, 현재의 룰 번호보다 큰 룰 번호를 지정 가능합니다. 이 경우에는, 어느 패킷이 현재의 룰에 일치했을 경우, (다음의 룰 번호대신에) 이 새로운 룰에 대해서 다음에 패킷이 일치하는지를 확인합니다.

        action 에는 느낌표 (“!”) (을)를 계속하는 것이 가능합니다. 이 경우, ppp (은)는 후속 하는 일치의 의미를 반전시킵니다.

    4.  [src_addr[/width]] (와)과 [dst_addr[/width]] (은)는 시점과 종점의 IP 주소입니다. [/width] 하지만 지정되었을 경우에는, 거기에 따라 적절한 넷 마스크의 비트치를 줘 주소의 범위를 지정할 수가 있습니다.

        src_addr (와)과 dst_addr 에는, MYADDR, HISADDR, MYADDR6 또는 HISADDR6 그렇다고 하는 값을 사용 가능합니다 (이러한 값의 해설은 “bg” (을)를 참조해 주세요). 이러한 값을 사용했을 경우, 이러한 값이 변화할 때마다 필터가 갱신됩니다. 이것은, 후술의 “add” 명령의 동작과 닮아 있습니다.

    5.  proto 하 protocols(5) 안의 임의의 프로토콜입니다.

    6.  cmp 하 ‘lt’, ‘eq’, ‘gt’ 의 쳐 어느쪽이든 1 개(살)입니다. 각각, 보다 작은, 동일한, 보다 큰을 의미합니다. port (은)는 포트 번호로 지정하는지, /etc/services 의 서비스명으로 지정할 수가 있습니다.

    7.  ‘estab’, ‘syn’, ‘finrst’ 플래그는 proto 하지만 ‘tcp’ (으)로 설정되어 있을 때 마셔 허가되어 각각 TH_ACK, TH_SYN, 및 TH_FIN 혹은 TH_RST 라고 하는 TCP 플래그를 나타냅니다.

    8.  타임 아웃치는, 현재의 아이들타임 아웃을 최악이어도 secs 초로 수정합니다. 타임 아웃을, alive 필터와 in/out 필터의 양쪽 모두로 지정하면(자), in/out 에서의 값이 사용됩니다. 타임 아웃을 지정하지 않으면 디폴트 타임 아웃 ( set timeout (을)를 사용해 설정하는 것으로, 디폴트에서는 180 초가 됩니다)가 사용됩니다.

•   각 필터는 룰 0 으로부터 시작되어, 40 개까지의 룰을 가질 수가 있습니다. 규칙의 룰은, 룰 0 이 정의되어 있지 않으면, 유효하게는 되지 않습니다. 즉, 디폴트에서는 모든 것이 통해집니다.

•   정의된 룰 집합중에 매치 하는 것이 없는 경우, 패킷은 파기 (블록)됩니다. 필터에 룰이 존재하지 않는 경우, 패킷은 통과가 용서됩니다.

•   PROTO_IP PPP 프레임 헤더를 가지는 UDP 프레임에 대해서는, 유료 하중에 근거한 필터링을 행하는 것이 가능합니다. 상세한 것에 대하여는, 후술의 filter-decapsulation (을)를 참조해 주세요.

•   모든 규칙을 소거하려면 , “set filter name -1” (을)를 사용해 주세요.

/usr/share/examples/ppp/ppp.conf.sample. (을)를 참조해 주세요.

idle timer의 설정
idle timer를 조사하거나/설정하기 위해서는, 각각 “show bundle” (와)과 “set timeout” 명령을 사용해 주세요:

    ppp ON awfulhak> set timeout 600

타임 아웃 시간은 초수로 지정합니다. 기본값은 timeout 가 180 초 (3 분 ) 입니다. idle timer 기능을 사용하지 않게 하기 위해서는, 다음의 명령을 이용해 주세요.

    ppp ON awfulhak> set timeout 0

-ddial (와)과 -dedicated 모드에서는 아이들타임 아웃은 무시됩니다. -auto 모드에서는, 아이들타임 아웃이 발생하면(자) ppp 프로그램은 실행한채로 PPP 세션을 종료합니다. 다른 계기가 되는 패킷이 왔을 때에 링크를 다시 확립하려고 합니다.

Predictor-1 및 DEFLATE 압축
ppp (은)는 Predictor type 1 압축 및 deflate 압축을 서포트하고 있습니다. 디폴트에서는, ppp (은)는, 접속 상대가 동의 (혹은 요구) 했을 경우에, 이 기능을 사용하려고 (혹은 받아들이려고) 합니다. ppp (은)는 deflate 프로토콜을 우선합니다. 이러한 기능을 사용하고 싶지 않을 때에는 “disable” (와)과 “deny” 의 명령을 참조해 주세요.

“disable deflate” 인가 “deny deflate” 의 한편을 사용하는 것으로써, 방향 마다 다른 알고리즘을 사용할 수가 있습니다 (접속 상대가 양쪽 모두의 프로토콜을 서포트하고 있으면(자) 가정하고 있습니다).

디폴트에서는, DEFLATE 에 대해 네고시에이트 할 경우에는 ppp (은)는 윈도우 사이즈로서 15 를 사용합니다. 이 동작을 변경하고 싶은 경우에는 “set deflate” 명령을 참조해 주세요.

디폴트에서는 무효로 되고 받아들이지 않습니다만, DEFLATE24 로 불리는 특수한 알고리즘을 사용할 수도 있습니다. 이것은 CCP ID 24 를 네고시에이션에 사용하는 점을 제외해 DEFLATE 와 완전하게 같은 것입니다. 이것을 사용하는 것으로 ppp 하 pppd 버젼 2.3. * (와)과 DEFLATE 네고시에이션을 성공시킬 수가 있습니다.

IP 주소의 제어
IPv4 에서는, ppp (은)는 IP 주소의 네고시에이션을 위해서(때문에) IPCP 를 사용합니다. 접속의 양측은, 자신이 사용하려고 하는 주소를 제시해, 요구된 IP 주소가 받아들이고 가능한 물건이면, 상대에게 ACK (긍정 응답)를 돌려줍니다. 받아들일 수가 없으면, 다른 IP 주소의 사용을 재촉하기 위해서(때문에) ppp (은)는 상대에게 NAK (부정 응답)를 돌려줍니다. 접속의 양측이 받은 요구에 동의 해 (ACK 를 송) 시, IPCP 는 오픈 상태에 세트 되어 네트워크층에서의 접속이 확립됩니다. IPCP 의 동작을 제어하기 위해서, 이 실장은 로컬과 리모트의 IP 주소를 정의하기 위한 “set ifaddr” 명령을 가지고 있습니다.

set ifaddr [src_addr [/nn] [dst_addr[/nn] [netmask [trigger_addr]]]]

여기서, ‘src_addr’ (은)는 로컬측에서 사용하려고 생각하고 있는 IP 주소로, ‘dst_addr’ (은)는 리모트측이 사용해야 할 IP 주소입니다. ‘netmask’ (은)는 사용해야 할 넷 마스크입니다. ‘src_addr’ 의 디폴트는 현재의 hostname(1) 의 것, ‘dst_addr’ 의 디폴트는 0.0. 0.0 이며, ‘netmask’ 의 디폴트는 ‘src_addr’ 에 적절한 마스크치입니다. ‘netmask’ (은)는 디폴트보다 작게 하는 것 마셔 가능합니다. 대부분의 커널이 POINTOPOINT 인터페이스의 넷 마스크를 무시하므로, 편리한 값은 255.255. 255.255 지요.

잘못했다 PPP 의 실장에는, 접속 네고시에이션을 위해서(때문에), ‘src_addr’ (은)는 아니고 특별한 IP 주소를 사용해야 하는 것이 있습니다. 이 경우, ‘trigger_addr’ 그리고 지정한 IP 주소가 사용됩니다. 상대가 이 제안된 번호에 동의 하지 않는 한, 경로표에는 영향을 주지 않습니다.

    set ifaddr 192.244. 177.38 192.244. 177.2 255.255. 255.255 0.0. 0.0

위의 예의 의미는 다음과 같습니다:

•   자신의 IP 주소로 해 우선 0.0. 0.0 을 제안합니다만, 주소 192.244. 177.38 만은 받아들입니다.
•   상대측의 주소로서 192.244. 177.2 를 사용하도록(듯이) 요구해, 192.244. 177.2 이외 목응인 주소를 사용하는 일도 허가하지 않습니다. 상대측이 다른 IP 주소를 요구해 왔을 때는, 언제라도 192.244. 177.2 를 제안합니다.
•   경로표의 넷 마스크치는 0xffffffff 로 설정됩니다.

이것은, 양측이 이미 정해진 IP 주소를 가지고 있는 경우에는 잘됩니다만, 많은 경우, 한편이 모든 IP 주소를 제어한다 서버로서 동작하고 있어, 이제(벌써) 한편은 그 쪽바늘에 따릅니다. 보다 유연한 동작을 시키기 위해서(때문에), “set ifaddr” 명령로 IP 주소 지정을 좀 더 완만하게 하는 것이 가능합니다:

    set ifaddr 192.244. 177.38/24 192.244. 177.2/20

slash (“/”) 에 계속되는 숫자는, 이 IP 주소로 의미가 있는 비트의 수를 표현하고 있습니다. 위의 예는 다음 일을 나타내고 있습니다.

•   가능하면 자신의 주소로서 192.244. 177.38 을 사용하려고 합니다만, 192.244. 177.0 에서 192.244. 177.255 의 사이의 임의의 IP 주소도 받아들입니다.
•   상대의 주소로서 192.244. 177.2 를 사용하는 것을 희망합니다만, 192.244. 176.0 에서 192.244. 191.255 의 사이의 임의의 IP 주소도 허가합니다.
•   벌써 기분귀로 생각합니다만, 192.244. 177.2 는 192.244. 177.2/32 로 쓰는 것으로 등가입니다.
•   예외로서 0 은 0.0. 0.0/0 으로 등가이며, 희망하는 IP 주소는 특히 없고, 리모트 접속처의 선택에 따르는 것을 의미합니다. 0 을 사용했을 경우는, 접속이 확립할 때까지, 경로표의 엔트리는 전혀 설정되지 않습니다.
•   192.244. 177.2/0 은, 어떤 IP 주소에서도 받아들이는/허가하는 것을 의미합니다만, 최초로 192.244. 177.2 를 사용하도록(듯이) 제안합니다.

IPv6 주소의 네고시에이션시에는, 유저는 아무것도 제어할 수 없습니다. IPV6CP 네고시에이션은 완전 자동입니다.

인터넷 서비스 프로바이더와 접속한다
프로바이더에 접속하려면 , 다음의 스텝을 밟을 필요가 있겠지요:

1.  “set phone” 명령을 사용해, 다이얼 스크립트에 프로바이더의 전화번호를 기술합니다. 다이얼이나 리다이얼에 사용하는 전화번호는, 파이프 (“|”) 또는 코론 (“”): 그리고 단락지어 복수 지정할 수가 있습니다. 예를 들면, 다음과 같이 됩니다:

    set phone telno [|backupnumber ]...[:nextnumber ]...

    최초의 파이프로 단락지어진 리스트의 번호는, 직전의 번호로 다이얼 혹은 로그인 스크립트가 실패했을 경우만 사용됩니다. 코론으로 단락지어진 번호는, 직전의 번호의 사용에 의해 뭐가 떠났는지에 관계없이, 이 차례로 사용됩니다. 예를 들면:

        set phone "1234567|2345678:3456789|4567890"

    이 경우, 우선 1234567 에 다이얼 해 보겠습니다. 다이얼 혹은 로그인 스크립트에 실패하면(자), 다음은 2345678 을 사용합니다. 그러나 이것은 다이얼 혹은 로그인 스크립트에 실패했을 때 *마셔* 입니다. 이 다이얼의 뒤, 3456789 가 사용됩니다. 4567890 은 345689 로 다이얼 혹은 로그인 스크립트에 실패했을 때 마셔 사용됩니다. 2345678 의 로그인 스크립트가 실패했다고 해도, 다음의 번호는 3456789 입니다. 필요한 수만큼, 파이프와 코론을 사용 가능합니다 (그러나, 통상은 파이프만인가 코론뿐이어 양쪽 모두의 사용은 없을 것입니다). 다음의 번호에의 리다이얼까지의 타임 아웃은, 모든 번호에서 사용됩니다. 리스트가 종료하면(자), 통상의 리다이얼 기간만 기다려, 최초부터 재개합니다. “set dial” 명령의 \\T 캐릭터 라인은 선택된 번호로 바꿀 수 있습니다. (이후를 참조해 주세요).

2.  리다이얼에 관한 설정은, “set redial” 그리고 실시합니다. 예를 들면 회선의 상태가 나쁘기도 하고, (최근에는 그만큼 많지 않을 것입니다가) 프로바이더가 언제나 화중이기도 하면(자), 다음과 같이 설정하고 싶어질지도 모릅니다:

        set redial 10 4

    이것은 최초의 번호에 리다이얼을 실시하기 전에 10 초 기다려, 4 회까지 다이얼 해 보면 하는 의미가 됩니다.

3.  “set dial” (와)과 “set login” 명령을 사용해 로그인 수속을 기술합니다. “set dial” 명령은 모뎀과 통신해 프로바이더에의 링크를 확립하는데 사용됩니다. 예를 들면, 다음과 같이 됩니다:

        set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" \
          ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT"

    이 모뎀 「채팅」캐릭터 라인의 의미는 다음과 같습니다.

    •   "BUSY" 또는 "NO CARRIER" 를 수신했을 경우에는 처리를 중지합니다.

    •   타임 아웃을 4 초에 세트 합니다.

    •   캐릭터 라인의 수신 대기는 실시하지 않습니다.

    •   ATZ 를 송신합니다.

    •   OK 의 수신 대기를 실시합니다. 만약 4 초 이내에 수신할 수 없으면, 이제(벌써) 1 번 ATZ 를 송신해, OK 의 수신 대기를 실시합니다.

    •   ATDTxxxxxxx 를 송신합니다. xxxxxxx 는 상기의 전화번호 리스트안의, 다음에 다이얼 하는 번호입니다.

    •   타임 아웃을 60 에 세트 합니다.

    •   캐릭터 라인 CONNECT 의 수신 대기를 실시합니다.

    일단 접속이 확립되면(자), 로그인 스크립트가 실행됩니다. 이 스크립트는 다이얼 스크립트와 같은 스타일로 쓰여집니다만, 패스워드가 기록되지 않게 주의해 주세요:

        set authkey MySecret
        set login "TIMEOUT 15 login:-\\r-login: awfulhak \
          word: \\P ocol: PPP HELLO"

    이 로그인 「채팅」캐릭터 라인의 의미는 다음과 같습니다.

    •   타임 아웃을 15 초에 세트 합니다.

    •   "login:" 의 수신 대기를 실시합니다. 만약 수신할 수 없으면 복개캐릭터를 송신해, 다시 "login:" 의 수신 대기를 실시합니다.

    •   "awfulhak" 를 송신합니다.

    •   "word:" ("Password:" prompt의 말미)의 수신 대기를 실시합니다.

    •   authkey 에 현재 설정되어 있는 값을 송신합니다.

    •   "ocol:" ("Protocol:" prompt의 말미)의 수신 대기를 실시합니다.

    •   "PPP" 를 송신합니다.

    •   "HELLO" 의 수신 대기를 실시합니다.

    “set authkey” 명령의 로그는 특별한 방법으로 빼앗깁니다. command 또는 chat 의 로그가 유효한 때는, 실제의 패스워드는 기록되지 않습니다. 대신에 ‘********’ 하지만 기록됩니다.

    로그인 스크립트는 프로바이더에 의해 크게 다른 것이 되겠지요. 시작해 그것을 설정할 경우에는 채팅 로그를 유효화 하는 것으로, 당신의 스크립트가 예정 대로에 움직이고 있을까를 조사할 수가 있습니다.

4.  시리얼 회선과 통신 속도를 지정하기 위해서는 “set device” (와)과 “set speed” (을)를 사용합니다. 예를 들면 다음과 같이 됩니다.

        set device /dev/cuaa0
        set speed 115200

    FreeBSD 그럼 cuaa0 가 1 개째의 시리얼 포트가 됩니다. OpenBSD 그리고 ppp (을)를 실행하고 있는 경우에는 cua00 가 1 개째입니다. 당신의 모뎀이 28800 인가 그 이상의 bit rate로 통신하는 것이 할 수 있다면, 시리얼 포트의 속도에는 115200 을 지정해 두어야 하는 것이지요. 일반적으로, 시리얼 포트의 속도는 모뎀의 속도의 약 4 배로 해 둡니다.

5.  “set ifaddr” 명령로 IP 주소를 정의합니다.

    •   프로바이더가 어느 IP 주소를 사용하고 있는지 알고 있는 경우에는, 그것을 리모트 주소 (dst_addr)로서 사용해 주세요. 모르는 경우에는, 10.0. 0.2/0 같은 것을 사용해 주세요 (이후를 참조해 주세요).

    •   특정의 IP 주소를 프로바이더로부터 할당할 수 있고 있는 경우는, 그것을 로컬 주소 (src_addr)로서 사용해 주세요.

    •   프로바이더가 IP 주소를 동적으로 할당하는 경우는, 적당하고 소극적이어서 완만하게 기술한 IP 주소를 로컬 주소에 선택해 주세요. 10.0. 0.1/0 이 적절하겠지요. / 에 계속되는 수치는, 이 주소중몇 비트를 중시하고 있는지를 나타냅니다. 만약 클래스 C 의 네트워크 1.2. 3.0 상의 주소를 사용하는 것을 주장하고 싶다면, 1.2. 3.1/24 로 지정할 수가 있습니다.

    •   프로바이더가 당신이 제시한 최초의 IP 번호를 받아들이는 경우, 제 3, 4 의 인수에 “0.0. 0.0” (을)를 지정해 주세요. 이것에 의해 프로바이더가 번호를 할당합니다 (3 개째의 인수는, ‘src_addr’ 에 대해서 디폴트의 마스크보다 제약이 느슨하기 때문에, 무시됩니다).

    자신의 IP 주소도 프로바이더의 IP 주소도 모르는 경우에는, 다음의 예의 같게 하면(자) 좋을 것입니다.

        set ifaddr 10.0. 0.1/0 10.0. 0.2/0 0.0. 0.0 0.0. 0.0

6.  대부분의 경우, 프로바이더는 디폴트 라우터이기도 하겠지요. 이 경우, 다음의 행을 /etc/ppp/ppp.conf (-auto 모드를 사용하지 않는 설정의 경우에는 /etc/ppp/ppp.linkup) 에 추가합니다.

        add default HISADDR

    이것은, ppp 접속처의 주소가 무엇으로 있어도 (이 예에서는 10.0. 0.2) 디폴트 경로로서 추가하도록(듯이) 지시합니다. 이 경로는 ‘스티키’ 입니다. 이것은 HISADDR 의 값이 바뀌면(자), 경로도 거기에 따라서 자동적으로 갱신된다고 하는 의미입니다.

7.  프로바이더가 PAP/CHAP 에 의한 인증을 요구하고 있는 경우는, /etc/ppp/ppp.conf 파일에 다음의 행을 추가해 주세요:

        set authname MyName
        set authkey MyPassword

    디폴트에서는 어느쪽이나 받아들일 수 있기 때문에, ISP 가 무엇을 요구해도 괜찮습니다.

    PAP 혹은 CHAP 를 사용하는 경우, 로그인 스크립트는 대부분의 경우, 필요하게 되지 않는 것을 기술해 두어야 하는 것이지요.

8.  다음과 같은 행을 더해 ISP 에 네임서버 주소를 확인해 주세요.

        enable dns

    로컬 DNS 를 달리게 하고 있는 경우에는, “resolv readonly” (을)를 사용하지 않고, 한편, “resolv restore” (을)를 /etc/ppp/ppp.linkdown 에 포함하지 않다면, 이것을 하지 않는다 그리고 주세요. ppp (은)는 단순하게 /etc/resolv.conf 에 nameserver 행을 넣는 것으로, 로컬 DNS 의 사용을 앞질러 버리기 때문입니다.

현실의 예를 보고 싶은 경우에는, /usr/share/examples/ppp/ppp.conf.sample (와)과 /usr/share/examples/ppp/ppp.linkup.sample (을)를 참조해 주세요. label pmdemand 는, 대부분의 프로바이더로 사용할 수 있겠지요.

로그 기능
ppp (은)는 다음의 로그 정보를, syslog(3) 경유로, 혹은 스크린에 출력할 수가 있습니다:

All 로깅용 퍼실리티를 모두 유효하게 합니다. 이 경우, 로그를 많이 할 수 있습니다. `all'의 가장 일반적인 사용법은, 공통 부분으로서 사용하는 것입니다. 이 경우, 모든 퍼실리티를 유효하게 한 후에 일부의 퍼실리티를 깎거나 합니다 (`debug'나 `timer'가 통상은 무효로 하는데 최적인 퍼실리티입니다).
Async
    비동기 레벨 패킷의 16 진덤프.
CBCP
    CBCP (CallBack Control Protocol) 로그의 생성.
CCP CCP 패킷 트레이스의 생성.
Chat
    ‘dial’, ‘login’, ‘logout’, ‘hangup’ 의 chat script의 트레이스 로그의 생성.
Command
    명령 실행의 로그.
Connect
    캐릭터 라인 "CONNECT" 를 포함한 채팅행의 로그.
Debug
    디버그 정보의 로그.
DNS DNS QUERY 패킷의 로그.
Filter
    다이얼 필터에 허가되어 다른 필터에 거부된 패킷의 로그.
HDLC
    HDLC 패킷의 16 진덤프.
ID0 유저 ID 0 으로 실행된 전함수 호출을 상세하게 기록.
IPCP
    IPCP 패킷 트레이스의 생성.
LCP LCP 패킷 트레이스의 생성.
LQM LQR 리포트의 생성.
Phase
    국면 천이 로그의 출력.
Physical
    물리 레벨 패킷의 16 진덤프.
Sync
    동기 레벨 패킷의 16 진덤프.
TCP/IP
    전 TCP/IP 패킷의 덤프.
Timer
    타이머 조작의 로그.
TUN 로그의 각 행에 tun 디바이스를 포함합니다
Warning
    단말 디바이스에의 출력. 단말이 존재하지 않는 경우는, LOG_WARNING (을)를 사용해 로그 파일에 보냅니다.
Error
    단말 디바이스와 로그 파일에의 출력으로, LOG_ERROR (을)를 사용합니다.
Alert
    로그 파일에의 출력으로, LOG_ALERT (을)를 사용합니다.

“set log” 명령로, 로그의 출력 레벨을 설정할 수가 있습니다. 또, 복수의 레벨을 단일 명령행에서 지정하는 일도 가능합니다. 디폴트는, “set log Phase” 입니다.

스크린에 직접 로그를 표시하는 일도 가능합니다. 문법은 같아, 말 “local” 하지만 “set log” 의 직후를 뒤따르는 것만이 다릅니다. 디폴트는 “set log local” (즉, 마스크 되지 않는 경고, 에러와 주의만 출력)입니다.

“set log [local]” 에의 최초의 인수가 ‘+’ 인가 ‘-’ 의 캐릭터로 시작되는 경우, 현재의 로그 레벨을 소거하지 않고 수정합니다. 예를 들면:

    PPP ON awfulhak> set log phase
    PPP ON awfulhak> show log
    Log:   Phase Warning Error Alert
    Local: Warning Error Alert
    PPP ON awfulhak> set log +tcp/ip -warning
    PPP ON awfulhak> set log local +command
    PPP ON awfulhak> show log
    Log:   Phase TCP/IP Warning Error Alert
    Local: Command Warning Error Alert

레벨 Warning, Error, Alert 의 메세지 로그는 “set log [local]” 그럼 제어할 수 없습니다.

Warning 레벨은 특별해, 로컬에 표시 가능한 경우에는 기록되지 않습니다.

시그널 핸들링
ppp (은)는 다음의 시그널을 취급합니다:

INT 이 시그널을 수신하면(자), 현재의 접속이 만약 있으면 그것을 종료합니다. -auto 혹은 -ddial 의 모드가 아닌 경우, ppp (은)는 종료합니다.

HUP, TERM, QUIT
    ppp (을)를 종료시킵니다.

USR1
    ppp 에 기존의 서버 소켓을 재차 오픈시켜, 모든 기존의 진단 포트에의 접속을 철회합니다. 이전에 오픈 할 수 없었던 소켓은, 재차 시험 받습니다.

USR2
    ppp 에 전서버 소켓을 닫게 해 모든 기존의 진단 포트에의 접속을 철회합니다. 재차 오픈하기 위해서는, SIGUSR1 하지만 사용할 수 있습니다.

멀티 링크 PPP
PPP 상대에게 접속하는데 복수의 물리적인 링크를 이용하고 싶으면, 접속 상대도 멀티 링크 PPP 프로토콜을 이해할 필요가 있습니다. 사양의 자세한 것은 RFC 1990 을 참조해 주세요.

접속처는, “종점의 선택” (와)과 그 “인증 ID” 의 편성에 의해 식별됩니다. 이러한 한편, 혹은 양쪽 모두를 지정할 수가 있습니다. 최악이어도 다른 한쪽은 지정해 두는 것이 추천 됩니다. 그렇지 않으면 모든 링크가 실제로 동일한 프로그램에 접속되고 있는 것을 확인할 방법이 없어져, 혼란해 록 업을 일으키는 일이 있습니다. 로컬에는, 이러한 식별 변수는 “set enddisc” (와)과 “set authname” 명령을 이용하는 것으로 지정됩니다. 앞서 접속 상대와 ‘authname’ (와 ‘authkey’) 에 붙어 합의해 둘 필요가 있습니다.

멀티 링크의 능력은 “set mrru” 명령 (set maximum reconstructed receive unit)를 이용하는 것으로 유효하게 됩니다. 한 번 멀티 링크가 유효하게 되면, ppp (은)는 접속 상대와 멀티 링크 접속의 네고시에이션을 실시합니다.

디폴트에서는 ( ‘deflink’ (으)로 불린다) 다만 1 개(살)의 ‘링크’ 만이 유효합니다. 한층 더 링크를 작성하려면 “clone” 명령이 사용됩니다. 이 커멘드는 기존의 링크를 복제합니다. 그것은 다음의 점을 제외해 모든 성질이 같은 것입니다:

1.  새로운 링크는 “clone” 명령행으로 지정된 독자적인 이름을 가집니다.

2.  새로운 링크는 ‘interactive’ 링크입니다. 그 모드는 다음의 “set mode” 명령로 변경할 수가 있습니다.

3.  새로운 링크는 ‘closed’ 상태에 있습니다.

모든 유효한 링크의 통계는, “show links” 명령을 이용해 볼 수가 있습니다.

한 번 링크가 작성되면(자), 명령의 사용 방법이 바뀝니다. 모든 링크 고유의 명령의 전에는, “link name” 프레픽스를 붙여, 명령을 적용하는 링크를 지정할 필요가 있습니다. ppp (은)는 충분히 영리하기 때문에, 이용 가능한 링크가 1 개만의 경우에는, “link name” 프레픽스는 불필요합니다.

명령안에는 여전히 링크의 지정없이 사용할 수 있는 것이 있어, 그것은 ‘번들’ 레벨의 조작을 실시합니다. 예를 들어, 2 개(살) 이상의 링크가 존재할 때 “show ccp” (은)는 멀티 링크 레벨의 CPP 설정과 통계를 표시해 “link deflink show ccp” 하 “deflink” 의 링크 레벨의 같은 정보를 표시합니다.

이러한 정보를 이용해, 다음의 설정을 이용할 수가 있습니다:

    mp:
     set timeout 0
     set log phase chat
     set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2
     set phone "123456789"
     set dial "ABORT BUSY ABORT NO\sCARRIER TIMEOUT 5 \"\" ATZ \
               OK-AT-OK \\dATDT\\T TIMEOUT 45 CONNECT"
     set login
     set ifaddr 10.0. 0.1/0 10.0. 0.2/0 0.0. 0.0 0.0. 0.0
     set authname ppp
     set authkey ppppassword
     set mrru 1500
     clone 1,2,3		# 3 개의 신규 링크를 작성 - 디폴트를 복제
     link deflink remove	# 디폴트 링크를 삭제 (``deflink''라는 이름)

모든 복제가 설정의 최후로 행해지고 있는 것에 주의해 주세요. 일반적으로는 링크는 최초로 설정되고 그리고 복제됩니다. 당신이 항상 모든 링크가 업 상태인 것을 바라는 경우에는, 설정의 마지막에 다음의 행을 추가할 수가 있습니다.

      link 1,2,3 set mode ddial

링크가 필요에 따라서 다이얼 되는 것을 바라는 경우에는, 다음의 명령을 사용할 수가 있습니다.

      link * set mode auto

상기의 “set device” 행을 없애, “clone” 명령에 이어 다음의 내용을 지정하는 것으로, 링크를 특정의 이름에 묶을 수도 있습니다:

     link 1 set device /dev/cuaa0
     link 2 set device /dev/cuaa1
     link 3 set device /dev/cuaa2

어느 명령이 ( “link” 명령을 사용한) 문맥 (문맥)을 요구해, 어느 명령이 문맥을 옵션으로 해, 그리고 어느 명령이 문맥을 일절 취하지 않는가를 조사하려면 , “help” 명령을 사용합니다.

ppp 하지만 접속 상대와 멀티 링크 모드로 네고시에이트 하면(자), ppp (은)는 로컬 도메인 소켓을 /var/run 디렉토리에 작성합니다. 이 소켓은, 링크 정보 (실제의 링크 파일 기술자도 포함한다)를, 다르다 ppp 의 사이에 주고 받아 하기 위해서 사용됩니다. 이 기능에 의해, ppp (은)는 시리얼 회선의 초기 제어를 실시하는 필요없음에 getty(8) (으)로부터, 혹은 직접 /etc/gettydefs (으)로부터 ( ‘pp=’ 케이파비리티를 이용해) 실행하는 것이 가능해지고 있습니다. 한번 ppp 하지만 멀티 링크 모드의 네고시에이션을 실시하면, ppp (은)는 자신이 오픈했다 링크를 벌써 실행되고 있는 임의의 다른 프로세스에 건네줄 수가 있습니다. 벌써 실행되고 있는 프로세스가 없는 경우, ppp (은)는 마스터로서 행동해, 소켓을 작성해, 새로운 접속을 기다립니다.

PPP 명령 리스트
이 마디에서는 이용 가능 명령와 그 효과를 리스트 합니다. ppp 세션으로 대화적으로 사용하는 일도, 설정 파일로 지정하는 일도, pppctl(8) 혹은 telnet(1) 세션으로 지정하는 일도 가능합니다.

accept|deny|enable|disable option....
    이러한 지시문은 최초의 접속에 대해 어떻게 상대와 네고시에이트 할까를 ppp 에 지시합니다. 각 “option” (은)는, accept/deny 및 enable/disable 의 디폴트를 가집니다. “accept” (은)는 상대가 이 옵션을 요구하면(자), ACK 를 보내는 것을 의미합니다. “deny” (은)는 상대가 이 옵션을 요구하면(자), NAK 를 보내는 것을 의미합니다. “enable” (은)는 이 옵션을 이 쪽이 요구하는 것을 의미합니다. “disable” (은)는 이 옵션을 이 쪽이 요구하지 않는 것을 의미합니다.

    “option” (은)는 다음의 머지않아인가입니다:

    acfcomp
        디폴트: enable 또한 accept. ACFComp 는 주소 및 컨트롤 필드 압축 (Address and Control Field Compression)(을)를 의미합니다. LCP 패킷 이외는 통상, address field 0xff (전스테이션 주소)로 제어 필드 0x03 (번호 붙이고되어 있지 않은 정보 명령)를 가집니다. 이 옵션이 네고시에이트 되면(자), 이러한 2 바이트는 단지 송신되지 않게 되어, 유량이 적게 됩니다.

        자세한 것은 rfc1662 (을)를 참조해 주세요.

    chap[05]
        디폴트: disable 또한 accept. CHAP 는 챌린지 교환 인증 프로토콜 (Challenge Handshake Authentication Protocol)(을)를 의미합니다. CHAP 혹은 PAP (후술)의 어느 쪽인지 한편만 네고시에이션 가능합니다. CHAP 에서는, 인증자는 「챌린지」메세지를 상대에게 보냅니다. 상대는 한방향 해쉬 함수를 사용해 「챌린지」를 암호화해, 결과를 돌려 보냅니다. 인증자는 같은 것을 실시해 결과를 비교합니다. 이 기구의 이점은, 접속을 개입시켜 패스워드를 보내지 않는 것입니다. 접속이 최초로 확립할 때에 챌린지를 합니다. 한층 더 챌린지를 할지도 모릅니다. 상대의 인증을 실시하고 싶은 경우는, “enable chap” (을)를 /etc/ppp/ppp.conf 에 써, 상대의 엔트리를 /etc/ppp/ppp.secret 에 쓸 필요가 있습니다.

        클라이언트로서 CHAP 를 사용하는 경우, “AuthName” (와)과 “AuthKey” (을)를 /etc/ppp/ppp.conf (으)로 지정하는 것만으로 좋습니다. CHAP 는 디폴트로 accept 됩니다. PPP 의 실장에 따라서는, 챌린지의 암호화에 MD5 는 아니고 "MS-CHAP" 를 사용하는 것이 있습니다. MS-CHAP 는 MD4 와 DES 의 편성입니다. 만약 ppp 하지만 DES 프로그램 라이브러리의 존재하는 머신상에서 구축되었을 경우 MS-CHAP 인증 요구에 응답합니다만, 요구는 하지 않습니다.

    deflate
        디폴트: enable 또한 accept. 이 옵션은 압축 제어 프로토콜 (Compression Control Protocol; CCP)에 deflate 압축을 사용하는지 아닌지를 결정합니다. 사용되는 알고리즘은 gzip(1) 프로그램이 사용하는 것 것과 같습니다. 주: pppd(8) - 많은 operating system로 사용 가능한 PPP 의 실장 - 과의 deflate 능력에 대한 네고시에이션에는 문제가 있습니다. pppd (버젼 2.3. 1)이 deflate 압축의 네고시에이션을 실시하려고 하는 CCP 배치 타입은, rfc1979 에 규정된 타입 26 (은)는 아니고 타입 24 (이어)여, 잘못하고 있습니다. 타입 24 (은)는 실제로는 rfc1975 그럼 “PPP Magna-link Variable Resource Compression” (와)과 지정되어 있습니다! ppp 하 pppd (와)과 네고시에이트 하는 능력이 있습니다만, “deflate24” 하지만 enable 한편 accept 되고 있는 경우만입니다.

    deflate24
        디폴트: disable 또한 deny. 이것은 deflate 의 바리에이션으로, pppd(8) 프로그램과의 네고시에이션을 허가합니다. 자세한 것은 상기의 deflate 섹션을 참조해 주세요. 이것은 rfc1975 에 반하기 (위해)때문에, 디폴트에서는 disable 가 되고 있습니다.

    dns 디폴트: disable 또한 deny. 이 옵션은 DNS 네고시에이션을 허가합니다.

        “enable” (으)로 하는 것으로, ppp (은)는 접속 상대가 /etc/resolv.conf 파일의 엔트리를 확인하는 것을 요구합니다. 만약 접속 상대가 이 쪽의 요구에 부정 응답을 했을 경우 (새로운 IP 주소를 제안하면(자)), /etc/resolv.conf 파일은 갱신되어 새로운 엔트리를 확인하도록(듯이) 요구를 보냅니다.

        “accept” (으)로 하는 것으로, ppp (은)는 접속 상대로부터의 DNS 검색 요구를 거부하지 않고 , 대답합니다. “set dns” 명령의 사용에 의해 덧쓰기되어 있지 않은 경우에는, 응답은 /etc/resolv.conf (으)로부터 뽑아집니다.

    enddisc
        디폴트: enable 또한 accept. 이 옵션은, 종점 선택치를 네고시에이트 하는지 아닌지를 제어합니다. “set enddisc” 하지만 사용되고 enddisc 하지만 enable 의 경우만, 이 쪽의 선택치를 보냅니다. enddisc 하지만 disable 의 경우, 상대의 선택치를 거부합니다.

    LANMan|chap80lm
        디폴트: disable 또한 accept. 이 인증 프로토콜의 사용은 권유받지 않습니다. 단일의 CHAP 타입 (0x80)을 가장해, 2 개(살)이 다른 기구 (LANMan 와 NT)를 실장하는 것으로써, 부분적으로 인증 프로토콜을 침해하고 있기 때문입니다. “LANMan” (은)는 단순한 DES 암호화 기구를 사용하는 것이어, CHAP 대체로서는 최저의 안전성의 것입니다 (그런데도 PAP 보다는 안전합니다).

        한층 더 자세한 것은 후술의 “MSChap” 의 기술을 참조해 주세요.

    lqr 디폴트: disable 또한 accept. 이 옵션은 링크 품질 요구 (Link Quality Request)를 송신하는, 혹은 받아들이는지 어떤지를 결정합니다. LQR 는, 모뎀의 캐리어 검출을 사용하지 않고 , 링크 다운을 ppp (으)로 결정시키는 프로토콜입니다. LQR 가 enable 가 되어 있으면(자), ppp (은)는 LCP 요구의 일부로서 QUALPROTO 옵션 (후술의 “set lqrperiod” (을)를 참조)를 보냅니다. 접속 상대가 동의 했을 경우, 양단은 동의 한 간격으로 LQR 패킷을 교환해, LQM 로깅을 유효하게 하는 것으로, 상세한 링크 품질을 감시하는 것이 가능하게 됩니다. 접속 상대가 동의 하지 않았던 경우, ppp (은)는 대신에 ECHO LQR 요구를 보냅니다. 이러한 패킷은 흥미 있는 정보를 아무것도 건네주지 않습니다만, 반드시 접속 상대에게 응답하지 않으면 안됩니다.

        LQR, ECHO LQR 의 머지않아를 이용하든, ppp (은)는 5 개의 패킷을 보냈지만 확인 응답이 없는 경우, 6 번째의 패킷을 보내지 않고 회선을 절단 합니다. 메세지를 PHASE 레벨로 기록해, 회선 절단의 원인이 접속 상대에게 있는 것으로서 적당한 “reconnect” 값을 사용합니다.

    mppe
        디폴트: enable 또한 accept. 이것은, Microsoft 사의 Point to Point 암호화 기구입니다. MPPE 의 열쇠의 사이즈는, 40, 56, 128 비트입니다. “set mppe” 명령을 참조해 주세요.

    MSChapV2|chap81
        디폴트: disable 또한 accept. 표준 CHAP (타입 0x05)와 매우 닮습니다만, 길이 16 바이트 고정의 챌린지 코드를 보내는 것으로, 챌린지 코드를 암호화하는데, 표준의 MD5 기구는 아니고 MD4, SHA-1 그리고 DES 를 혼합해 사용한다 점이 다릅니다.

    MSChap|chap80nt
        디폴트: disable 또한 accept. 이 인증 프로토콜의 사용은 권유받지 않습니다. 단일의 CHAP 타입 (0x80)을 가장해, 2 개(살)이 다른 기구 (LANMan 와 NT)를 실장하는 것으로써, 부분적으로 인증 프로토콜을 침해하고 있기 때문입니다. 표준의 CHAP (타입 0x05)에 매우 잘 닮습니다만, 챌린지를 고정 8 바이트장으로 발행해, 표준의 MD5 기구는 아니고 MD4 와 DES 를 조합해 챌린지를 암호화하는 곳(중)이 다릅니다. LANman 용의 CHAP 타입 0x80 도 또한 서포트되고 있습니다 - 자세한 것은 “enable LANMan” (을)를 참조해 주세요.

        “LANMan” (와)과 “NT” 의 양쪽 모두가 CHAP 타입 0x80 를 사용하기 때문에, 양쪽 모두를 “enable” (으)로 해 인증자로서 동작할 경우에는, 상대가 잘못한 (분)편의 프로토콜을 사용해 응답했을 경우에는, ppp (은)는 최대 3 회 상대에게 재챌린지합니다. 이것에 의해, 상대가 양쪽 모두의 프로토콜을 사용할 기회를 줍니다.

        반대로, 양프로토콜을 “enable” (으)로 해 ppp 하지만 피인증자가 되는 경우, 챌린지에 대답할 때마다 사용 프로토콜을 교환합니다.

        주: LANMan 만이 enable 로 되었을 경우, pppd(8) (버젼 2.3. 5)는 피인증자로서는 잘못한 동작을 실시합니다. NT 와 LANMan 의 양쪽 모두의 응답을 실시합니다만, NT 의 응답만 사용 해야 할것도 지시해 버립니다.

    pap 디폴트: disable 또한 accept. PAP 는 패스워드 인증 프로토콜 (Password Authentication Protocol)을 의미합니다. CHAP (전술) 혹은 PAP 의 어느 쪽인지 한편만 네고시에이션 가능합니다. PAP 에서는, ID 와 패스워드가 상대에게 계속 보내져 인증될까 접속이 종료될 때까지 이것이 계속됩니다. 이것은 비교적 좋지 않는 보안 기구입니다. 접속이 최초로 확립했을 때 마셔 실행 가능합니다. 상대의 인증을 실시하고 싶은 경우는, “enable pap” (을)를 /etc/ppp/ppp.conf 에 써, 상대의 엔트리를 /etc/ppp.secret 에 쓸 필요가 있습니다 (다만, 후술의 “passwdauth” (와)과 “set radius” 옵션을 참조).

        클라이언트로서 PAP 를 사용하는 경우, “AuthName” (와)과 “AuthKey” (을)를 /etc/ppp/ppp.conf (으)로 지정하는 것만으로 좋습니다. PAP 는 디폴트로 accept 됩니다.

    pred1
        디폴트: enable 또한 accept. 이 옵션은 압축 제어 프로토콜 (Compression Control Protocol; CCP)에 Predictor 1 압축을 사용하는지 어떤지를 결정합니다.

    protocomp
        디폴트: enable 또한 accept. 이 옵션은 PFC (프로토콜 필드 압축) 의 네고시에이트 하기 위해서 사용됩니다. 이 기구에 의해, 프로토콜 필드수가 2 8중창에서 1 8중창으로 감소합니다.

    shortseq
        디폴트: enable 또한 accept. 이 옵션은 ppp 하지만 멀티 링크 모드의 네고시에이션시에 (12 비트의) 짧은 순차 순서 번호를 요구해, 그리고 받아들이는지 어떤지를 결정합니다. 이것은, 이 쪽의 MMRU 가 설정되었을 때 마셔 (멀티 링크가 유효하게 되어 있을 때 마셔) 적용됩니다.

    vjcomp
        디폴트: enable 또한 accept. 이 옵션은 Van Jacobson 헤더 압축을 사용하는지 어떤지를 결정합니다.

    다음에 나타내는 옵션은, 실제로는 상대와 네고시에이트 하지 않습니다. 그러므로 accept 및 deny 는 의미를 가지지 않습니다.

    filter-decapsulation
        디폴트: disable. 본옵션을 enable 로 하면(자), ppp (은)는 UDP 프레임을 검사해, PPP 프레임을 유료 하중으로서 가지고 있는지 아닌지를 봅니다. 이것이 진인 경우, 패킷 자신에 대해서가 아니고, 유료 하중에 대해서, 모든 필터를 적용합니다.

        PPP 링크상에서 PPPoUDP 트래픽을 보내고 싶은 경우로, UDP 나팔이 아니고, 실제의 데이터에 따라 영리한 일을 링크에 시키고 싶은 경우에 유용합니다.

        UDP 프레임의 유료 하중은, 어떤 방법이어도 압축해 되지 않습니다. 압축했을 경우에는, ppp (은)는 유료 하중을 해석할 수 없습니다. 그러니까, UDP 링크에 대한다 ppp 의 기동 시에는, 설정중에서 disable vj pred1 deflate (와)과 deny vj pred1 deflate (을)를 행하는 것을 추천 합니다.

    idcheck
        디폴트: enable. 저레벨인 LCP, CCP, IPCP 설정 트래픽을 교환할 경우에, 모든 응답의 식별자 필드는 그 요구의 식별자 필드와 동일하다라고 하는 것이 예정되어 있습니다. 디폴트에서는 ppp (은)는 예정된 식별자 필드를 가지지 않는 모든 응답 패킷을 버려 각각의 로그 레벨로 보고합니다. 만약 idcheck 하지만 disable 가 되어 있는 경우, ppp (은)는 식별자 필드를 무시합니다.

    iface-alias
        디폴트: -nat 하지만 지정되었을 경우 enable. 이 옵션은, 인터페이스의 주소를 교환하는 것이 아니라, 인터페이스에 신규 주소를 추가하도록(듯이), ppp 에 지시합니다. 네트워크 어드레스 변환이 유효한 경우만 (“nat enable yes”) , 본옵션을 enable 로 할 수 있습니다.

        본옵션을 enable 로 하면(자), ppp (은)는 낡은 인터페이스 주소의 트래픽을 NAT 엔진 (libalias(3) 참조) (을)를 통하게 되어, ( -auto 모드에서는) 최초로 PPP 링크를 시작한 프로세스가 올바르게 접속할 수 있게 합니다.

        “nat enable no” (으)로서 NAT 를 disable 하면(자), ‘iface-alias’ 도 disable 합니다.

    ipcp
        디폴트: enanle. 본옵션은, ppp 하지만 IP 제어 프로트코르케이파비리티를 시도해 이것이 성공했을 때에는 IP 데이터 그램을 상대와 교환하는 것을 허가합니다.

    ipv6cp
        디폴트: enanle. 본옵션은, ppp 하지만 IPv6 제어 프로트코르케이파비리티를 시도해 이것이 성공했을 때에는 IPv6 데이터 그램을 상대와 교환하는 것을 허가합니다.

    keep-session
        디폴트: disable. ppp 하지만 멀티 링크 서버로서 동작할 때, 다른 ppp 인스턴스가 최초로 각 접속을 받아들입니다. 링크가 (다른 ppp 에 의해 제어되고 있다) 기존의 번들에 속한다고 판정하면(자), ppp (은)는 이 링크를 해당별 프로세스에 이관합니다.

        링크가 tty 디바이스인 경우인가 이 옵션이 enable 되고 있는 경우, ppp (은)는 종료하지 않고, 자기의 프로세스명을 “session owner” 에 바꾸어 링크를 제어하는 (분)편의 ppp 하지만 처리를 완료해 아이돌 프로세스에 시그널을 돌려줄 때까지 기다립니다. 링크 자원이 재이용 가능하다라고 ppp 의 부모가 간주하는 결과에 의해 생기는 혼란을, 이것에 의해 막습니다.

        /etc/ttys 에 엔트리가 있는 tty 디바이스의 경우, 다른 getty(8) 의 개시를 막기 위해서(때문에), 이것이 필요합니다. sshd(8) (와)과 같은 프로그램 링크의 경우, 아이의 죽음으로 밤 sshd(8) 의 종료를 막기 위해서(때문에), 이것이 필요합니다. ppp (은)는 부모의 요건을 판단할 수 없으므로 (tty 의 경우를 제외하다), 상황에 따라 수동으로 본옵션을 설정할 필요가 있습니다.

    loopback
        디폴트: enable. loopback 하지만 enable 의 경우, ppp (은)는 자동적으로 PPP 인터페이스와 같은 종점 주소앞에 송출된 패킷을 루프백 합니다. disable 의 경우, ppp 하지만 패킷을 보내면(자), 아마 다른 종점으로부터의 ICMP 리디렉트가 됩니다. 인터페이스가 디폴트 경로이기 (위해)때문에, 루프백 경로를 필요로 하는 것을 피하고 싶은 경우, 이 옵션을 enable 로 하면(자) 편리합니다.

    passwdauth
        디폴트: disable. 이 옵션을 enable 로 하는 것으로, PAP 인증 코드가 호출해 옆을 인증할 때에, /etc/ppp/ppp.secret 파일중에서 발견되지 않는 경우, 패스워드 데이타베이스 ( passwd(5) 참조)를 사용합니다. /etc/ppp/ppp.secret (은)는 항상, 최초로 조사할 수 있습니다. passwd(5) (으)로부터 패스워드를 조사해 한편 그 클라이언트에 대해서 IP 주소 혹은 label를 지정하고 싶은 경우에는, /etc/ppp/ppp.secret 파일중의 클라이언트의 패스워드로서 “*” (을)를 이용해 주세요.

    proxy
        디폴트: disable. 이 옵션을 enable 로 하는 것으로, ppp 에 상대를 위해서(때문에) 대리 ARP 를 시킵니다. HISADDR (와)과 HISADDR 하지만 있는 로컬 네트워크의 MAC 주소를 사용해, ppp 하지만 ARP 표에 단일 엔트리를 작성하는 것을 의미합니다. 이것에 의해, 상대 자신이 그 LAN 에 접속된 것 같은 상태로, LAN 에 접속된 다른 머신과 상대가 통신할 수 있게 됩니다. HISADDR 하지만 LAN 로부터의 주소가 아닌 경우, 대리 엔트리는 작성할 수 없습니다.

    proxyall
        디폴트: disable. 이 옵션을 enable 로 하는 것으로, ppp 에 대리 ARP 엔트리를 추가시킵니다. 추가되는 엔트리는, tun 인터페이스에 의해 루팅 된다 모든 클래스 C 혹은 그것 이하의 서스네트워크안의, 전 IP 주소입니다.

        대리 arp 엔트리는, “add” 명령에 의해 추가된 스티키 경로 에 대해서만 작성됩니다. ( “set ifaddr” 명령에 의해 작성되었다) 인터페이스 주소 자신에 대해서는, 대리 arp 엔트리는 작성되지 않습니다.

    sroutes
        디폴트: enable. “add” 명령이 HISADDR, MYADDR, HISADDR6 MYADDR6 의 몇개의 값과 함께 이용되면(자), 엔트리는 ‘스틱 경로’ 리스트에 격납됩니다. 이러한 값이 변경될 때에, 이 리스트가 경로표에 적용됩니다.

        이 옵션을 disable 로 하면(자), 스티키 경로가 적용되지 않게 됩니다. ‘스티키 경로’ 리스트는 여전히 메인트넌스됩니다.

    [tcp]
        mssfixup 디폴트: enable. 이 옵션은, ppp 에, TCP SYN 패킷을 조정하도록(듯이) 지시해, 인터페이스 MTU 가 허가하고 있는 사이즈를 수신 세그먼트(segment) 사이즈의 최대치가 넘지 않게 합니다.

    throughput
        디폴트: enable. 이 옵션을 유효하게 하면(자), ppp (은)는 throughput 통계를 수집합니다. 어긋나고 움직이는 5 초간의 윈도우에 대해 입출력이 검사되어 현재, 최선시, 총계의 수치가 보관 유지됩니다. 이 데이터는 관련한다 PPP 층이 종료할 경우에 출력되어 또 “show” 명령로 표시하는 것으로 얻을 수 있습니다. throughput 통계는 “IPCP” (와)과 “physical” 의 레벨로 이용 가능합니다.

    utmp
        디폴트: enable. 통상 유저가 PAP 혹은 CHAP 로 인증되었을 때로, ppp 하지만 -direct 모드로 실행되고 있을 때는, 이 유저의 엔트리가 utmp 파일 및 wtmp 파일에 작성됩니다. 이 옵션을 disable 로 하면(자), ppp (은)는 utmp 및 wtmp 의 엔트리를 작성하지 않습니다. 통상, 유저가 로그인 밖에 개인증하는 것을 요구하는 경우만 필요합니다.

add [!] dest[/nn] [mask] [gateway] dest (은)는 행선지 IP 주소입니다. 넷 마스크는 /nn 에 의해 비트수로 지정하는지, 혹은 mask (을)를 이용해 IP 번호로 지정합니다. 0 0 및 마스크 없음의 0 (은)는 디폴트 경로를 의미합니다. 0 대신에 심볼명 default (을)를 사용하는 것이 가능합니다. gateway (은)는, dest 머신/네트워크에 이르는, 다음의 호프의 게이트웨이입니다. 자세한 것은 route(8) 명령을 참조해 주세요.

    행선지에 심볼명 ‘MYADDR’, ‘HISADDR’, ‘MYADDR6’, ‘HISADDR6’ 의 어느쪽이든을 사용 가능하고, gateway 에는 ‘HISADDR’, ‘HISADDR6’ 의 어느쪽이든을 사용 가능합니다. ‘MYADDR’ (은)는 인터페이스 IP 주소로 옮겨져 ‘HISADDR’ (은)는 인터페이스의 행선지 (상대의) IP 주소로 옮겨져 ‘MYADDR6’ (은)는 인터페이스 IPv6 주소로 옮겨져 ‘HISADDR6’ (은)는 인터페이스의 행선지 IPv6 주소로 옮겨집니다.

    add! 명령 ( “!” 에 주의) 사용시에는, 경로가 존재하는 경우에는 ‘route change’ 명령 (자세한 것은 route(8) 참조)에서 경로를 갱신합니다.

    “HISADDR”, “MYADDR”, “HISADDR6”, “MYADDR6”, “DNS0”, “DNS1” 의 어느쪽이든을 포함한 경로는 ‘스티키’ (이)라고 보여집니다. 이것들은 리스트 (리스트를 보려면 “show ipcp” 명령을 사용합니다)에 격납되어 이것들 의 몇개의 값이 변경될 때에, 경로표의 관련하는 엔트리가 갱신됩니다. 이 기능은 “disable sroutes” (을)를 사용하는 것으로 무효로 할 수 있습니다.

allow user
    [s] logname... 이 명령은 ppp (와)과 설정 파일에의 액세스를 제어합니다. 설정 파일의 label와 ppp 실행 모드에 의해, 유저 레벨에서의 액세스도 가능합니다. 예를 들면, -background 모드에서는, 유저 ‘fred’ 만이 label ‘fredlabel’ 에 액세스 할 수 있도록(듯이), ppp (을)를 구성하고 싶을지도 모릅니다.

    유저 ID 0 은 이러한 명령의 대상외입니다.

    allow user[s] logname...
        디폴트에서는, 유저 ID 0 만이 ppp 에의 액세스가 용서되고 있습니다. 이 명령을 지정하는 것으로, “allow users” 하지만 기재되어 있는 섹션에 열거되고 있는 유저는, 그 섹션에의 액세스가 가능해집니다. ‘default’ 섹션은 항상 최초로 체크됩니다 (스타트 업시에 항상 로드 되는 유일한 섹션입니다). 어느 섹션 중(안)에서는, 복수의 “allow users” 명령은, 가산적입니다. 그렇지만, 어느 섹션중에서 허가된 유저군은, ‘default’ 섹션으로 허가된 유저군을 덧쓰기합니다. 그러니까, 디폴트 유저를 ‘default’ 섹션으로 지정해, 새로운 유저 리스트를 있는 label로 지정하는 것으로, 어느 label 이외의 모두에게 액세스를 허락한다고 했던 것(적)이 가능합니다.

        유저 ‘*’ 하지만 지정되면(자), 전유저에게 액세스가 용서됩니다.

    allow mode
        [s] mode... 디폴트에서는 전 ppp 모드가 사용 가능합니다. 이 명령이 사용되면(자), 이 명령이 지정된 label의 로드에 용서되는 액세스 mode 하지만 제한됩니다. “allow users” 명령와 같이, 각 “allow modes” 명령은 선행하는 커멘드에 우선해, ‘default’ 섹션은 항상 최초로 체크됩니다.

        사용 가능한 모드는 다음과 같습니다: ‘interactive’, ‘auto’, ‘direct’, ‘dedicated’, ‘ddial’, ‘background’, ‘*’

        멀티 링크 모드로 동작할 경우에는, 현재 존재하는 회선 모드를 허가하는 섹션을 로드 가능합니다.

nat command [args]
    이 명령은 ppp 편성의 네트워크 어드레스 변환 기능 (마스카레이딘그나 IP 앨리어싱(aliasing)로서도 알려져 있습니다)(을)를 제어하기 위해서 사용합니다. NAT 는, 외부 인터페이스에서만 동작해, -direct 플래그와 함께 사용해도 아마 의미가 없습니다.

    당신의 시스템으로 nat 를 유효하게 하면(자) (컴파일시에 삭제할 수 있습니다), 다음의 명령이 사용 가능해집니다:

    nat enable yes|no
        이 명령은, 네트워크 어드레스 변환을 유효 혹은 무효로 합니다. -nat 코맨드 라인 플랙은 “nat enable yes” (와)과 같은 의미입니다.

    nat addr [addr_local addr_alias]
        이 명령에는, addr_alias 의 데이터를 addr_local 에 리디렉트 합니다. 소수의 열매 IP 주소를 가져, 그것들을 게이트웨이의 뒤의 특정의 머신에 MAP 하고 싶은 경우에 유용합니다.

    nat deny_incoming [yes|no]
        yes 로 설정하면(자), 앨리어싱(aliasing) 링크가 아직 존재하지 않는 곳에서는, 이 명령은 전패킷을 거부합니다. “앨리어싱(aliasing) 링크” 하지만 무엇으로 있을까에 대해서는, libalias(3) 의 개념의 배경 마디를 참조해 주세요.

        어떠한 상황에 있어 libalias(3) 하지만 앨리어싱(aliasing) 링크를 작성했는지, 조심할 필요가 있습니다. “set filter” 또는 “nat target” 의 명령을 사용해, 더욱 네트워크를 보호할 필요가 있을지도 모릅니다.

    nat help|?
        이 명령은, 사용 가능한 nat 커멘드의 통계를 표시합니다.

    nat log [yes|no]
        이 옵션은, NAT 의 여러가지 통계와 정보가 파일 /var/log/alias.log 에 기록되도록(듯이) 합니다.

    nat port proto targetIP
        :targetPort [ -targetPort] aliasPort [ -aliasPort] [remoteIP: remotePort [ -remotePort]] 이 명령은, aliasPort 에의 입력의 proto 접속을, targetIP 의 targetPort 에 리디렉트 합니다. proto (은)는, “tcp” 또는 “udp” 입니다.

        포트 번호의 범위는, 전술과 같이 지정 가능합니다. 범위는 같은 크기인 것이 필요합니다.

        remoteIP 하지만 지정되었을 경우, 이 IP 번호로부터 온 데이터만이 리디렉트 됩니다. remotePort (은)는, “0” (모든 송신원포트) 인가, 이제(벌써) 한편의 범위와 같은 크기의 포트 범위입니다.

        당신의 게이트웨이의 뒤의 머신으로 인터넷 전화등을 실행하고 싶은 경우에, 이 옵션은 유용합니다. 그러나, 송신원호스트와 행선지 포트에 대해 내부 머신 1 대에만 접속 가능이라고 하는 제한이 있습니다.

    nat proto proto localIP [
        publicIP [remoteIP]] 이 명령은, 프로토콜 타입 proto ((protocols) 5 참조) 의 패킷을 내부 주소 localIP 에 리디렉트 하는 듯 ppp 에 지시합니다.

        publicIP 하지만 지정되었을 경우, 그 주소가 행선지의 패킷만이 적합해, 그렇지 않은 경우, 디폴트의 앨리어스(alias) 주소가 사용됩니다.

        remoteIP 하지만 지정되었을 경우, 그 시점 주소에 적합하는 패킷만이 적합합니다.

        이 명령은, 터널의 엔드 포인트를 내부 머신에 리디렉트 하기 위해서 유용합니다. 예를 들면 다음과 같이 합니다:

            nat proto ipencap 10.0. 0.1

    nat proxy cmd arg...
        이 명령은, ppp 에 특정의 접속에 대한 대리를시켜, 이러한 접속을 지정한 서버에 리디렉트 합니다. 사용 가능한 명령에 대한 자세한 것은 libalias(3) 의 PacketAliasProxyRule() 의 기술을 참조해 주세요.

    nat punch_fw [base count]
        이 명령은 ppp 에 대해, FTP 또는 IRC DCC 접속용에 파이어 월(fire wall)에 구멍을 뚫도록 지시합니다. 이것은, 특정의 접속 (그 접속만)을 허가하는 일시적인 파이어 월(fire wall) 룰을 동적으로 인스톨 하는 것으로 실현됩니다. 이러한 룰은, 대응하는 접속이 종료하면(자), 삭제됩니다.

        룰 번호 base (으)로부터 개시하는 최대 count 개의 룰이, 파이어 월(fire wall)에 구멍을 뚫습니다. “nat punch_fw” 명령을 실행하면(자), 이 범위는 삭제됩니다.

        인수를 지정하지 않으면 파이어 월(fire wall)의 천공은 무효가 됩니다.

    nat same_ports yes|no
        유효하게 되면(자), 네트워크 어드레스 변환 엔진에 대해서, 출력 패킷의 포트 번호를 가능한 한 변경하지 않게 지시합니다. RPC 나 LPD 라고 한, 유명 포트 (well known port)로부터의 접속을 요구한다 프로토콜을 서포트하는데 유용합니다.

    nat target [address]
        주소를 지정했을 때는, 그 주소를 타겟 주소로서 설정해, 지정하지 않을 때는, 타겟 주소의 설정을 클리어 합니다. 타겟 주소는, 디폴트로 어떻게 수신 패킷을 NAT 하는지를 지정하기 위해서 libaliases 가 사용합니다. 타겟 주소가 설정되어 있지 않은지, 또는 “default” 하지만 주어지고 있는 경우, 패킷은 변경되지 않은 채 내부 네트워크에 루팅 되게 됩니다.

        타겟 주소를 “MYADDR” (으)로 설정할 수도 있어 그 경우, libaliases 는 모든 패킷을 내부 네트워크에 리디렉트 합니다.

    nat use_sockets yes|no
        유효하게 되면(자), 네트워크 어드레스 변환 엔진에 소켓을 작성시켜, 올바른 ftp 데이터 입력이나 IRC 접속을 프로텍션할 수 있게 됩니다.

    nat unregistered_only yes|no
        등록되지 않은 송신원주소의 출력 패킷만을, 변경합니다. RFC1918 에 의하면, 등록되지 않은 송신원주소는 10.0. 0.0/8, 172.16. 0.0/12, 192.168. 0.0/16 입니다.

    이러한 명령은 소스 배포물의 README.nat 파일중에서도 논의되고 있습니다.

[!] bg command 지정했다 command (을)를, 다음의 말을 치환한 후에, 백그라운드에서 실행합니다:

    AUTHNAME
        이것은, 로컬의 authname 의 값과 옮겨놓을 수 있습니다. 후술의 “set authname” 명령을 참조해 주세요.

    COMPILATIONDATE
        이것은, ppp 하지만 컴파일 된 일자와 옮겨놓을 수 있습니다.

    DNS0 & DNS1
        이것은, 각각 프라이머리 DNS 서버, 세칸다리 DNS 서버의 IP 주소로 옮겨집니다. IPCP 에 의해 네임서버가 네고시에이션 되었을 경우, 이 매크로의 값은 바뀝니다.

    ENDDISC
        이것은, 로컬의 종점 선택치와 옮겨놓을 수 있습니다. 후술의 “set enddisc” 명령을 참조해 주세요.

    HISADDR
        이것은, 상대의 IP 번호와 옮겨놓을 수 있습니다.

    HISADDR6
        이것은, 상대의 IPv6 번호와 옮겨놓을 수 있습니다.

    INTERFACE
        이것은, 사용중의 인터페이스명으로 옮겨놓을 수 있습니다.

    IPOCTETSIN
        이것은, 접속 확립 후에 수신된 IP 바이트수로 옮겨놓을 수 있습니다.

    IPOCTETSOUT
        이것은, 접속 확립 후에 송신된 IP 바이트수로 옮겨놓을 수 있습니다.

    IPPACKETSIN
        이것은, 접속 확립 후에 수신된 IP 패킷수로 옮겨놓을 수 있습니다.

    IPPACKETSOUT
        이것은, 접속 확립 후에 송신된 IP 패킷수로 옮겨놓을 수 있습니다.

    IPV6OCTETSIN
        이것은, 접속 확립 후에 수신된 IPv6 바이트수로 옮겨놓을 수 있습니다.

    IPV6OCTETSOUT
        이것은, 접속 확립 후에 송신된 IPv6 바이트수로 옮겨놓을 수 있습니다.

    IPV6PACKETSIN
        이것은, 접속 확립 후에 수신된 IPv6 패킷수로 옮겨놓을 수 있습니다.

    IPV6PACKETSOUT
        이것은, 접속 확립 후에 송신된 IPv6 패킷수로 옮겨놓을 수 있습니다.

    LABEL
        이것은, 마지막에 사용한 label명으로 옮겨놓을 수 있습니다. label는, ppp 의 명령행으로부터 “load” 또는 “dial” 의 명령로부터 지정하는지, ppp.secret 파일로부터 지정 가능합니다.

    MYADDR
        이것은, 로컬 인터페이스에 할당할 수 있었던 IP 번호와 옮겨놓을 수 있습니다.

    MYADDR6
        이것은, 로컬 인터페이스에 할당할 수 있었던 IPv6 번호와 옮겨놓을 수 있습니다.

    OCTETSIN
        이것은, 접속 확립 후에 수신된 바이트수로 옮겨놓을 수 있습니다.

    OCTETSOUT
        이것은, 접속 확립 후에 송신된 바이트수로 옮겨놓을 수 있습니다.

    PACKETSIN
        이것은, 접속 확립 후에 수신된 패킷수로 옮겨놓을 수 있습니다.

    PACKETSOUT
        이것은, 접속 확립 후에 송신된 패킷수로 옮겨놓을 수 있습니다.

    PEER_ENDDISC
        이것은, 상대의 종점 선택 번호와 옮겨놓을 수 있습니다.

    PROCESSID
        이것은, 현재의 프로세스 ID 와 옮겨놓을 수 있습니다.

    SOCKNAME
        이것은, 진단 소켓명으로 옮겨놓을 수 있습니다.

    UPTIME
        이것은, HH:MM:SS 라고 하는 서식의, 번들이 오르고 있는 시간에 옮겨놓을 수 있습니다.

    USER
        이것은, PAP 혹은 CHAP 로 인증된 유저명으로 옮겨놓을 수 있습니다. 통상, 이 변수는 -direct 모드에서만 할당할 수 있습니다. 이 값은, utmp 로깅이 유효하게 되어 있는지 어떤지에 관련되지 않고, 이용 가능합니다.

    VERSION
        이것은, ppp 의 현재의 버젼 번호와 옮겨놓을 수 있습니다.

    이러한 치환은 “set proctitle”, “ident”, “log” 명령에 의해도 실행됩니다.

    명령 실행중에 ppp (을)를 정지시키고 싶은 경우는, “shell” 명령을 사용해 주세요.

clear physical|ipcp|ipv6 [current|overall|peak...]
    “physical”, “ipcp”, “ipv6cp” 의 몇개의 계층에서, 지정된 throughput치를 클리어 합니다. “modem” (을)를 지정하는 경우에는 문맥이 주어지지 않으면 안됩니다 (후술의 “link” 명령을 참조). 제 2 인수가 주어지지 않는 경우, 모든 값이 클리어 됩니다.

clone name
    [,name] ... 지정된 링크를 복제해, 인수의 name 에 관련 지은 새로운 링크를 작성합니다. 이 명령은, 링크가 1 개 밖에 없는 경우 (이 경우에는 그 링크가 디폴트가 됩니다)(을)를 제외해 후술의 “link” 명령로부터 사용할 필요가 있습니다. 링크는 아래와 같은 “remove” 명령로 삭제할 수 있습니다.

    디폴트의 링크명은 “deflink” 입니다.

close [lcp|ccp[!]]
    인수가 주어지지 않으면 적절한 프로토콜층이 다운해, 링크가 닫혀집니다. “lcp” 하지만 지정되면(자) LCP 층이 다운합니다만, ppp (을)를 오프 라인에는 하지 않습니다. 예를 들면 “slirp” (와)과 같은 것을 사용하면, “term” (후술) (을)를 사용해 상대의 머신이라고 회화할 수 있습니다. “ccp” 하지만 지정되면(자) 적절한 압축층이 닫혀집니다. “!” 하지만 사용되면(자), 압축층은 클로우즈 상태인 채됩니다. 사용되지 않는 경우에는, STOPPED 상태에 재차 들어가, 상대가 한층 더 CCP 네고시에이션을 개시하는 것을 기다립니다. 뭐가 일어나도, 유저를 ppp (으)로부터 떼어내는 것은 않고, ppp (을)를 종료시키는 일도 없습니다. 후술의 “quit” (을)를 참조해 주세요.

delete
    [!] dest 이 명령은 지정했다 dest IP 주소의 경로를 삭제합니다. dest 에 ‘ALL’ 하지만 지정되었을 경우, 현재의 인터페이스의 경로표의 비직접 엔트리와 ‘스티키 경로’ 하지만 모두 삭제됩니다. dest 에 ‘default’ 하지만 지정되었을 경우, 디폴트 경로가 삭제됩니다.

    delete! 명령이 사용되었을 경우 (마지막 “!” 에 주의), 존재하지 않는 경로에 도착해 ppp (은)는 불평하지 않게 됩니다.

dial|call [label]
    ... 이 명령은, “load label” 의 다음에 “open” (을)를 지정하는 것으로 동등합니다. 후방 호환성을 위해서(때문에) 제공되고 있습니다.

down [lcp|ccp]
    적절한 계층을 다운시킵니다만, 깨끗한 방법이 아니고, 하위층이 사용 불능이 된 것처럼 보입니다. 오픈 상태에 있는 유한 상태 기계로 이 명령을 사용하는 것은, 정중하지 않다고 여겨지고 있습니다. 인수가 주어지지 않는 경우, 모든 링크가 닫혀집니다 (문맥이 주어지지 않는 경우에는 모든 링크가 종료됩니다). ‘lcp’ 하지만 지정되었을 경우, LCP 층은 종료됩니다만, 디바이스는 오프 라인으로 이행하지 않고, 링크도 닫혀지지 않습니다. ‘ccp’ 하지만 지정되었을 경우, 관련하는 압축층만이 종료됩니다.

help|? [command]
    이용 가능한 명령을 리스트 합니다. command (을)를 지정했을 경우, 이 명령의 사용 방법을 표시합니다.

iface add
    [!] addr[/bits] [peer]

iface add
    [!] addr mask peer 이 명령은, ppp 하지만 사용하는 인터페이스를 제어합니다. command (은)는 다음의 머지않아인가입니다:

    iface add
        [!] addr[/bits] [peer] 지정되었다 addr mask peer 의 편성을 인터페이스에 추가합니다. mask (을)를 지정하는 대신에, /bits (을)를 사용 가능합니다 ( addr (와)과의 사이에 공백을 들어갈 수 있어 되지 않습니다). 지정한 주소가 이미 존재하는 경우, “!” (을)를 사용하고 있지 않는 한 명령은 실패합니다 - 이 경우, 이전의 인터페이스 주소 엔트리는 새로운 것으로 옮겨놓을 수 있어 넷 마스크와 상대의 주소의 변경을 허락합니다.

        addr 만이 지정되면(자), bits (은)는 기본값 “32” (이)가 되어, peer (은)는 기본값 “255.255. 255.255” (이)가 됩니다. 이 주소 (브로드캐스트 어드레스)는, 상대의 주소로서 복수 존재하는 것을 ppp 하지만 유일 허락하는 것입니다.

    iface clear [INET | INET6]
        ppp 하지만 OPENED 상태 또는 -auto 모드의 경우에 이 명령을 사용하면(자), NCP 네고시에이트 된 주소 이외의 전주소가 인터페이스로부터 삭제됩니다. ppp 하지만 OPENED 상태에서도 -auto 모드도 아닌 경우, 전인터페이스 주소가 삭제됩니다.

        INET 또는 INET6 의 인수가 사용되었을 경우, 그 주소 패밀리의 주소만이 삭제됩니다.

    iface delete
        [!] |rm[!] addr 이 명령은, 지정했다 addr (을)를 인터페이스로부터 삭제합니다. “!” 하지만 지정되면(자), 현재 그 주소를 인터페이스에 할당할 수 있지 않아도, 에러는 보고되지 않습니다 (삭제도 행해지지 않습니다).

    iface show
        인터페이스의 현재 상태와 현재의 주소를 표시합니다. “ifconfig INTERFACE” (을)를 실행하는 것으로, 거의 같습니다.

    ident [text...]
        text (을)를 사용해, 상대에 대해서 링크를 자기 증명 (identify)합니다. text 하지만 하늘의 경우, 링크의 자기 증명은 무효화됩니다. 전술의 bg 명령에 사용할 수 있는 말은 모두 사용 가능합니다. ppp 하지만 상대에 대해서 자기 증명하는 경우에 대한 자세한 것은, sendident 명령을 참조해 주세요.

    iface help [sub-command]
        이 명령을 sub-command 없음으로 기동하면(자), 이용 가능한 “iface” 서브 명령와 각각의 짧은 서식을 표시합니다. sub-command 부착으로 기동하면(자), 지정한 sub-command 의 서식만을 표시합니다.

[data]
    link name[,name] ... command [args] 명령이 영향을 주는 링크를 특정하고 싶은 경우에, 이 커멘드를 임의의 다른 명령의 프레픽스로서 사용할 수가 있습니다. 이것은 멀티 링크 모드로 “clone” 명령을 사용해 복수의 링크를 작성한 다음에 마셔 적용됩니다.

    name (은)는 존재하는 링크명을 지정합니다. name 하지만 콤마 단락의 리스트의 경우에는, command (은)는 각각의 링크에 대해서 실행됩니다. name 하지만 “*” 의 경우에는, command (은)는 모든 링크에 대해서 실행됩니다.

load [label]
    ... ppp.conf 파일로부터 지정되었다 “label (복수 지정가능)” (을)를 로드합니다. “label” 하지만 지정되지 않는 경우, “default” label가 가정됩니다.

    label 섹션이 “set mode”, “open”, “dial” 의 어느 명령도 사용하지 않는 경우, ppp (은)는 곧바로 접속을 확립하려고는 하지 않습니다.

log word...
    지정한 단어 (복수가능)를 그 전에 “LOG:” (을)를 붙여 로그 파일에 송신합니다. 전술의 “! bg” 명령로 설명한 단어 치환이 실행됩니다.

open [lcp|ccp|ipcp]
    이것은 “close” 의 반대의 명령입니다. 닫혀지고 있는 링크 가운데, 2 번째 이후의 demand-dial 링크 이외, 전링크가 곧바로 일어섭니다 - 2 번째 이후의 demand-dial 링크는, 어떠한 “set autoload” 명령이 사용되었는지를 의존해 솟아오릅니다.

    LCP 층이 벌써 오픈되고 있을 때 “lcp” 인수를 지정하면(자), LCP 는 재차 네고시에이트 됩니다. 따라서, 여러 가지의 LCP 옵션을 변경한 후에 “open lcp” 명령을 이용하는 것으로, 변경을 유효하게 할 수가 있습니다. LCP 가 재차 네고시에이트 된 후, 동의 한 모든 인증이 실행됩니다.

    “ccp” 인수가 이용되면(자), 관련하는 압축층이 오픈됩니다. 벌써 오픈되고 있는 경우에는, 재차 네고시에이트 됩니다.

    “ipcp” 인수가 이용되면(자), 링크가 통상 대로 기동됩니다. 벌써 IPCP 가 오픈되고 있는 경우에는, IPCP 는 재차 네고시에이트 되어 네트워크 인터페이스가 재설정됩니다.

    이와 같이 해 PPP 상태 기계를 재오픈하는 것은, 아마 좋은 수단이 아닙니다. 접속 상대가 올바르게 행동하지 않을 가능성이 있기 (위해)때문입니다. 그렇지만, 강제적으로 CCP 혹은 VJ 사전을 리셋트 하는 수단으로서는 편리합니다.

passwd pass
    모든 ppp 명령 세트에 액세스 하기 위해서 요구되는 패스워드를 지정합니다. 이 패스워드는 진단 포트 ( “set server” 명령 참조)에 접속할 경우에 필요합니다. pass 하 “set server” 명령행으로 지정합니다. command 로그가 유효해도, 값 pass (은)는 기록되지 않고, 캐릭터 라인 ‘********’ 하지만 기록됩니다.

quit|bye [all]
    “quit” 하지만 제어 접속 혹은 명령 파일로부터 실행되면(자), ppp 는 모든 접속을 닫은 후에 종료합니다. 그 외의 경우, 즉 유저가 진단 소켓으로부터 접속하고 있는 경우에는, 단지 그 접속이 없어집니다.

    all 인수가 주어졌을 경우, ppp (은)는 명령이 어디에서 발행되었는지를 관련되지 않고, 모든 존재하는 접속을 닫아 종료합니다.

remove|rm
    이 명령은 주어진 링크를 소거합니다. 이것은 멀티 링크 모드에서만 유용합니다. 링크는 소거하기 전에 CLOSED 상태로 되어 있지 않으면 안됩니다.

rename|mv name
    이 명령은 주어진 링크의 이름을 name (으)로 변경합니다. name 하지만 벌써 다른 링크로 사용되고 있는 경우에는, 실패합니다.

    디폴트 링크의 이름은 ‘deflink’ 입니다. 이것을 ‘modem’, ‘cuaa0’, ‘USR’ 의 어느 쪽인가에 변경하면(자), 로그 파일의 가독성이 향상할지도 모릅니다.

resolv command
    이 명령은 ppp 하지만 행한다 resolv.conf(5) 파일의 조작을 제어합니다. ppp 의 기동시에, 이후의 참조에 대비해 이 파일의 내용을 메모리에 읽어들여 보관 유지합니다. command (은)는 다음의 머지않아인가입니다.

    readonly
        /etc/resolv.conf (을)를 읽기 전용으로 합니다. “dns” 하지만 유효하게 되고 있는 경우, ppp (은)는, 접속 상대와의 사이에 네임서버의 네고시에이션을 시도합니다. 네고시에이션의 결과는, 매크로 DNS0, DNS1 (을)를 통해서 이용 가능해집니다. 이 명령은, “resolv writable” 명령의 반대입니다.

    reload
        /etc/resolv.conf (을)를 메모리에 재로드합니다. 예를 들면, DHCP 클라이언트가 /etc/resolv.conf (을)를 덧쓰기하는 경우 등에, 이 명령이 필요하게 됩니다.

    restore
        /etc/resolv.conf (을)를, 기동시에 읽어들인 원의 버젼인가, 혹은 “resolv reload” 명령로 마지막에 읽어들인 상태의 것에 되돌립니다. 이 명령은, /etc/ppp/ppp.linkdown 파일 중(안)에서 잘 사용할 수 있는 일이 있습니다.

    rewrite
        /etc/resolv.conf 파일을 고쳐 씁니다. 이 명령은, “resolv readonly” 명령이 이미 사용되고 있어도 동작합니다. 다른 명령이 완료할 때까지 /etc/resolv.conf 의 갱신을 늦추고 싶은 경우에, /etc/ppp/ppp.linkup 중(안)에서 잘 사용할 수 있는 일이 있습니다.

    writable
        “dns” 하지만 유효하게 되어 있어 DNS 의 네고시에이션이 성공했을 경우에, ppp 하지만 /etc/resolv.conf (을)를 갱신할 수 있도록(듯이) 합니다. 이것은 “resolv readonly” 명령의 반대입니다.

save
    이 옵션은 ( 아직) 실장되고 있지 않습니다.

sendident
    이 명령은, ppp 에 대해, 상대에 대해서 자기 증명하도록(듯이) 지시합니다. 링크는, LCP 상태 이상인 것이 필요합니다. ( ident 명령에 의해) 자기 증명의 설정이 이루어지지 않은 경우, sendident (은)는 실패합니다.

    자기 증명의 설정이 이루어지고 있는 경우, 설정 거부를 송신 또는 수신할 때인가, 네고시에이션이 실패했을 때인가, LCP 가 OPENED 상태가 될 때의 몇개의 풀어에, ppp (은)는 자동적으로 자기 증명합니다.

    수신한 자기 증명 패킷은, LCP 로그에 기록해 (자세한 것은 set log (을)를 참조해 주세요), 이것에 대한 응답은 실시하지 않습니다.

set [up] var value 이 옵션은 다음에 나타내는 변수의 설정을 위해서(때문에) 사용합니다:

    set accmap hex-value
        ACCMap 는 비동기 제어 캐릭터 MAP (Asyncronous Control Character Map)를 의미합니다. 이것은 언제나 상대와 네고시에이트 되어 기본값은 16 진수로 00000000 입니다. 이 프로토콜이 필요한 것은, (XON/XOFF 등의) 특정의 캐릭터를 종점간에서 인도일로 의존하는 하드웨어를 사용하는 경우입니다.

        XON/XOFF 에 대해서는 “set accmap 000a0000” (을)를 사용합니다.

    set [auth]
        key value 클라이언트 모드에서의 PAP 또는 CHAP 의 네고시에이션으로 사용된다 인증 키 (혹은 패스워드)를, 지정한 값으로 설정합니다. 다이얼 또는 로그인 스크립트의 ‘\P’ 순차 순서로 사용하는 패스워드도 또 지정합니다. 이것에 의해 실제의 패스워드는 기록되지 않습니다. command 또는 chat 의 로그가 유효한 경우, 보안의 관점으로부터, value 하 ‘********’ (으)로서 기록됩니다.

        value 의 최초의 캐릭터가 느낌표 (“!”) 의 경우, ppp (은)는 나머지의 캐릭터 라인을, “authname” (와)과 “authkey” 의 값을 확정하기 위해서 실행해야 할 프로그램으로서 취급합니다.

        실행하는 프로그램을 얻기 위해서(때문에) value (을)를 파스 하려면 , “!” 하지만 이중 ( “!!” )인 경우, 단일의 리터럴 “!” (으)로서 취급합니다, 그렇지 않은 경우, “!” (을)를 무시합니다. 또, 전술의 “! bg” 명령와 같게 특수한 이름을 치환합니다. 프로그램을 실행하면(자), ppp (은)는 이 프로그램에 대해서 다음의 3 행의 입력을 줍니다. 각 행의 말미에는 개행 캐릭터가 놓여집니다.

        •   CHAP 챌린지로 보내진 호스트명.

        •   CHAP 챌린지로 보내진 챌린지 캐릭터 라인.

        •   로컬에 정의되었다 “authname”

        그리고, 출력으로서 다음의 2 행을 기다립니다.

        •   CHAP 응답과 함께 보내기 위한 “authname”

        •   “authkey” (이어)여, 이 결과는 CHAP 응답 패킷에 포함해 보내집니다.

        ppp (을)를 이와 같이 설정할 때, 호스트 챌린지는 ASCII 의 수치 혹은 캐릭터인 것을 상정하고 있습니다. 지정된 챌린지에 대한 적절한 비밀 정보를 계산하기 위해서, 통상은, 암호화 디바이스 또는 Secure ID 카드가 필요합니다.

    set authname id
        클라이언트 모드에서의 PAP 또는 CHAP 의 네고시에이션으로 사용된다 인증 ID 를 설정합니다.

        CHAP 를 enable 로 해 -direct 모드로 이용하면(자), id (은)는 초기 인증 챌린지로 이용되어 통상은 로컬 머신명으로 설정됩니다.

    set autoload
        min-percent max-percent period 이러한 설정은 멀티 링크 모드에서만 적용되어 기본값은 각각 0, 0, 5 입니다. 1 개(살) 이상의 demand-dial ( -auto (으)로서도 알려진다) 모드의 링크가 존재하는 경우, ppp 하지만 최초로 tun 디바이스로부터 데이터를 읽을 때는 최초의 링크만이 유효하게 되어 있습니다. 다음의 demand-dial 링크가 열리는 것은, 현재의 번들의 period 초간의 throughput가 번들의 총밴드폭의 최저 max-percent 퍼센트일 때 한정됩니다. 현재의 번들의 period 초간의 throughput가 번들의 총밴드폭의 min-percent 퍼센트 이하에 감소했을 때, 마지막 액티브한 링크가 아닌 경우, demand-dial 링크는 다운합니다.

        번들의 throughput는, 내향 및 외부로 향한 트래픽의 최대치로서 계측 됩니다.

        기본값에서는 demand-dial 링크는 1 개만 오픈됩니다.

        디바이스에 따라서는 물리 밴드폭을 판정할 수 없는 것이 있기 때문에, “set autoload” 하지만 올바르게 동작하기 위해서는, (후술의) “set bandwidth” 명령을 사용할 필요가 있는 경우가 있습니다.

    set bandwidth value
        본명령은, 접속의 밴드폭을, 초쯤의 비트수로 설정합니다. value (은)는 0 보다 큰 일이 필요합니다. 현재, 전술의 “set autoload” 명령만이 사용합니다.

    set callback option...
        인수가 주어지지 않는 경우, 콜백은 disable 가 됩니다. 그렇지 않은 경우에는, ppp (은)는 주어졌다 option 그리고 콜백을 요구합니다 (혹은 direct 모드에서는 받아들입니다). 클라이언트 모드에서는, option 의 부정 응답이 돌려주어지면(자), ppp (은)는 그 밖에 선택사항이 없어질 때까지 다른 option 요구를 냅니다 ( option 의 하나로서 “none” (을)를 지정해 있었을 경우를 제외합니다). 서버 모드에서는, ppp (은)는 주어지는 프로토콜을 뭐든지 받아들입니다만, 클라이언트가 어느쪽이든 하나를 요구한다 필요가 있습니다 none (을)를 지정할 필요가 있습니다.

        option (은)는 아래와 같은 대로입니다 (우선도순):

        auth
            콜백 응답측은, 인증에 근거해 콜백 번호를 결정하는 것이 요구됩니다. ppp 하지만 콜백 응답측인 경우, 번호는 /etc/ppp/ppp.secret 안의 접속처 엔트리의 5 번째의 필드에서 지정됩니다.

        cbcp
            Microsoft 콜백 제어 프로토콜이 이용됩니다. 후술의 “set cbcp” (을)를 참조해 주세요.

            클라이언트 모드로 cbcp (을)를 네고시에이트 하고 싶은 경우로 있는 곳개, CBCP 네고시에이션시에 서버가 콜백 없음을 요구하는 것을 허락하고 싶은 경우, 콜백 옵션으로서 cbcp (와)과 none 의 양쪽 모두를 지정할 필요가 있습니다.

        E. 164 *|
            number[,number] ... 콜백 요구측이 number (을)를 지정합니다. ppp 하지만 콜백 응답측인 경우, number (은)는 허가하는 번호를 콤마로 단락지어 늘어놓은 리스트, 혹은 임의의 번호를 허가한다고 하는 의미의 “*” (으)로 합니다. ppp 하지만 콜백 요구측인 경우, 1 개의 숫자만을 지정합니다.

            “*” (을)를 이용하는 경우, 이 옵션은 매우 위험한 것이 되는 것에 주의해 주세요. 그렇다고 하는 것은, 악의 있는 콜백 요구자가, 최초의 인증없이 전화해야 할 번호로서 임의의 (국제 통화 번호도 가능합니다) 번호를 전할 수가 있기 때문입니다.

        none
            접속 상대가 콜백을 전혀 바라지 않는 경우, ppp (은)는 그것을 받아들여 접속을 종료하는 것이 아니라 콜백 하지 않고 처리를 계속합니다. 콜백을 옵션으로 하고 싶은 것이면, (1 개 이상의 다른 콜백 옵션에 가세해) 이것도 지정할 필요가 있습니다.

    set cbcp [
        *|number[ ,number...] [delay [retry]]] 인수가 주어지지 않는 경우, CBCP (Microsofts CallBack Control Protocol) (은)는 disable 입니다. 바꾸어 말하면 “set callback” 명령로 CBCP 를 설정하면(자) ppp 하지만 CBCP 국면으로 콜백 요구를 실시하지 않게 됩니다. 그렇지 않은 경우, ppp (은)는 주어진 전화번호 number (을)를 사용하려고 합니다.

        서버 모드 (-direct) 그럼, “*” (을)를 사용하지 않는 한 ppp (은)는 클라이언트가 이러한 번호의 1 개를 사용하는 것을 주장합니다. “*” (을)를 사용했을 경우에는, 클라이언트가 번호를 지정하는 것과 상정합니다.

        클라이언트 모드에서는 ppp (은)는 주어진 번호 (그 중 접속 상대와 합의 가능한 것)를 사용하려고 합니다. “*” 하지만 지정되었을 경우에는, ppp 접속 상대가 번호를 지정하는 것과 상정합니다.

    set cd [
        off|seconds[!]] 통상, 오픈한 디바이스의 타입에 의해, ppp (은)는 캐리어의 존재를 체크합니다.

        단말 디바이스
            로그인 스크립트 완료 후, 1 초간 캐리어가 체크됩니다. 이 파라미터가 설정되어 있지 않은 경우, 디바이스가 캐리어를 서포트하고 있지 않다 (대부분의 “laplink” 누르모젬케이불의 경우가 그렇습니다)과 ppp (은)는 가정해, 이 사실을 로그에 취해, 캐리어의 체크를 멈춥니다.

            가상 단말 (pty)은 TIOCMGET ioctl 를 서포트하고 있지 않기 때문에, 디바이스가 가상 단말인 것을 검지했을 경우, 단말 디바이스는 모든 캐리어 검출을 오프로 합니다.

        ISDN (i4b) 디바이스
            6 초간, 1 초 마다 1 회 캐리어의 검출을 행합니다. 6 초 후에 캐리어가 설정되지 않는 경우, 접속의 시도는 실패했다고 보여져 디바이스는 클로우즈 됩니다. i4b 디바이스의 경우, 캐리어가 항상 요구됩니다.

        PPPoE (netgraph) 디바이스
            5 초간, 1 초 마다 1 회 캐리어의 검출을 행합니다. 5 초 후에 캐리어가 설정되지 않는 경우, 접속의 시도는 실패했다고 보여져 디바이스는 클로우즈 됩니다. PPPoE 디바이스의 경우, 캐리어가 항상 요구됩니다.

        다른 모든 디바이스 타입은 캐리어를 서포트하고 있지 않습니다. 디바이스를 오픈할 경우에 캐리어를 설정한다고 경고가 나옵니다.

        모뎀에 따라서는, 접속이 확립하고 나서 캐리어 신호선이 아서트 될 때까지 1 초 이상 걸리는 것이 있습니다. 이 지연을 늘릴 수 없는 경우, ppp (은)는 그 디바이스가 캐리어를 아서트 할 수 없다고 보므로, ppp (은)는 링크의 드롭을 검출할 수 없게 됩니다.

        “set cd” 명령은 디폴트의 캐리어의 동작을 덧쓰기합니다. seconds (은)는, 다이얼 스크립트가 완료하고 나서 캐리어가 이용 가능한가 판단하기 전에, ppp 하지만 기다려야 할 초수의 상한을 지정합니다.

        “off” 하지만 지정되면(자), ppp (은)는 디바이스의 캐리어를 확인하지 않습니다. 그렇지 않은 경우, 캐리어가 검출될까 seconds 의 초수가 경과할 때까지, ppp (은)는 로그인 스크립트에는 진행되지 않습니다. 이 때, seconds 의 초수가 경과한 시점에서, ppp (은)는 디바이스가 캐리어를 설정할 수 없으면 상정합니다.

        인수를 주지 않는 경우, 캐리어 설정은 디폴트의 값으로 돌아옵니다.

        seconds 의 직후에 느낌표 (“!”) (이)가 있는 경우, ppp (은)는 캐리어를 요구 합니다. seconds 초 후에 캐리어가 검지되지 않으면 링크는 절단 됩니다.

    set choked [timeout]
        이것은 ppp 하지만 모든 미송출 패킷을 파기하기 전에 송출 큐힐를 보관 유지하는 초수를 설정합니다. timeout 하지만 0 이하 혹은 timeout 하지만 지정되지 않는 경우, 기본값의 120 초 (으)로 설정됩니다.

        송출 큐힐는 ppp 하지만 로컬 네트워크로부터 특정의 수의 송출 패킷을 읽어들였지만, 링크 실패 (접속 상대가 Busy등)를 위해서(때문에) 데이터를 보낼 수 없는 경우에 발생합니다. ppp (은)는 패킷을 무한하게는 읽어들이지 않습니다. 대신에 30 패킷 (멀티 링크 모드에서는 30 + nlinks * 2 패킷)까지 읽어들여, timeout 초경과하는지, 1 개(살) 이상의 패킷이 보내질 때까지 네트워크 인터페이스의 읽기를 정지합니다.

        timeout 초가 경과하면(자), 모든 미송출 패킷은 파기됩니다.

    set ctsrts|crtscts on|off
        하드웨어 플로우 콘트롤을 세트 합니다. 디폴트에서는 하드웨어 플로우 콘트롤은 on 입니다.

    set deflate out-winsize [in-winsize]
        DEFLATE 알고리즘의, 디폴트의 출력 윈도우 사이즈와 입력 윈도우 사이즈를 설정합니다. out-winsize 및 in-winsize (은)는, 8 (으)로부터 15 까지의 값을 받을 필요가 있습니다. in-winsize 하지만 지정되면(자), ppp (은)는 이 윈도우 사이즈의 사용을 강요해, 상대가 다른 값을 나타내도 받아들이지 않습니다.

    set dns [primary [secondary]]
        “accept dns” 명령로 사용되는, DNS 덧쓰기를 설정합니다. 상세한 것에 대하여는 전술의 “accept” 명령의 기술을 참조해 주세요. 본커멘드는 “enable dns” (을)를 사용해 요구되는 IP 번호에는 영향을 주지 않습니다.

    set device|line
        value... ppp 하지만 사용하는 디바이스를, 지정되었다 “value” (으)로 설정합니다.

        모든 ISDN 디바이스와 시리얼 디바이스의 이름은 /dev/ (으)로부터 시작되는 것이 가정되고 있습니다. ISDN 디바이스는 통상 i4brbchX (이)라는 이름이어, 시리얼 디바이스는 통상 cuaXX (이)라는 이름입니다.

        “value” 하지만 /dev/ (으)로부터 시작되지 않는 경우, 느낌표 (“!”) (으)로부터 시작하는지, PPPoE:iface [:provider] 의 형식 ( netgraph(4) 하지만 유효한 시스템상)인지, host:port/tcp|udp 의 형식일 필요가 있습니다.

        느낌표로 시작되는 경우, 디바이스명의 나머지는 프로그램명으로서 다루어져 그 디바이스가 오픈될 때 그 프로그램이 실행됩니다. 표준 입출력 및 에러는 ppp 에 피드백되어 그것들이 통상 디바이스인것 같이 읽고 쓰기됩니다.

        PPPoE:iface [:provider] 지정이 주어지는 경우, ppp (은)는, 지정되었다 iface 인터페이스를 사용해 PPP 오바이사넷트 접속을 작성하려고 합니다. 이 때 netgraph(4) (을)를 사용합니다. netgraph(4) 하지만 사용 불능의 경우, ppp 하 kldload(2) (을)를 사용해 로드하려고 합니다. 이것이 실패하는 경우에는, OpenBSD 그리고 이용할 수 있다 pppoe(8) (와)과 같은 외부 프로그램을 사용할 필요가 있습니다. 주어졌다 provider (은)는, PPPoE Discovery Initiation (PADI) 패킷중에서 서비스명으로서 건네받습니다. provider 가 주어지지 않으면 하늘의 값이 사용됩니다.

        PPPoE 접속이 확립될 때, ppp (은)는, 아크세스콘센트레이타의 이름을 환경 변수 ACNAME (으)로 설정합니다.

        새로운 자세한 것은 netgraph(4) (와)과 ng_pppoe(4) (을)를 참조해 주세요.

        host:port[ /tcp|udp] 지정이 주어지는 경우, ppp (은)는, 지정되었다 host 의 지정되었다 port (와)과 접속하려고 합니다. “/tcp” 또는 “/udp” 의 사픽스가 없는 경우, 디폴트는 “/tcp” 됩니다. 자세한 것은 상술의 PPP 오바 TCP 와 PPP 오바 UDP 시에를 참조해 주세요.

        복수의 “value” (을)를 지정했을 경우, ppp (은)는 성공할까 전디바이스에 대해 실행해 끝날 때까지, 차례로 오픈을 시도합니다.

    set dial chat-script
        상대에게 다이얼 할 때에 사용되는 chat script를 지정합니다. 후술의 “set login” 명령도 참조해 주세요. chat script의 포맷의 상세한 것에 대하여는, chat(8) (와)과 설정 파일의 예를 참조해 주세요. 다음의 특수한 ‘value’ (을)를 chat script로 지정 가능합니다:

        \c  ‘송신’ 캐릭터 라인의 마지막 캐릭터로서 사용했을 경우, 개행을 추가해서는 안 되는 것을 의미합니다.

        \d  chat script가 이 순차 순서를 만나면(자), 2 초 기다립니다.

        \p  chat script가 이 순차 순서를 만나면(자),1/4 초 기다립니다.

        \n  개행 캐릭터와 옮겨놓을 수 있습니다.

        \r  복개캐릭터와 옮겨놓을 수 있습니다.

        \s  공백 캐릭터와 옮겨놓을 수 있습니다.

        \t  탭 캐릭터와 옮겨놓을 수 있습니다.

        \T  현재의 전화번호와 옮겨놓을 수 있습니다 (후술의 “set phone” 참조).

        \P  현재의 authkey 값과 옮겨놓을 수 있습니다 (전술의 “set authkey” 참조).

        \U  현재의 authname 값과 옮겨놓을 수 있습니다 (전술의 “set authname” 참조).

        2 개의 파서가 이러한 escape sequence을 검사하는 것에 주의해 주세요. ‘채팅의 파서’ 에 이스케이프 캐릭터를 보이려면 , ‘명령 파서’ (으)로부터 이스케이프 할 필요가 있습니다. 즉, 2 개의 이스케이프를 사용할 필요가 있습니다. 예를 들면 다음과 같이 합니다:

            set dial "... ATDT\\T CONNECT"

        chat script로부터 외부 명령을 실행할 수도 있습니다. 그렇게 하기 위해서는, 수신 대기 캐릭터 라인 또는 송신 캐릭터 라인의 최초의 캐릭터를 느낌표 (“!”) (으)로 합니다. 리터럴의 느낌표가 필요한 경우에는, 이중 “!!” (으)로 하면, 단일의 리터럴 “!” (으)로서 다루어집니다. 명령이 실행되면(자), 표준 입력과 표준 출력이 오픈 디바이스 ( “set device” 참조)로 향해져 표준 에러 출력이 ppp 에 읽혀져 수신 대기 캐릭터 라인 혹은 송신 캐릭터 라인으로 옮겨집니다. ppp 하지만 대화 모드로 실행되고 있는 경우, 파일 기술자 3 은 /dev/tty 에 접속됩니다.

        예를 들면 (읽기 쉬움을 위해서(때문에) 되풀이하고 있습니다);

            set login "TIMEOUT 5 \"\" \"\" login:--login: ppp \
            word: ppp \"! sh \\-c \\\"echo \\-n label: >&2\\\"\" \
            \"! /bin/echo in\" HELLO"

        (은)는 다음의 채팅 순차 순서가 됩니다 (다이얼전의 ‘set log local chat’ 명령에 의한 출력):

            Dial attempt 1 of 1
            dial OK!
            Chat: Expecting:
            Chat: Sending:
            Chat: Expecting: login:--login:
            Chat: Wait for (5): login:
            Chat: Sending: ppp
            Chat: Expecting: word:
            Chat: Wait for (5): word:
            Chat: Sending: ppp
            Chat: Expecting: ! sh \-c "echo \-n label: >&2"
            Chat: Exec: sh -c "echo -n label: >&2"
            Chat: Wait for (5): ! sh \-c "echo \-n label: >&2" --> label:
            Chat: Exec: /bin/echo in
            Chat: Sending:
            Chat: Expecting: HELLO
            Chat: Wait for (5): HELLO
            login OK!

        복수 레벨의 네스트에 대해, 이스케이프 캐릭터의 사용 방법으로 (재차) 주의해 주세요. 여기에서는, 4 개의 파서가 동작하고 있습니다. 1 번째는, 오리지날의 행을 파스 해, 3 개의 인수로서 읽습니다. 2 번째는, 제 3 인수를 11 개의 인수로서 읽습니다. 여기서, “-” 기호가 이스케이프 되고 있는 것이 중요합니다. 그렇지 않으면 파서는, 수신 대기-송신-수신 기다리는 순차 순서로서 봐 버립니다. “!” 캐릭터를 찾아내면(자), 실행 파서는 최초의 명령을 3 개의 인수로서 읽어, sh(1) 자신이 -c 이후의 인수를 전개합니다. 우리는 출력을 모뎀에 돌려 보내고 싶기 때문에, 1 번째의 예에서는 출력을 파일 기술자 2 (stderr)에 리디렉트 해 ppp 자신에게 송신 및 기록시켜, 2 번째의 예에서는 단지 stdout 에 출력해 직접 모뎀에 출력시킵니다.

        물론 전체를, 편입의 것은 아니고 외부의 “chat” 명령에 실행시키는 것이 가능합니다. 좋은 대체 방법에 대해서는 chat(8) (을)를 참조해 주세요.

        실행되는 외부 명령은, “! bg” 명령와 같게, 특수어의 전개 대상이 됩니다.

    set enddisc [label|IP|MAC|magic|psn value]
        이 명령은, 로컬 종점의 선택치를 설정합니다. LCP 네고시에이션의 전으로 설정되었을 경우이며, “disable enddisc” 명령을 사용하고 있지 않는 경우, ppp (은)는 LCP 종점 선택치 옵션을 사용해, 상대에게 정보를 보냅니다. 다음의 선택치를 설정 가능합니다.

        label
            현재의 label가 사용됩니다.

        IP  이 쪽의 로컬 IP 번호를 사용합니다. LCP 는 IPCP 보다 전에 네고시에이트 되기 때문에, IPCP 층이 나중에 이 값을 변경하는 것이 가능합니다. 그 경우, 수동으로 리셋트 하지 않는 한, 종점의 선택치는 낡은 값인 채됩니다.

        MAC 전술의 IP 옵션을 닮아 있습니다만, 로컬 IP 번호에 관계하는 MAC 주소가 사용되는 점이 다릅니다. 로컬 IP 번호가 어느 이더넷(ethernet) 인터페이스에도 존재하지 않는 경우, 본명령은 실패합니다.

            로컬 IP 번호의 디폴트는, 머신 호스트명이 어째서 저것, 그 이름이 되기 때문에, 통상 “set enddisc mac” (을)를 “set ifaddr” 명령보다 먼저 실행합니다.

        magic
            20 자리수의 난수가 사용됩니다. magic number를 사용할 경우에는 주의가 필요합니다. ppp 의 재개나 다른 ppp (을)를 사용한 링크 작성에 대해서는, 다른 magic number를 사용하기 위해(때문에), 같은 번들에 속한다고는 상대에게 인식되지 않습니다. 이 때문에, -direct 접속에서는 사용할 수 없습니다.

        psn value
            지정되었다 value 하지만 사용됩니다. value (은)는, 절대적인 공중 스윗치 네트워크 번호의 선두에 나라 코드를 붙인 것이어야 합니다.

        인수가 주어지지 않는 경우, 종점의 선택치는 리셋트 됩니다.

    set escape value...
        이 옵션은 전술의 “set accmap” 옵션을 닮아 있습니다. 링크를 경유할 때에 ‘이스케이프’ 되는 캐릭터를 지정하기 위해서 사용합니다.

    set filter dial|alive|in|out rule-no
        permit|deny|clear|rule-no [!] [[host] src_addr[/width] [dst_addr[/width]]] [proto [src lt|eq|gt port] [dst lt|eq|gt port] [estab] [syn] [finrst] [timeout secs]] ppp (은)는 4 개의 필터 세트를 서포트합니다. alive 필터는 접속을 활성 상태에 유지하는 패킷을 지정합니다 - idle timer를 리셋트 합니다. dial 필터는, -auto 모드시에 ppp 에 다이얼 시키는 패킷을 지정합니다. in 필터는, 머신에 입력 가능한 패킷을 지정합니다. out 필터는, 머신으로부터 출력 가능한 패킷을 지정합니다.

        필터링을 하는 것은, 출력 패킷에서는 NAT 엔진에 의한 IP 변경전이며, 입력 패킷에서는 NAT 엔진에 의한 IP 변경 다음에. 디폴트에서는, 모든 하늘의 필터 세트는 전패킷의 통과를 허가합니다. 룰은 rule-no 에 따라 차례로 처리됩니다 (룰 번호를 action (으)로 지정해 스킵 하는 경우를 제외합니다). 각 세트에 대해 40 까지의 룰을 지정 가능합니다. 지정되는 세트에 있어서의 어느 룰에도 매치 하지 않는 패킷은 파기됩니다. in (와)과 out 의 필터에서는, 패킷을 드롭 하는 것을 의미합니다. alive 필터에서는, idle timer를 리셋트 하지 않는 것을 의미합니다 (이것은 in/out 필터가 “timeout” 부착인 경우에서도입니다). dial 필터에서는 다이얼 시키는 것으로는 되지 않는 것을 의미합니다. 다이얼을 일으키지 않는 패킷은, 큐 되는 것이 아니라, 버려지는 것에 주의해 주세요. 상술의 패킷의 필터링 시에를 참조해 주세요.

    set hangup chat-script
        디바이스를 닫기 전에 이것을 리셋트 할 때에 사용하는, chat script를 지정합니다. 통상은 불필요해야 합니다만, 닫을 때에 자기를 올바르고 리셋트 할 수 없는 디바이스에 대해서 사용할 수 있습니다.

    set help|? [command]
        이용 가능한 set 명령의 통계를 표시하는지, command 하지만 지정되면(자), 명령의 사용 방법을 표시합니다.

    set ifaddr [myaddr
        [/nn] [hisaddr[/nn] [netmask [triggeraddr]]]] 이 명령은, IPCP 네고시에이션의 사이 사용되는 IP 주소를 지정합니다. 주소의 포맷은 다음과 같습니다.

            a.b.c.d/nn

        여기서 “a.b.c.d” (은)는 희망하는 IP 주소이며, nn (은)는 이 중 몇 비트가 유효한가를 나타냅니다. /nn 하지만 생략 되었을 경우, 디폴트의 “/32” (이)가 됩니다. 다만 IP 주소가 0.0. 0.0 인 경우에는, 마스크의 디폴트는 “/0” 입니다.

        상대에게 동적인 IP 번호를 할당하고 싶은 경우, hisaddr 에 IP 번호의 범위로서

        IP[-IP ][,IP [-IP] ]...

        의 포맷을 지정할 수 있습니다. 예를 들면:

            set ifaddr 10.0. 0.1 10.0. 1.2-10. 0.1. 10,10.0. 1.20

        하 “10.0. 0.1” 만을 로컬 IP 번호로서 네고시에이트 합니다만, 지정된 10 개의 IP 번호로부터 상대에게 할당을 실시합니다. 상대가 이러한 번호 중 1 개를 요구해, 이 번호가 미사용인 경우에는, ppp (은)는 상대의 요구를 인정합니다. 상대가 링크를 재확립해 전회 할당하고 있던 IP 번호를 사용하고 싶은 경우에 유용합니다 (기존의 TCP 와 UDP 의 접속을 보존합니다).

        상대가 요구한 IP 번호가 범위외 혹은 사용중의 경우, ppp (은)는 범위내의 미사용 IP 번호를 랜덤에 지시합니다.

        triggeraddr 하지만 지정되었을 경우, 이 값이 myaddr 대신에 IPCP 네고시에이트로 사용됩니다. 다만, myaddr 의 범위의 주소만 받아들여집니다. 이것이 유용한 것은, 상대가 “0.0. 0.0” (을)를 요구하지 않는 한 IP 주소를 할당하려고 하지 않는다 PPP 실장과 네고시에이트 할 때입니다.

        -auto 모드에서는 설정 파일의 “set ifaddr” 행을 읽은 직후에 ppp 하지만 인터페이스를 구성하는 것에 주의해 주세요. 다른 모드에서는 이러한 값은 IPCP 네고시에이션으로 사용되어 IPCP 층이 올라갈 때까지 이러한 인터페이스는 구성되지 않습니다.

        (PAP 나 CHAP 가 “enable” 인 경우) 클라이언트가 자기 증명을 한 다음에는, HISADDR 인수는 ppp.secret 파일의 제 3 인수로 덧쓰기될 수 있는 일로 주의해 주세요. 내향 접속의 인증 시에를 참조해 주세요.

        어느 경우에서도, 인터페이스가 이미 구성되어 있는 경우에는, ppp (은)는 인터페이스의 IP 번호를 보존해, 이미 바인드 되고 있는 소켓이 올바른 채이도록(듯이) 합니다.

    set ifqueue packets
        어느 링크에도 데이터를 송신할 수 없는 상태 때, ppp 하지만 터널 인터페이스로부터 읽어들이는 패킷수의 최대치를 지정합니다. ppp 하지만 이용할 수 있는 링크의 다발보다 터널 인터페이스가 아득하게 고속이 될 것 같은 경우에, 송출 데이터의 flow control를 위해서(때문에) 이 큐의 제한은 필요하게 됩니다. packets 에 링크의 수보다 작은 값을 설정했을 경우, 그 설정에 관련되지 않고 ppp (은)는 링크의 수까지는 읽어들입니다. 이것에 의해, 지연의 문제가 회피됩니다.

        packets 의 디폴트의 값은 “30” 입니다.

    set ccpretry|ccpretries [timeout
        [reqtries [trmtries]]]

    set chapretry|chapretries [timeout
        [reqtries]]

    set ipcpretry|ipcpretries [timeout
        [reqtries [trmtries]]]

    set ipv6cpretry|ipv6cpretries [timeout
        [reqtries [trmtries]]]

    set lcpretry|lcpretries [timeout
        [reqtries [trmtries]]]

    set papretry|papretries [timeout
        [reqtries]] 이러한 명령은 ppp 하지만 유한 상태 기계 (Finite State Machine; FSM)에 요구 패킷을 보내기 전에 기다리는 초수를 지정합니다. timeout 의 디폴트는, 전 FSM 에 대해 3 초입니다 (대부분의 경우 충분합니다).

        reqtries (을)를 지정하면(자), 상대로부터 응답을 수신하지 않아도 단념하기까지 설정 요구를 작성하는 회수를, ppp 에 지시합니다. 디폴트의 시행 회수는, CCP, LCP, IPCP 의 경우 5 회이며, PAP 와 CHAP 의 경우 3 회입니다.

        trmtries (을)를 지정하면(자), 상대의 응답을 기다리는 것을 단념하기까지 종료 요구를 작성하는 회수를, ppp 에 지시합니다. 디폴트의 시행 회수는 3 회입니다. 인증 프로토콜은 종료되지 않으므로, PAP 나 CHAP 에 대해서 지정하는 것은 부정합니다.

        합의할 수 없는 상대와의 네고시에이션을 피하기 위해서(때문에), 어떠한 네고시에이션 세션이어도 단념하거나 층을 클로우즈 하기 전에는, ppp (은)는 최대로 reqtries 의 설정치의 3 배까지 마셔 송신합니다.

    set log
        [local] [+|-] value... 이 명령에 의해 현재의 로그 레벨을 수정할 수 있습니다. 자세한 것은 로그 기능의 경우(때)를 참조해 주세요.

    set login chat-script
        이 chat-script (은)는 다이얼 스크립트를 보충합니다. 만약 양쪽 모두가 지정되었을 경우, 다이얼 스크립트의 다음에, 로그인 스크립트가 실행됩니다. 다이얼 스크립트중에서 사용 가능한 escape sequence는 여기에서도 사용 가능합니다.

    set logout chat-script
        이 명령은, 행업 스크립트가 불리기 전에 로그아웃을 위해서(때문에) 사용되는, chat script를 지정합니다. 통상에서는 필요없을 것입니다.

    set lqrperiod frequency
        이 명령은, LQR 또는 ECHO LQR 의 패킷이 송신되는 빈도 frequency (을)를 초에 지정합니다. 디폴트는 30 초입니다. 상대에게 LQR 요구를 보내고 싶은 경우에는, “enable lqr” 명령도 또 사용할 필요가 있습니다.

    set mode interactive|auto|ddial|background
        지정한 링크에 있어서의 모드 ‘mode’ (을)를 변경할 수 있습니다. 통상 멀티 링크 모드에서만 유용합니다만, 단일 링크 모드에서도 사용 가능합니다.

        ‘direct’ 또는 ‘dedicated’ 의 링크를 변경할 수 없습니다.

        주: 명령 “set mode auto” (을)를 발행해, 네트워크 어드레스 변환이 enable 로 되고 있었을 경우, 다음에 “enable iface-alias” (을)를 실시하면 편리합니다. ppp 하지만 필요한 어드레스 변환을 실시하도록(듯이) 하는 것으로써, 상대가 이 쪽에 새로운 (동적인) IP 주소를 할당했다고 해도, 링크가 올라가면(자) 접속의 방아쇠가 되는 프로세스가 접속할 수 있게 합니다.

    set mppe [40|56|128|* [stateless|stateful|*]]
        본옵션은, MPPE 의 네고시에이션시에 사용하는 암호 파라미터를 선택합니다. “disable mppe” 명령로, MPPE 는 완전하게 무효화 가능합니다. 인수를 지정하지 않으면 ppp (은)는, 128 비트열쇠 상태 있어 링크를 네고시에이트 하려고 합니다만, 상대가 요구하는 모두에게 합의합니다 (암호화 없음도 포함합니다).

        인수를 지정하면(자), MPPE 의 사용에 ppp 하 고집 해, 상대가 거부하면(자) 링크를 닫습니다 (주; 이 동작은 RADIUS 서버의 설정에 의해 변경 가능합니다).

        제 1 인수는, 네고시에이트중에 ppp 하지만 고집해야 할 비트수를 지정해, 제 2 인수는, 상태 있어 모드 또는 상태 없음 모드의 머지않아에 ppp 하지만 고집해야할 것인가를 지정합니다. 상태 없음 모드에서는, 각 패킷에 응해 변경되는 암호화열쇠에 대응해, 암호화 사전이 재인스톨 됩니다. 상태 있어 모드에서는, 암호화 사전은 256 패킷마다 혹은 데이터 상실 후에 재인스톨 되어 열쇠는 256 패킷마다 변경됩니다. 상태 없음 모드는, 효율이 나쁘기는 하지만, 신뢰성이 없는 트랜스폴트층에서는 좋습니다.

    set mrru [value]
        이 옵션을 설정하면(자), 멀티 링크 프로토콜 또는 MP 로서도 알려진, 멀티 링크 PPP 네고시에이션을 유효하게 합니다. MRRU (Maximum Reconstructed Receive Unit)의 값에는 디폴트는 없습니다. 인수를 지정하지 않으면 멀티 링크 모드는 무효로 됩니다.

    set mru
        [max[imum]] [value] 디폴트의 MRU (최대 수신 단위; Maximum Receive Unit)는 1500 입니다. 이 값을 증가시켰을 경우, 상대는 MTU 를 증가시켜도 *괜찮습니다*. 이론적으로는, 디폴트의 MRU 보다 줄이는 것은 의미가 없습니다. 왜냐하면, PPP 프로토콜에서는 적어도 1500 8중창의 패킷을 수신할 수 없으면 *안 되는* 으로부터입니다.

        “maximum” 키워드가 사용되었을 경우, 보다 큰 값의 네고시에이트를 ppp (은)는 거부합니다. 최대 MRU 는, 최대에서도 2048 입니다. 최대치를 1500 미만으로 하는 것은 PPP RFC 위반입니다만, 필요한 경우도 있습니다. 예를 들면, PPPoE 그럼, 하드웨어의 제약에 의해 최대가 1492 가 됩니다.

        인수를 지정하지 않으면 1500 이 가정됩니다. “maximum” 지정시에는, 값의 지정이 필요합니다. 인수가 지정되지 않으면 1500 이 가정됩니다.

    set mtu
        [max[imum]] [value] 디폴트의 MTU 는 1500 입니다. 네고시에이션시에, (296 바이트 미만이 아니고, 최대치를 넘지 않으면) 상대가 바라는 어떠한 MRU 도 받아들이고 가능합니다. MTU 가 설정되면(자), ppp 하 value 보다 작은 MRU 의 값을 받아들이지 않게 됩니다. 네고시에이션이 완료하면(자), 상대가 보다 큰 MRU 를 요구하고 있었다고 해도, 인터페이스에 대해서 기입을 실시할 때에는 MTU 가 사용됩니다. 이 쪽의 패킷 사이즈를 제한하는데 유용합니다 (보다 좋게 밴드폭을 공유할 수 있게 됩니다만, 헤더 데이터가 증가한다고 하는 코스트가 듭니다).

        “maximum” 키워드가 사용되었을 경우, 보다 큰 값의 네고시에이트를 ppp (은)는 거부합니다. 최대 MTU 는, 최대에서도 2048 입니다.

        value (을)를 지정하지 않으면 1500 또는 상대가 요구한 값이 사용됩니다. “maximum” 지정시에는, 값의 지정이 필요합니다.

    set nbns [x.x.x.x [y.y.y.y]]
        이 옵션은, 상대의 요구에 의해 돌려주어진다 Microsoft NetBIOS 네임서버의 값을 설정합니다. 값을 지정하지 않으면 ppp (은)는 그러한 요구를 거부하게 됩니다.

    set openmode active|passive [delay]
        디폴트에서는, openmode (은)는 항상, 1 초의 delay (을)를 가지고 active 됩니다. 이 경우, ppp (은)는 회선이 설정되고 나서 1 초가 경과했다면 언제라도 LCP/IPCP/CCP 의 네고시에이션을 개시합니다. 상대가 네고시에이션을 개시하는 것을 기다리고 싶은 경우는, 값 “passive” (을)를 사용합니다. 즉시 혹은 1 초 이상 기다리고 나서 네고시에이션을 개시하고 싶은 경우, delay (을)를 초단위로 지정합니다.

    set parity odd|even|none|mark
        회선의 패리티를 설정할 수 있습니다. 기본값은 none 입니다.

    set phone telno
        [|backupnumber ]...[:nextnumber ]... 다이얼 및 로그인의 chat script로 사용되는 \\T 캐릭터 라인이 옮겨놓을 수 있는 전화번호를 지정할 수 있습니다. 복수의 전화번호를 파이프 (“|”) 혹은 코론 (“”): 그리고 단락지어 지정 가능합니다.

        파이프의 뒤의 번호가 다이얼 되는 것은, 직전의 번호에의 다이얼 혹은 로그인의 스크립트가 실패했을 경우만입니다. 회선의 절단의 이유에 관계없이, 코론으로 단락지어진 번호는 차례로 시행됩니다.

        복수의 번호를 지정했을 경우, 접속이 확립할 때까지 ppp (은)는 이 룰에 근거해 다이얼 합니다. 재시행의 최대치는, 후술의 “set redial” 그리고 지정합니다. -background 모드에서는 각 번호는 최대 1 회 시행됩니다.

    set [proc]
        title [value] ps(1) 하지만 표시하는 현재의 프로세스 타이틀을, value 에 따라 변경합니다. value 하지만 지정되지 않으면 원의 프로세스 타이틀이 회복됩니다. 쉘 명령이 실시하는 모든 말치환 (전술의 “bg” 명령을 참조해 주세요)는, 여기에서도 행해집니다.

        프로세스 타이틀중에 USER 가 필요한 경우, “set proctitle” 명령은 ppp.linkup 안에 등장할 필요가 있는 것에 주의해 주세요. ppp.conf 하지만 실행되고 있을 때는, 모르기 때문입니다.

    set radius [config-file]
        이 명령은 RADIUS 서포트를 (짜넣어지고 있으면) 유효하게 합니다. config-file (은)는, radius.conf(5) 에 기술되고 있는 radius 클라이언트 설정 파일을 참조합니다. PAP, CHAP, MSCHAP, MSCHAPv2 중 한쪽이 “enable” (으)로 되고 있는 경우, ppp 하 Network Access Server (으)로서 행동해, 설정되어 있는 RADIUS 서버를 사용해 인증해, ppp.secret 파일이나 패스워드 데이타베이스에 의한 인증은 실시하지 않습니다.

        PAP, CHAP, MSCHAP, MSCHAPv2 의 모두 유효하게 되지 않은 경우, “set radius” (은)는 효과가 없습니다.

        ppp (은)는, RADIUS 응답중의, 다음의 속성을 사용합니다:

        RAD_FRAMED_IP_ADDRESS
            상대의 IP 주소는 지정된 값으로 설정되었습니다.

        RAD_FRAMED_IP_NETMASK
            tun 인터페이스의 넷 마스크는 지정된 값으로 설정되었습니다.

        RAD_FRAMED_MTU
            지정된 MTU 가 LCP 네고시에이션에 합의된 상대의 MRU 보다 작은 경우이며, *한편* 설정된 MTU 의 머지않아보다 작은 경우 ( “set mru” 명령 참조), tun 인터페이스의 MTU 는 지정한 값으로 설정됩니다.

        RAD_FRAMED_COMPRESSION
            수신한 압축 타입이 “1” 의 경우, “disable vj” 설정 명령이 지정되어 있었다고 해도, IPCP 네고시에이션에 대해 ppp (은)는 VJ 압축을 요구합니다.

        RAD_FILTER_ID
            이 속성이 주어지면(자), ppp (은)는 이것을 추가의 label로서 사용해, ppp.linkup 및 ppp.linkdown 의 파일로부터 로드를 시도합니다. 이 로드는, 통상의 label 검색 전에 (이것에 추가해) 시도됩니다. label가 존재하지 않는 경우, 아무것도 실행되지 않고, ppp (은)는 현재의 label를 사용해 통상의 로드를 실시합니다.

        RAD_FRAMED_ROUTE
            수신한 캐릭터 라인은, dest[/bits] gw [metrics] 그렇다고 하는 서식이다고 기대합니다. 지정한 metrics 는 무시됩니다. MYADDR (와)과 HISADDR (은)는, dest (와)과 gw 의 정당한 값으로 해서 이해됩니다. “default” (을)를 dest 에 사용 가능하고, 디폴트 경로를 지정합니다. “0.0. 0.0” (은)는, dest 에 대한다 “default” (와)과 같다라고 해석되어 gw 에 대한다 HISADDR (와)과 같다라고 해석됩니다.

            예를 들면, 반환값 “1.2. 3.4/24 0.0. 0.0 1 2 -1 3 400” (은)는 1.2. 3.0/24 네트워크에는 HISADDR (을)를 개입시킨다고 하는 경로표 엔트리가 되어, 반환값 “0.0. 0.0 0.0. 0.0” 또는 “default HISADDR” 하 HISADDR 행의 디폴트 경로가 됩니다.

            모든 RADIUS 의 경로는, 모든 스티키인 경로가 적용된 다음에 적용됩니다. 이것에 의해, RADIUS 의 경로가, 설정 끝난 경로에 우선합니다. 이것은, MYADDR 또는 HISADDR 그렇다고 하는 키워드를 포함하지 않는 RADIUS 의 경로에도 들어맞읍니다.

        RAD_SESSION_TIMEOUT
            지정했을 경우, 지정한 초수 후에 클라이언트 접속이 닫혀집니다.

        RAD_REPLY_MESSAGE
            지정했을 경우, 인증 성공 (SUCCESS) 텍스트로서 이 메세지가 상대에게 건네집니다.

        RAD_MICROSOFT_MS_CHAP_ERROR
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우, 인증 실패 (FAILURE) 텍스트로서 이 메세지가 상대에게 건네집니다.

        RAD_MICROSOFT_MS_CHAP2_SUCCESS
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우로 MS-CHAPv2 인증이 사용되고 있는 경우, 인증 성공 (SUCCESS) 텍스트로서 이 메세지가 상대에게 건네집니다.

        RAD_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우로 값이 2 의 경우 (필수의 뜻), ppp (은)는 MPPE 암호의 사용을 고집합니다 (인수 첨부 “set mppe” 설정 명령의 존재에 관계없이입니다). 지정된 값이 1 의 경우 (허가의 뜻), 암호화는 옵션이 됩니다 (인수 첨부 “set mppe” 설정 명령의 존재에 관계없이입니다).

        RAD_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우, 비트 1 및 2 가 검사됩니다. 어느 쪽일지도 깔고는 양쪽 모두가 설정되어 있었을 경우, (각각) 40 비트 및/또는 128 비트의 암호화가 유효하게 됩니다. 어느 쪽일지도 깔고는 양쪽 모두가 설정되었을 경우, “set mppe” 명령에의 제 1 인수에 관계없이, 40 비트 및/또는 128 비트 암호 옵션이 (각각) 설정됩니다. 현상, RADIUS 서버는 56 비트 암호화는 지정 불가능한 것으로 주의해 주세요.

        RAD_MICROSOFT_MS_MPPE_RECV_KEY
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우, 입력 데이터의 암호 해독에 이 값을 마스타키로서 사용합니다. 클라이언트가 MSCHAPv2 로 인증되었을 경우, 내향의 MPPE 가 동작하기 위해서는, RADIUS 서버는 이 속성을 제공 「하지 않으면 안됩니다」.

        RAD_MICROSOFT_MS_MPPE_SEND_KEY
            이 RAD_VENDOR_MICROSOFT vender 고유 속성이 지정되었을 경우, 출력 데이터의 암호화에 이 값을 마스타키로서 사용합니다. 클라이언트가 MSCHAPv2 로 인증되었을 경우, 외부로 향한 MPPE 가 동작하기 위해서는, RADIUS 서버는 이 속성을 제공 「하지 않으면 안됩니다」.

        RADIUS 서버로부터 수신한 값은, “show bundle” (을)를 사용하고 볼 수 있습니다.

    set reconnect timeout ntries
        (CD 의 상실 혹은 LQR 의 실패에 의해) 예상외의 회선 절단이 되었을 경우, 지정했다 timeout 의 후에 접속이 재확립됩니다. 회선은 최대 ntries 회, 재접속됩니다. ntries 의 디폴트는 0 입니다. timeout 에 random (을)를 지정하면(자), 1 에서 30 초의 사이의 임의 시간의 정지가 됩니다.

    set recvpipe [value]
        routing table의 RECVPIPE 치를 설정합니다. 최적인 값은, MTU 치를 2 배가 된 값을 꼭 넘는 값입니다. value 하지만 지정되지 않는 또는 0 의 경우, 디폴트의, 커널이 제어하는 값을 사용합니다.

    set redial secs
        [+inc [-max] ][.next] [attempts] ppp 에 attempts 회의 리다이얼을 지시할 수 있습니다. 1 보다 큰 수를 지정했을 경우 (전술의 set phone 참조), 각 번호에 다이얼 하기 전에, next 만 정지합니다. 최초의 번호로 돌아와 다이얼 개시하기 전에 secs 만 정지합니다. 리터럴치 “random” (을)를 secs 및 next 로 사용할 수 있어 1 에서 30 초의 사이의 임의 시간의 정지가 됩니다.

        inc 하지만 지정되면(자), ppp 하지만 신규 번호를 시험할 때마다, 이 값이 secs 에 더해집니다. secs 하지만 증가되는 것은, 최대 max 회 뿐입니다. max 의 기본값은 10 입니다. attempts 하지만 경과한 다음에도 secs 의 지연은 효과가 있으므로, 곧바로 수동으로 다이얼 해도 아무것도 떠나지 않은 것처럼 보일지도 모릅니다. 곧바로 다이얼 할 필요가 있는 경우, “!” (을)를 “open” 키워드의 직후에 붙입니다. 한층 더 상세한 것에 대하여는, 전술의 “open” 의 기술을 참조해 주세요.

    set sendpipe [value]
        routing table의 SENDPIPE 치를 설정합니다. 최적인 값은, MTU 치를 2 배가 된 값을 꼭 넘는 값입니다. value 하지만 지정되지 않는 또는 0 의 경우, 디폴트의, 커널이 제어하는 값을 사용합니다.

    set server|socket TcpPort|
        LocalName|none|open|closed [password [mask]] 이 명령은 ppp (으)로 지정한 소켓 혹은 ‘진단 포트’ 에서 명령 접속의 입력을 listen 하도록(듯이) 지시합니다.

        어 none 하 ppp 에 이미 존재하는 소켓을 닫게 해 소켓 설정을 지우게 합니다. 어 “open” 하 ppp 에 포트를 재차 오픈시킵니다. 어 “closed” 하 ppp 에 오픈하고 있는 포트를 닫게 합니다.

        로컬 도메인 소켓을 지정하고 싶은 경우, LocalName 에 절대 파일명을 지정합니다. 그렇게 하지 않으면 TCP 포트의 이름 혹은 번호 이다고 해석됩니다. 로컬 도메인 소켓에 사용되는 8 진 umask 를 지정 가능합니다. umask 의 상세한 것에 대하여는 umask(2) (을)를 참조해 주세요. TCP 포트명이 어떻게 변환될까에 대해서는 services(5) (을)를 참조해 주세요.

        이 소켓에 클라이언트가 접속할 경우에 사용되지 않으면 안 되는 패스워드도 지정 가능합니다 ( 전술의 “passwd” 변수를 사용합니다). 패스워드가 공문자열로서 지정되는 경우, 클라이언트가 접속할 경우에 패스워드가 필요하게 되지 않습니다.

        로컬 도메인 소켓이 지정되는 경우, 소켓 명중의 최초의 “%d” 순차 순서는 현재의 인터페이스 유니트 번호로 치환됩니다. 복수 접속을 위해서(때문에) 동일한 프로파일을 사용하고 싶은 경우에 편리합니다.

        같은 방법으로 TCP 소켓의 전에 “+” 캐릭터를 붙일 수가 있습니다. 이 경우, 현재의 인터페이스 유니트 번호가, 포트 번호에 가산됩니다.

        ppp (을)를 서버 소켓과 함께 사용하는 경우, 통신 기구로서 pppctl(8) 명령을 사용하는 것이 바람직합니다. 현재 telnet(1) 도 사용 가능합니다만, 장래 링크 암호화가 실장될지도 모르므로, telnet(1) (은)는 피해 주세요.

        주: SIGUSR1 (와)과 SIGUSR2 (은)는, 진단 소켓과 서로 작용합니다.

    set speed value
        시리얼 디바이스의 속도를 지정합니다. 속도 지정이 “sync” 의 경우, ppp (은)는 디바이스를 동기 디바이스로서 취급합니다.

        디바이스 타입에 따라서는, 동기 또는 비동기의 언젠가인 것을 알 수 있는 것이 있습니다. 이러한 디바이스에서는, 부정한 설정을 덧쓰기해, 이 결과에 대한 경고를 기록합니다.

    set stopped [LCPseconds [CCPseconds]]
        이 옵션이 지정되면(자), 지정한 FSM (유한 상태 기계; Finite State Machine)가 정지상태태가 되고 나서 “seconds” 그리고 지정한 초수만큼 정지한 후, ppp (은)는 타임 아웃 합니다. 이 옵션은, 상대가 종료 요구를 보내 우리가 종료 확인 응답을 보냈음에도 불구하고 실제로는 접속을 닫지 않는 경우에, 유용할지도 모릅니다. 또, “set openmode passive” (을)를 사용했을 경우에 상대가 지정 시간내에 Configure Request 를 보내지 않는 것을 타임 아웃 검출하는 경우에는, 편리할지도 모릅니다. “set log +lcp +ccp” (을)를 사용하면(자), ppp (은)는 적절한 상태 천이를 기록합니다.

        기본값은 0 이며, 정지상태태에 의한다 ppp 의 타임 아웃은 발생하지 않습니다.

        이 값은 openmode 의 지연 (상술의 “set openmode” 참조)보다 작아져 되지 않습니다.

    set timeout idleseconds [mintimeout]
        이 명령은 idle timer의 값을 지정합니다. 한층 더 상세한 것에 대하여는 idle timer의 설정 그렇다고 하는 타이틀의 마디를 참조해 주세요.

        mintimeout 하지만 지정되었을 경우, 최단이라도 지정된 초수만큼 링크가 올라가지 않으면 ppp (은)는 아이돌 아웃 하지 않습니다.

    set urgent
        [tcp|udp|none] [[+|-] port] ... 이 명령은, 데이터 전송시에 ppp 하지만 우선하는 포트를 제어합니다. 디폴트의 우선 TCP 포트는, 포토 21 (ftp control), 22 (ssh), 23 (telnet), 513 (login), 514 (shell), 543 (klogin), 544 (kshell)입니다. 우선 UDP 포트는, 디폴트가 아닙니다. 자세한 것은 services(5) (을)를 참조해 주세요.

        “tcp” 도 “udp” 도 지정하지 않으면 “tcp” 하지만 가정됩니다.

        port (을)를 지정하지 않으면 우선 포트 리스트가 클리어 됩니다 ( “tcp” 또는 “udp” (을)를 지정하면(자), 그 리스트만이 클리어 됩니다). 최초의 port 인수에 플러스 (“+”) 또는 마이너스 (“-”) 의 프레픽스를 붙였을 경우, 현재의 리스트가 수정됩니다만, 그렇지 않은 경우에는, 재할인 맞히고 됩니다. 플러스의 프레픽스 붙어 또는 프레픽스 없음의 port (은)는 리스트에 추가되어 마이너스의 프레픽스 첨부의 port (은)는 리스트로부터 삭제됩니다.

        “none” 하지만 지정되었을 경우, 우선 포트 리스트 전체가 무효가 되어, IPTOS_LOWDELAY 패킷도 특별 취급 되지 않게 됩니다.

    set vj slotcomp on|off
        이 명령은 ppp 에 VJ 슬롯 압축을 네고시에이트 하는지 아닌지를 지시합니다. 디폴트에서는 슬롯 압축은 on 입니다.

    set vj slots nslots
        이 명령은 최초의 slots 번호를 지정합니다. ppp (은)는 VJ 압축이 enable 되고 있을 때에는, 이것을 사용해 상대와 네고시에이트 합니다 (전술의 ‘enable’ 명령을 참조해 주세요). 기본값은 16 입니다. nslots 하 4 이상 16 이하의 값입니다.

shell|! [command]
    command 하지만 지정되지 않는 경우, SHELL 환경 변수로 지정되는 쉘이 기동됩니다. 그렇지 않으면 지정되었다 command 하지만 실행됩니다. 말의 치환은, 전술의 “! bg” 명령와 같은 방법으로 행해집니다.

    캐릭터 ! (을)를 사용하는 경우, 명령와의 사이에 공백이 필요합니다. 이 명령은 foreground로 실행되는 것에 주의해 주세요 - ppp (은)는 프로세스가 종료할 때까지는 실행을 계속하지 않습니다. 백그라운드에서 명령 처리를 실시하고 싶은 경우에는, bg 명령을 사용해 주세요.

show var
    이 명령을 사용해, 다음의 내용을 확인할 수 있습니다:

    show bundle
        현재의 번들 설정을 표시합니다.

    show ccp
        현재의 CCP 압축 통계를 표시합니다.

    show compress
        현재의 VJ 압축 통계를 표시합니다.

    show escape
        현재의 이스케이프 캐릭터를 표시합니다.

    show filter [name]
        지정한 필터의 현재의 룰을 리스트 합니다. name (을)를 지정하지 않으면 전필터가 표시됩니다.

    show hdlc
        현재의 HDLC 통계를 표시합니다.

    show help|?
        이용 가능한 show 명령의 통계를 표시합니다.

    show iface
        현재의 인터페이스 정보 ( “iface show” (와)과 같습니다)를 표시합니다.

    show ipcp
        현재의 IPCP 통계를 표시합니다.

    show layers
        현재 사용중의 프로토콜층을 표시합니다.

    show lcp
        현재의 LCP 통계를 표시합니다.

    show [data]
        link 고레벨 링크 정보를 표시합니다.

    show links
        이용 가능한 논리 링크의 리스트를 표시합니다.

    show log
        현재의 로그치를 표시합니다.

    show mem
        현재의 메모리 통계를 표시합니다.

    show ncp
        현재의 NCP 통계를 표시합니다.

    show physical
        현재의 하위 레벨 링크 정보를 표시합니다.

    show mp
        멀티 링크 정보를 표시합니다.

    show proto
        현재의 프로토콜의 총계를 표시합니다.

    show route
        현재의 경로표를 표시합니다.

    show stopped
        현재의 stopped 타임 아웃치를 표시합니다.

    show timer
        액티브 알람 타이머를 표시합니다.

    show version
        ppp 의 현재의 버젼 번호를 표시합니다.

term
    단말 모드로 이행합니다. 키보드로부터 타이프 친 캐릭터는 디바이스에 보내집니다. 디바이스로부터 읽은 캐릭터는 스크린에 표시됩니다. ppp 의 상대가 인식되었을 때에는, ppp (은)는 자동적으로 패킷레벨을 유효하게 해, 명령 모드로 돌아옵니다.

더욱 상세한 것에 대하여

•   설정 파일의 예를 읽어 주세요. 좋은 정보원입니다.

•   무엇을 이용할 수 있을까에 대해서는, “help”, “nat”?, “enable”?, “set”?, “show”? 명령을 사용해, 온라인 정보를 취득해 주세요.

•   다음의 URL 에 유용한 정보가 있습니다:
    •   http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/ppp.html
    •   http://www.FreeBSD.org/doc/handbook/userppp.html

관련 파일
ppp (은)는, 4 개의 파일 ppp.conf, ppp.linkup, ppp.linkdown, ppp.secret (을)를 참조합니다. 이러한 파일은 /etc/ppp 에 놓여집니다.

/etc/ppp/ppp.conf
    시스템의 디폴트 설정 파일.

/etc/ppp/ppp.secret
    각 시스템용의 인증 설정 파일.

/etc/ppp/ppp.linkup
    ppp 하지만 네트워크 레벨의 접속을 확립했을 때에 실행되는 파일.

/etc/ppp/ppp.linkdown
    ppp 하지만 네트워크 레벨의 접속을 닫을 때에 체크하는 파일.

/var/log/ppp.log
    로그와 디버그 정보의 파일. 이 파일명은 /etc/syslog.conf 에서 지정됩니다. 자세한 것은 syslog.conf(5) (을)를 참조해 주세요.

/var/spool/lock/LCK..*
    tty 포트를 잠그기 위한 파일. 자세한 것은 uucplock(3) (을)를 참조해 주세요.

/var/run/tunN.pid
    tunN 디바이스에 접속되고 있다 ppp 프로그램의 프로세스 ID (pid). 여기서 ‘N’ (은)는 디바이스의 번호입니다.

/var/run/ttyXX.if
    이 포트로 사용되고 있는 tun 인터페이스. 이 파일도 -background, -auto, -ddial 의 몇개의 모드때만 작성됩니다.

/etc/services
    서비스명으로 포트 번호가 지정되어 있는 경우에, 포토 번호를 취득합니다.

/var/run/ppp-authname-class-value
    멀티 링크 모드에서는, 상대의 인증 명칭 (‘authname’) (와)과 상대의 종점 선택 클래스 (‘class’) (와)과 상대의 종점 선택치 (‘value’) (을)를 사용해, 로컬 도메인 소켓이 생성됩니다. 종점 선택치는 바이너리치여도 상관없기 때문에, 실제의 파일명을 판정하기 위해서 16 진수에 변환됩니다.

    이 소켓은, 다른 ppp 의 인스턴스와 링크를 수수를 실시하기 위해서(때문에) 사용합니다.

관련 항목
at(1), ftp(1), gzip(1), hostname(1), isdnd(8), login(1), tcpdump(1), telnet(1), kldload(2), libalias(3), libradius(3), syslog(3), uucplock(3), netgraph(4), ng_pppoe(4), crontab(5), group(5), passwd(5), radius.conf(5), resolv.conf(5), syslog.conf(5), adduser(8), chat(8), getty(8), inetd(8), init(8), named(8), ping(8), pppctl(8), pppd(8), pppoe(8), route(8), sshd(8), syslogd(8), traceroute(8), vipw(8)

역사
원래의 프로그램은 Toshiharu OHNO <tony-o@iij.ad.jp> 하지만 작성해, FreeBSD 2.0.5 에 Atsushi Murai <amurai@spec.co.jp> 하지만 제출했습니다.

1997 년중에 Brian Somers <brian@Awfulhak.org> 하지만 본격적인 수정을 해, 11 월에 OpenBSD 에 이식되었습니다 (2.2-RELEASE 의 직후입니다).

1998 년 초두에 멀티 링크 ppp 서포트가 추가되었을 때에, 대부분의 코드를 Brian Somers 하지만 고쳐 썼습니다.