PPPD(8) | System Manager's Manual | PPPD(8) |
名称¶
pppd - PPP (Point to Point Protocol) を処理するデーモン
書式¶
pppd [ tty_name ] [ speed ] [ options ]
解説¶
Point-to-Point プロトコル (PPP) は、シリアル回線上に確立された Point-to-Point リンクを介したデータグラムの送受方法を提供します。 PPP は、データグラムのカプセル化方式、拡張可能なリンク制御プロトコル (LCP)、 そして異なるネットワーク層プロトコルの設定と接続の確立を行う 一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。
カプセル化体系は、カーネル内のドライバコードにより提供されています。 pppd は、基本的な LCP 機能、認証機能、そしてインターネットプロトコル (IP) 接続の確立と設定を行う NCP (IP 制御プロトコル (IPCP) と呼ばれています) を提供します。
よく使われるオプション¶
- <tty_name>
- 指定したデバイスを介して通信します。 もし必要であれば、前に "/dev/" 文字列が追加されます。 デバイス名が指定されていない場合や 標準入力に接続された端末の名前が与えられた場合には、 pppd はその端末を使用し、 バックグラウンド実行のための fork を行いません。 noauth オプションが使用された場合、 このオプションは特権オプションとなります。
- <speed>
- ボーレートを <speed> に設定します (10 進数)。 4.4BSD や NetBSD といったシステムでは、 シリアルデバイスドライバがサポートする任意の速度を指定可能です。 その他のシステム (SunOS, Linux 等) では一定の組み合わせのみが指定可能です。
- active-filter filter-expression
- データパケットに適用されるパケットフィルタであり、 どのパケットをリンクアクティビティとみなすかを決定するパケットフィルタを 指定します。 リンクアクティビティとみなされると、アイドルタイマがリセットされるか、 デマンドダイヤルモード時にはリンクがアップされます。 (例えば経路情報パケット等) 定常的にリンク上でパケット送受信が行われ、 他の方法ではリンクがアイドルであるとはみなされない場合に、 このオプションを idle オプションとともに使用すると便利です。 filter-expression の文法は tcpdump(1) と同じですが、 限定子は PPP では不適当ですので、ether や arp は使用できません。 一般的には、フィルタ式をシングルクォートで括って、 式中の空白がシェルに解釈されることを避けるべきです。 カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、 このオプションを利用可能です。
- asyncmap <map>
- 非同期文字マップを <map> に設定します。 このマップは、シリアル回線を経由するとどの制御文字の受信が うまくいかなくなるかを記述するものです。 pppd は、これらの文字を 2 バイトのエスケープシーケンスとして送信するよう、 相手側に依頼します。 引数は 32 ビットの 16 進数であり、各ビットがエスケープすべき文字を 表しています。 ビット 0 (00000001) は文字 0x00 を表し、 ビット 31 (80000000) は、文字 0x1f つまり '^_' を表しています。 複数の asyncmap オプションが与えられた場合、それらの値の論理和が 採用されます。 asyncmap オプションが与えられなかった場合には、このホストが受信側となる 非同期文字マップは設定されません。 相手側はすべての制御文字をエスケープして送信します。 送信文字をエスケープするには、escape オプションを使用します。
- auth
- ネットワークパケットの送受信を許可する前に、相手側に自分証明を 行うよう要求します。
- call name
- ファイル /etc/ppp/peers/name からオプションを読みます。 pppd が root 以外によって起動された場合においても、 このファイルに noauth のような特権オプションを含んでもかまいません。 文字列 name は / で開始してはなりませんし、 パス名の一部に .. を含んではなりません。 オプションファイルのフォーマットは後述します。
- connect script
- script で指定された実行可能コマンドまたはシェルコマンドを使用して、 シリアル回線のセットアップを行います。 ほとんどの場合、ここで指定されるスクリプトには chat(8) プログラムを使用し、 モデムにダイヤルコマンドを送ったり、リモート ppp セッションを開始したりします。 noauth オプションが使用された場合、 このオプションは特権オプションとなります。
- connect-max-attempts <n>
- 指定した時間 (デフォルトでは 1) を越えてリモートシステムとの ダイヤル接続を保持しません。接続ができない場合は、 pppd は終了します。 persist を指定することが要求されます。
- crtscts
- シリアルポートのフロー制御にハードウェアフロー制御 (RTS/CTS) を用います。 crtscts か nocrtscts の両方のオプションが与えられない時、 シリアルポートのハードウェアフロー制御の設定は変更されずに そのままになります。
- defaultroute
- IPCP ネゴシエーションが成功すると、相手側をゲートウェイとする デフォルト経路をシステムの経路テーブルに追加します。 このオプションにより追加されたデフォルト経路エントリは、 PPP 接続が切断された際に削除されます。 nodefaultroute オプションが指定された場合には、 このオプションは特権オプションとなります。
- disconnect script
- pppd が接続を切った後に script で指定した実行可能コマンドまたは シェルコマンドを実行します。 このスクリプトで、例えばハードウェアモデム制御信号 (DTR) が使えない場合に モデムをハングアップすることができます。 モデムが既にハングアップしている場合には、この切断スクリプトは実行されません。 noauth オプションが使用された場合には、 このオプションは特権オプションです。
- escape xx,yy,...
- 転送時にエスケープを行うべき文字を指定します (相手側が 非同期文字マップでエスケープを要求しているかどうかには影響されません)。 エスケープされる文字は、コンマで区切られた 16 進数で指定します。 制御文字しか指定できない asyncmap オプション とは異なり、escape オプションではどんな文字でも指定できる ことに注意してください。 ただし 16 進表記で 0x20 から 0x3f までと 0x5e の文字は エスケープしてはなりません。
- file name
- オプションをファイル name から読み込みます (フォーマットは後述します)。 このファイルは、pppd を起動したユーザが読むことが可能である必要があります。
- lock
- シリアルデバイスに対する排他アクセスを確実に行うために、 UUCP 形式のロックファイルを作成するよう pppd に指示します。
- mru n
- ネゴシエーション時の MRU [最大受信単位; Maximum Receive Unit] 値を n に設定します。 pppd は、通信相手に n バイトを超えるパケットを送信しないよう要求します。 最小の MRU 値は、128 です。 デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します (TCP/IP ヘッダ 40 バイト + データ 256 バイト)。
- mtu n
- MTU [最大転送単位; Maximum Transmit Unit] 値を n に設定します。 相手が MRU ネゴシエーションを通じてこれより小さい値を要求してこない限り、 PPP ネットワークインタフェースを通して n バイトを 越えないデータパケットを送ることを、 pppd はカーネルのネットワークコードに要求します。
- passive
- LCP で "passive" オプションを有効にします。このオプションを指定した場合には、 接続を開始しようとしても相手からの返答がない場合、 pppd は相手から有効な LCP パケットが到着するのを受動的に待ち続けます。 このオプションを指定しなければ、相手からの返答がない場合に pppd は実行を中断します。
オプション¶
- <local_IP_address>:<remote_IP_address>
- ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。 どちらか片方を省略することも可能です。IP アドレスは、ホスト名もしくは 10 進数ドット表現 (例: 150.234.56.78) のどちらでも指定可能です。 デフォルトのローカルアドレスは、そのシステムの (最初の) IP アドレスと なります。(ただし noipdefault オプションが指定された場合を除きます。) リモートアドレスは、 オプションで指定されていない場合には相手側から取得されます。 ですから、もっとも単純な指定を行う場合には、このオプションは不必要です。 ローカルまたはリモートの IP アドレスがこのオプションで指定されている場合には、 IPCP ネゴシエーションで相手側がこの指定と異なるアドレスを送って来た場合、 pppd はこれを拒否します。ただし、 ipcp-accept-local や ipcp-accept-remote が指定されている場合にはこの限りではありません。
- bsdcomp nr,nt
- 接続相手に、BSD-Compress 方式を使った送出時のパケット圧縮を要求します。 ここでの最大コードサイズは nr ビットです。 相手側が送るパケットの最大の大きさは、 nt ビットです。 nt が指定されない時は、デフォルトの nr が使われます。 9 から 15 の範囲の値が、 nr と nt で使われます。 より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの カーネルメモリを消費します。nr や nt に対して、値 0 を 指定すると、指定した方向には圧縮を行いません。 BSD-Compress 圧縮を完全に無効にするためには、 nobsdcomp か bsdcomp 0 を指定してください。
- chap-interval n
- このオプションが指定された場合、 pppd は n 秒おきに再チャレンジします。
- chap-max-challenge n
- CHAP チャレンジの最大送信回数を n に設定します (デフォルト値は 10)。
- chap-restart n
- (チャレンジの再送のタイムアウトによる) CHAP 再開の間隔を n 秒に設定します (デフォルト値は 3)。
- debug
- 接続のデバッグ機能を有効にします。 このオプションを指定した場合、pppd は送受信した すべての制御パケットの内容を可読形式でログします。 パケットは syslog を経由して、daemon ファシリティの debug レベルとして記録されます。 本情報は、/etc/syslog.conf を適切に記述することで ファイルに記録することができます (syslog.conf(5) 参照)。
- default-asyncmap
- asyncmap ネゴシエーションを無効にし、 送受信両方向にて全制御文字をエスケープさせます。
- default-mru
- MRU [最大受信単位; Maximum Receive Unit] ネゴシエーションを無効にします。 このオプションを指定すると、送受信両方向において、 pppd はデフォルトの MRU 値 1500 バイトを使用します。
- deflate nr,nt
- 接続相手に、Deflate 方式を使った送出時のパケット圧縮を要求します。 ここで最大のウィンドウサイズは 2**nr バイトです。 また、相手に送るパケットを最大ウィンドウサイズ 2**nt バイトにて圧縮 することを合意します。 nt が指定されないと、デフォルトの nr の値となります。 nr と nt には 8 から 15 までの範囲の値が許されます。 より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの カーネルメモリを消費します。 nr や nt に対して、値 0 を 指定すると、指定した方向には圧縮を行いません。 Deflate 圧縮を完全に無効にするためには、 nodeflate か deflate 0 を指定してください。 (注: 相手が両方とも可能な場合には、 pppd は BSD-Compress よりも Deflate 圧縮を好んで要求します。)
- demand
- リンクの開始を要求時のみ、つまりデータトラフィックが存在する時のみ行います。
このオプションを指定する場合、リモート
IP アドレスを、
ユーザがコマンドラインで指定するか、オプションファイル中に含む必要があります。
pppd
は、相手に接続することなく、
まずインタフェースを設定して
IP
トラフィックに備えます。
トラフィックが現れると、pppd
は相手へ接続し、
ネゴシエーションや認証などを行います。
これが完了すると、pppd
はリンクを介してデータパケット
(すなわち IP パケット)
の授受を開始します。
demand オプションは暗黙的に persist オプションを指定します。 この動作が望ましくない場合、demand オプションの後に nopersist オプションを使用してください。 idle および holdoff のオプションもまた、 demand オプションとともに使用すると便利です。
- domain d
- 認証のために使用するローカルホスト名にドメイン名 d を付加します。 例えば、完全な形でのドメイン名 (FQDN) が porsche.Quotron.COM であって、 gethostname() が porsche という名前を返す場合には、 このオプションを用いてドメイン名を Quotron.COM と指定します。 そうすると、pppd は porsche.Quotron.COM を 秘密情報ファイルの中の秘密情報を調べるために使用したり、 相手に対して自己証明するために送るデフォルトの名前として使用します。 このオプションは特権オプションです。
- holdoff n
- リンク切断から再初期化まで何秒待つかを指定します。 persist または demand オプション使用時にのみ、 このオプションは有効です。 アイドルであったためにリンクが切断された場合は、 この抑止期間は適用されません。
- idle n
- リンクが n 秒アイドルだった場合に接続を切るように pppd に指定します。 データパケット (つまり IP パケット)が送受信されない時に、 リンクはアイドルだとみなされます。 注: demand オプションを使用せずに persist オプションを使用する場合に、このオプションを使うことを勧めます。 active-filter オプションが与えられると、 指定したアクティビティフィルタが受理しなかったデータパケットもまた、 リンクがアイドルであるとみなす対象とします。
- ipcp-accept-local
- このオプションが指定された場合には、 別のオプションによってローカル IP アドレスの指定が行われている場合でも、 pppd は相手からのローカル IP アドレスの指定を受け入れます。
- ipcp-accept-remote
- このオプションが指定された場合には、 別のオプションによってリモート IP アドレスの指定が行われている場合でも、 pppd は相手からのリモート IP アドレスの指定を受け入れます。
- ipcp-max-configure n
- IPCP configure-request の最大送信回数を n 回に設定します (デフォルト値は 10)。
- ipcp-max-failure n
- IPCP configure-Reject を送信開始するまでの IPCP configure-NAK の最大応答回数を n 回に設定します (デフォルト値は 10)。
- ipcp-max-terminate n
- IPCP terminate-request の最大送信回数を n 回に設定します (デフォルト値は 3)。
- ipcp-restart <n>
- (再送のタイムアウトによる) IPCP 再開の間隔を n 秒に設定します。 (デフォルト値は 3)。
- ipparam string
- ip-up と ip-down スクリプト用に余分のパラメータを指定します。 このオプションが与えられた場合、 string が 6 番目のパラメータと して、これらのスクリプトに与えられます。
- ipx
- IPXCP および IPX プロトコルを有効にします。 このオプションは現在 Linux でのみ、 IPX サポートを含めてカーネルを構成した場合のみサポートされています。
- ipx-network n
- IPXCP 設定要求フレーム中の IPX ネットワーク番号を n に設定します。 16 進数 (先頭の 0x を除いて) を指定します。 正当なデフォルト値はありません。 このオプションが指定されないと、ネットワーク番号は相手から獲得します。 相手がネットワーク番号を持っていない場合は、IPX プロトコルは開始されません。
- ipx-node n:m
- IPX ノード番号を設定します。 2 つのノード番号をコロンで区切ります。 最初の番号 n はローカルのノード番号です。 次の番号 m は相手のノード番号です。 どちらのノード番号も 16 進数であり、最大 10 桁です。 ipx-network のノード番号は一意である必要があります。 正当なデフォルト値はありません。 このオプションが指定されないと、ノード番号は相手から獲得します。
- ipx-router-name <string>
- ルータ名を設定します。 これは文字列であり、情報データとして相手に送られます。
- ipx-routing n
- 受信する経路プロトコルをこのオプションで指定します。 複数の ipx-routing インスタンスを指定可能です。'none' オプション (0) のみ、ipx-routing インスタンスとして指定可能です。 値は、0 が NONE に、2 が RIP/SAP に、 4 が NLSP に対応します。
- ipxcp-accept-local
- ipx-node オプションで指定したノード番号に対する、相手の NAK を受け付けます。 非ゼロのノード番号が指定された場合、 この値の使用を主張することがデフォルトです。 このオプションを指定すると、 相手がノード番号のエントリを上書きすることを許します。
- ipxcp-accept-network
- ipx-network オプションで指定したネットワーク番号に対する、 相手の NAK を受け付けます。 非ゼロのノード番号が指定された場合、 この値の使用を主張することがデフォルトです。 このオプションを指定すると、 相手がノード番号のエントリを上書きすることを許します。
- ipxcp-accept-remote
- 設定要求フレーム中に指定される相手のネットワーク番号を使用します。 相手のノード番号を指定し、 かつこのオプションを指定しなかった場合は、 相手はあなたが指定した値を使用することを強制されます。
- ipxcp-max-configure n
- システムが送信する IPXCP 設定要求フレーム数の最大値を n に設定します。 デフォルト値は 10 です。
- ipxcp-max-failure n
- ローカルシステムがオプションを拒否する前に、 ローカルシステムが送信する IPXCP NAK フレーム数の 最大値を設定します。デフォルト値は 3 です。
- ipxcp-max-terminate n
- 相手が聞いていないという判断をローカルシステムが下す前に、 ローカルシステムが送信する IPCP 停止要求フレーム数の最大値を設定します。デフォルト値は 3 です。
- kdebug n
- カーネルレベルの PPP ドライバのデバッグコードを有効にします。 引数 n として、以下の数値のうち必要なものの合計を指定します。 1 は一般的なデバッグメッセージ出力を有効にします。 2 は受信したパケットの内容の出力を要求します。 4 は送信したパケットの内容の出力を要求します。 ほとんどのシステムでは、カーネルが表示したメッセージは、 /etc/syslog.conf 設定ファイルに指示されるように、 syslog(1) がファイルにログします。
- lcp-echo-failure n
- このオプションが指定された場合、 LCP echo-request を n 回送信しても 相手から有効な LCP echo-reply が帰ってこなければ、pppd は 相手がダウンしているものと推測します。このような場合、pppd は 接続を切断します。このオプションを使用する際には、 lcp-echo-interval のパラメータとして 0 以外の数値を指定してください。 このオプションは、ハードウェアモデム制御線 (DSR) が使用できない状況で、 (モデムがハングアップするなど) 物理的な接続が切断された後に pppd を終了するために用いられます。
- lcp-echo-interval <n>
- このオプションを指定すると、pppd は LCP echo-request フレームを n 秒毎に相手側に送信します。 通常、相手側は echo-request を受信すると echo-reply を送り返して返答します。 このオプションは、相手側との接続が切れたことを検出するために lcp-echo-failure オプションとともに使用されます。
- lcp-max-configure n
- LCP configure-request の最大送信回数を n 回に設定します (デフォルト値は 10)。
- lcp-max-failure n
- LCP configure-Reject を送信開始するまでの LCP configure-NAK の最大応答回数を n 回に設定します (デフォルト値は 10)。
- lcp-max-terminate n
- LCP terminate-request の最大送信回数を n 回に設定します (デフォルト値は 3)。
- lcp-restart n
- (再送のタイムアウトによる) LCP 再開の間隔を n 秒に設定します (デフォルト値は 3)。
- local
- モデム制御線を使用しません。このオプションを指定すると、 pppd は、モデムからの CD (Carrier Detect) 信号の状態を無視し、 DTR (Data Terminal Ready) 信号の状態を変化させません。
- login
- PAP を用いた相手の認証に、システムパスワードデータベースを用い、 ユーザをシステムの wtmp ファイルに記録します。 アクセスが許されるためには、 /etc/ppp/pap-secrets ファイルとシステムパスワードデータベースの両方に、 相手のエントリが存在する必要があります。
- maxconnect n
- ネットワークトラフィックの使用開始から n 秒後に接続を切断します (これは、最初のネットワーク制御プロトコルが来てから n 秒になります)。
- modem
- モデム制御線を使用します。このオプションはデフォルトです。 このオプションを指定すると、pppd は (接続スクリプトが指定していなければ) モデムからの CD (Carrier Detect) 信号のアサートを待ってから シリアルデバイスをオープンし、接続終了時に DTR (Data Terminal Ready) 信号を短い期間落としてから 接続スクリプトを実行します。 Ultrix では、このオプションはハードウェアフロー制御、 すなわち crtscts オプションを暗黙的に指定します。
- ms-dns <addr>
- pppd が Microsoft Windows クライアントのサーバとして動作している場合、 このオプションは pppd に 1 または 2 の DNS (Domain Name Server) アドレスを クライアントに提供することを許します。 このオプションの最初のインスタンスはプライマリ DNS アドレスを与えます。 次のインスタンスは (もし与えられれば) セカンダリ DNS アドレスを与えます。 (このオプションは、 古いバージョンの pppd では dns-addr という名前でした。)
- ms-wins <addr>
- pppd が Microsoft Windows クライアントまたは "Samba" クライアントの サーバとして動作している場合、このオプションは pppd に 1 または 2 の WINS (Windows Internet Name Services) サーバアドレスをクライアントに提供 することを許します。 このオプションの最初のインスタンスはプライマリ WINS アドレスを与えます。 次のインスタンスは (もし与えられれば) セカンダリ WINS アドレスを与えます。
- name name
- 認証の目的で用いられるローカルシステムの名前を name に設定します。 このオプションは特権オプションです。 このオプションを指定すると、pppd は秘密情報ファイルの第 2 フィールドが name である行を使用して秘密情報を探し、相手を認証します。 さらに、user オプションで上書きしない場合は、 相手に対してローカルシステムを自己証明する時に送る名前として name を使用します。 (pppd はドメイン名を name に付加しないことに注意してください。)
- netmask n
- インタフェースのネットマスクを n に設定します。 32 ビットのネットマスクを「10 進数ドット」表記で指定します (例: 255.255.255.0)。 このオプションが与えられると、デフォルトのネットマスクと指定したネットマスク との論理和が値となります。デフォルトのネットマスクはネゴシエートされる リモートの IP アドレスに依存します。 リモート IP アドレスのクラスに適切なネットマスクと、 同一ネットワーク上システムの非 point-to-point ネットワークインターフェース のネットマスクとの論理和となります。
- noaccomp
- Address/Control 圧縮を双方向 (送受信) で無効にします。
- noauth
- 相手が自己証明することを要求しません。 auth オプションが /etc/ppp/options に指定されている場合、 このオプションは特権オプションです。
- nobsdcomp
- BSD-Compress 圧縮を無効にします。 BSD-Compress 方式を使用したパケット圧縮を pppd は要求も賛同もしません。
- noccp
- CCP (圧縮制御プロトコル; Compression Control Protocol) ネゴシエーションを 無効にします。 相手にバグがあるために、 CCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、 このオプションが必要です。
- nocrtscts
- シリアルポートにハードウェアフロー制御 (つまり RTS/CTS) を使用しません。 crtscts か nocrtscts の両方のオプションが与えられない時、 シリアルポートのハードウェアフロー制御の設定は変更されずに そのままになります。
- nodefaultroute
- defaultroute オプションを無効にします。 pppd を使っているユーザにデフォルト経路を作成させたくない システム管理者は、このオプションを /etc/ppp/options ファイルに 記述することができます。
- nodeflate
- Deflate 圧縮を無効にします。 pppd は Deflate 方式を使用した圧縮パケットを要求しませんし、賛同もしません。
- nodetach
- 制御端末から切り離しません。このオプションを指定しないと、 標準入力がある端末以外のシリアルデバイスが指定された場合は、 pppd は fork してバックグラウンドプロセスになります。
- noip
- IPCP ネゴシエーションと IP 通信を無効にします。 相手にバグがあるために、 IPCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、 このオプションが必要です。
- noipdefault
- ローカル IP アドレスが指定されない場合にデフォルトで行われる、 ホスト名から IP アドレスを (可能であれば) 決定する動作を無効にします。 このオプションを指定した場合には、IPCP ネゴシエーション時に 相手側がローカルの IP アドレスを指定する必要があります (明示的にコマンドラインで指定されているか、 オプションファイルで指定されている場合を除きます)。
- noipx
- IPXCP および IPX プロトコルを無効にします。 相手にバグがあるために、 IPXCP ネゴシエーションのための pppd からの要求に混乱してしまう場合にのみ、 このオプションが必要です。
- nomagic
- magic number ネゴシエーションを無効にします。このオプションを指定した場合には、 pppd はループバック回線を検出することができません。 相手にバグがある場合にのみ必要となります。
- nopcomp
- 送受信方向とも、プロトコルフィールド圧縮ネゴシエーションを無効にします。
- nopersist
- 接続の確立と切断のたびに終了します。 persist または demand のオプションが指定されない場合、 このオプションはデフォルトです。
- nopredictor1
- Predictor-1 圧縮を受け付けませんし、賛同もしません。
- noproxyarp
- proxyarp オプションを無効にします。pppd のユーザに proxy ARP エントリを作成させたくないシステム管理者は、このオプションを /etc/ppp/options ファイルに記述することでそのようにできます。
- novj
- Van Jacobson 形式の TCP/IP ヘッダ圧縮を送受信方向において無効にします
- novjccomp
- Van Jacobson 形式の TCP/IP ヘッダ圧縮において、 connection-ID 圧縮を無効にします。 このオプションを指定すると、 pppd は Van Jacobson 圧縮された TCP/IP ヘッダから connection-ID バイトを省略しなくなりますし、 相手にも依頼しません。
- papcrypt
- 相手の同一性を調べるために使われる /etc/ppp/pap-secrets ファイル内の全ての秘密情報を暗号化することを 指示します。pppd は、暗号化前の /etc/ppp/pap-secrets ファイルからの秘密情報と等しいパスワードを受け入れません。
- pap-max-authreq n
- PAP authenticate-request の最大送信回数を n 回に設定します (デフォルト値は 10)。
- pap-restart n
- (再送のタイムアウトによる) PAP 再開の間隔を n 秒に設定します (デフォルト値は 3)。
- pap-timeout n
- PAP において接続先が自己証明するまで pppd が待機する最大時間を、n 秒に 設定します (0 は制限を設けないことを意味します)。
- pass-filter filter-expression
- 送受信されるデータパケットに適用されるフィルタで、 通過を許されるパケットを決定するフィルタを指定します。 フィルタが拒否するパケットは黙って捨てられます。 特定のネットワークデーモン (例えば routed) が リンクバンド幅を使い切ることを防いだり、 基本的なファイアウォール機能を提供するために、このオプションがあります。 filter-expression の文法は tcpdump(1) と同じですが、 限定子は PPP リンクでは不適当ですので、 ether や arp は使用できません。 一般的には、フィルタ式をシングルクォートで括って、 式中の空白がシェルに解釈されることを避けるべきです。 inbound と outbound の限定子を付けることにより、 入出力のパケットに異なった制約を適用可能です。 このオプションは現在 NetBSD でのみ利用可能であり、 カーネル及び pppd が PPP_FILTER を定義してコンパイルされた場合のみ、 このオプションを利用可能です。
- persist
- 接続が切断された後で終了しません。代わりに再接続しようとします。
- predictor1
- 相手が送出するフレームを Predictor-1 圧縮を使用するよう要求し、 要求された場合 Predictor-1 で送出フレームを圧縮することに賛同します。 カーネルドライバが Predictor-1 圧縮をサポートしない場合には、 このオプションは影響ありません。
- proxyarp
- 自システムの ARP [アドレス解決プロトコル; Address Resolution Protocol] テーブルに相手の IP アドレス と自システムのイーサネットアドレスを追加します。 他のシステムに対して、 相手がローカルイーサネット上にあるように見せることになります。
- remotename name
- リモートシステムの名前を name とみなして認証を行います。
- refuse-chap
- このオプションを指定すると、 pppd は相手に対して自己証明するにあたり CHAP の使用に賛同しません。
- refuse-pap
- このオプションを指定すると、 pppd は相手に対して自己証明するにあたり PAP の使用に賛同しません。
- require-chap
- CHAP [チャレンジハンドシェーク認証プロトコル; Challenge Handshake Authentication Protocol] を用いて 自己証明を行うことを相手に要求します。
- require-pap
- PAP [パスワード認証プロトコル; Password Authentication Protocol] を用いて 自己証明を行うことを相手に要求します。
- silent
- このオプションを指定した場合、 pppd は相手から有効な LCP パケットを受信するまで、 接続を開始するための LCP パケットを送信せずに待ちます (旧バージョンの pppd で 'passive' オプションを指定した場合と同じ動作です)。
- usehostname
- 認証時にホスト名をローカルシステムの名前として使用することを強制します (ドメイン名が与えられれば付加されます)。 (このオプションは name オプションに優先します。)
- user name
- このマシンを相手に対して自己証明する際に用いるユーザ名を name に設定します。
- vj-max-slots n
- Van Jacobson の TCP/IP ヘッダ圧縮/伸長に使用する接続スロット数を n に設定します。 2 から 16 (両端を含む) の範囲にある必要があります。
- welcome script
- PPP ネゴシエーション開始前かつ、(もしあれば) 接続スクリプトの完了後に、 script で指定される実行コマンドもしくはシェルコマンドを実行します。 noauth オプションが使用された場合には、 このオプションは特権オプションとなります。
- xonxoff
- ソフトウェアフロー制御 (つまり XON/XOFF) を使用してシリアルポート上の データフローを制御します。
オプションファイル¶
オプションは、コマンドラインから与えられるのと同様に、 ファイルに記述されたものを用いることも可能です。 pppd は、コマンドラインからのオプションを 読み込む前に /etc/ppp/options, ~/.ppprc, /etc/ppp/options.ttyname から (この順に) オプションを読み込みます。 (実際には、端末名を得るためにコマンドラインオプションがまずスキャンされてから、 options.ttyname ファイルが読まれます。) options.ttyname ファイル名構成にあたり、 まず /dev/ が端末名から除かれ、残った / 文字がドットと置換されます。
オプションファイルの内容は、 空白文字をデリミタとする単語の並びとして解釈されます。 空白文字を含む文字列はダブルクォート (") で囲うことで 1 つの文字列として解釈されるようになります。 バックスラッシュ (\) は、直後の 1 文字をクォートします。 ハッシュ文字 (#) はコメントの始まりとして解釈され、 改行までをコメントとみなします。 オプションファイル中での file および call のオプションの 使用制限はありません。
セキュリティ¶
pppd は、正当なユーザに対するサーバマシンへの PPP アクセスを提供しつつ、 サーバ自身やそのサーバが存在するネットワークのセキュリティを危険に さらす心配のない、充分なアクセス制御をシステム管理者に提供します。 このアクセス制御の一部は、 /etc/ppp/options ファイルにより提供されます。 このファイルでシステム管理者は pppd の使用制限を設定することができます。 また一部は、PAP や CHAP の秘密情報ファイルにより提供されます。 このファイルで個々のユーザが使用する IP アドレスの組を 管理者が制限することができます。
通常の pppd の用途においては、 auth オプションを /etc/ppp/options ファイルに設定すべきです。 (将来のリリースにおいてデフォルトになるかもしれません。) ユーザが pppd を使用して相手にダイヤルアウトしたい場合で、 相手が自己証明することを拒否する場合 (インターネットサービスプロバイダなど)、 システム管理者は /etc/ppp/peers 下にオプションファイルを作成し、 ここに noauth オプションと、使用するシリアルポート名と、 (必要なら) connect オプションと、その他適切なオプションを格納します。 このようにすることで、 非特権ユーザが信頼関係のある相手との間で認証されない接続を結ぶことを可能 とします。
上述のように、セキュリティに影響するオプションは特権オプションであり、 通常の非特権ユーザが setuid-root された pppd では使用できません。 これは、コマンドラインでも、ユーザの ~/.ppprc ファイルでも、 file オプションを使用して読まれるオプションファイルでも言えることです。 /etc/ppp/options ファイル中、 もしくは call オプションを使用して読まれるオプションファイル中では、 特権オプションの使用は許されます。 pppd が root ユーザにより起動された場合、特権オプションの使用は無制限です。
認証¶
認証とは、一方が他方に自己を認めさせる処理のことを言います。 これは、一方が自己の名前を他方に送る際、 その名前のオーソライズされた本物の使用者のみから生まれる ある種の秘密情報を伴うことを必要とします。 このような交換において、最初の一方を「クライアント」と呼び、 他方を「サーバ」と呼びます。 クライアントは自己をサーバに識別させるための名前を持ち、 サーバもまた自己をクライアントに識別させるための名前を持ちます。 一般的に本物のクライアントは秘密情報 (またはパスワード) をサーバと共有し、 自己を証明するにあたりその秘密情報を知っていると伝えます。 認証に使用される名前は相手のインターネットホスト名に対応することが多いですが、 これは本質的なことではありません。
現在 pppd は 2 つの認証プロトコルをサポートします: それぞれ、パスワード認証プロトコル (Password Authentication Protocol; PAP) と チャレンジハンドシェーク認証プロトコル (Challenge Handshake Authentication Protocol; CHAP) です。 PAP の場合、クライアントは自己証明のために、 自己の名前とクリアテキストパスワードをサーバに送る必要があります。 これとは対称的に、CHAP 認証交換はサーバが開始し、 チャレンジをクライアントに送ります (チャレンジパケットにはサーバ名が含まれます)。 クライアントはこれに返答する必要があり、 返事の中に自己の名前に加えて共有秘密情報とチャレンジから得られるハッシュ値を 含め、自己が秘密情報を知っていると伝える必要があります。
PPP プロトコルは対称的ですから、 両者が他方に対して自己証明を行うように要求することを許します。 この場合、2 つの別々かつ独立した認証交換が発生します。 2 つの交換においては別の認証プロトコルを使用できますし、 原則的には違う名前を使用可能です。
pppd のデフォルトの挙動は、もし認証の要求があればそれを受け入れ、 相手側には認証を要求しないというものです。 ただし、 pppd がその認証を行なうのに必要な秘密情報を持っていない 特定のプロトコルによる認証は拒否します。
pppd は認証に使用する秘密情報を秘密情報ファイル (PAP の場合 /etc/ppp/pap-secrets、 CHAP の場合 /etc/ppp/chap-secrets) に格納します。 どちらの秘密情報ファイルも同じフォーマットです。 秘密情報ファイルには、 pppd が他のシステムに対して自己証明するための秘密情報を格納する ことができますし、 他のシステムの認証を行うための秘密情報を格納することも可能です。
秘密情報ファイル中の各行は 1 つの秘密情報を格納します。 特定の秘密情報はあるクライアントとサーバの組み合わせに対して特有です - このクライアントがこのサーバに対して自己証明することにのみ使用されます。 秘密情報ファイルの各行は、少なくとも 3 つのフィールドからなります: それぞれ、クライアント名、サーバ名、秘密情報です。 指定したサーバに指定したクライアントが接続する時に使用する IP アドレスリストを、これらのフィールドの後に続けることができます。
秘密情報ファイルはオプションファイルと同じように単語の並びとして 解釈されますので、クライアント名、サーバ名、秘密情報の各フィールドは 1 語である必要があり、 これに含まれる空白文字や特殊文字は クォートもしくはエスケープする必要があります。 同じ行の残りの語は、クライアントに許される IP アドレスのリストとされるか、 (ワイルドカードでもなく空でもない) 特定のクライアント名を含む行の 場合は "local:remote" アドレス (コマンドラインもしくはオプションファイルで共通フォーマット) に優先します。 行に 3 語しか無い場合もしくは最初の語が "-" である場合、 全ての IP アドレスが不許可となります。 全アドレスを許可するには "*" を使用します。 また "!" から始まる語は、指定したアドレスを受け付けないことを示します。 アドレスの後には "/" と数値 n を続けることが可能であり、 全体のサブネットを示します。 つまり、全てのアドレスの上位 n ビットが同じ値となります。 クライアント名、サーバ名、秘密情報においては大文字小文字の区別は重要です。
秘密情報が `@' から始まる場合、後続するものはファイル名であり、 そこから秘密情報を読み込むものとされます。 クライアント名もしくはクライアント名に単一の "*" を使用すると、 いかなる名前にもマッチします。 秘密情報を選択する時、pppd はベストマッチ、 すなわちワイルドカードが最小となるマッチを採用します。
秘密情報ファイルには、他のホストを認証するための秘密情報に加え、 他のホストに対して自己証明するための秘密情報も格納します。 pppd が相手を認証 (相手が相手であることを確認) する時、 秘密情報の検索にあたり、 相手の名前が最初のフィールドにありローカルシステムの名前が 2 番目のフィールド にあるものを選びます。 ローカルシステム名のデフォルトはホスト名であり、 domain オプション使用時にはドメイン名が付加されます。 このデフォルトには name オプションが優先しますが、 usehostname オプションが使用されている場合は例外です。
pppd が相手に対する自己証明のための秘密情報を選ぶ時には、 まずどの名前を使用して相手に対して自己識別するかを決めます。 この名前はユーザが user オプションで指定可能です。 このオプションが使用されていない場合、 名前はデフォルトのローカルシステム名となり、 前の段落で示したように決定されます。 こうして pppd は秘密情報の検索にあたり、 この名前が最初のフィールドにあり相手の名前が 2 番目のフィールド にあるものを選びます。 CHAP 認証が使用される場合、 相手はチャレンジパケット中に相手の名前を含めますから、 pppd は相手の名前を知ることになります。 しかし、PAP が使用される場合、 ユーザが指定したオプションを元に pppd は相手の名前を決定します。 ユーザは相手の名前を直接 remotename で指定可能です。 そうではない場合で、リモート IP アドレスが (数値形式でなく) 名前で指定された場合、その名前を相手の名前として使用します。 これに失敗すると、pppd は相手の名前に空文字列を使用します。
相手側を PAP で認証する際に、提供されるパスワードはまず秘密情報ファイルの 秘密情報と比較されます。 もしパスワードが秘密情報とマッチしなければ、 パスワードは crypt() を使用して暗号化され、再び秘密情報と比較されます。 このため相手側の認証に使用する秘密情報は 暗号化された形式で記録することができます。 papcrypt オプションが与えられた場合、よりよいセキュリティのため 最初の (暗号化されていない) 比較対象は除外されます。
更にもし login オプションが指定されていれば、ユーザ名とパスワードも システムパスワードデータベースでチェックされます。 このためシステム管理者は特定のユーザだけに PPP アクセスを 許可し、個々のユーザが使用できる IP アドレスの組を 制限するよう pap-secrets ファイルを設定することができます。 典型的には、login オプションを使う時に、 /etc/ppp/pap-secrets 中の秘密情報を "" とすることで、 相手が提供するいかなるパスワードにもマッチするようになります。 これにより、同じ秘密情報を 2 個所で必要とされることを避けることができます。
login オプションが使われている時には、更なる確認が行われます。 /etc/ppp/ppp.deny が存在して、ユーザがそこに記述されている場合、 認証は失敗します。 /etc/ppp/ppp.shells が存在して、ユーザの通常の ログインシェルが記述されていない場合、認証は失敗します。
認証は IPCP (またはその他のネットワーク制御プロトコル) が開始される前に納得のいくように完了している必要があります。 相手が自己証明することを求められている時に、認証に失敗すると、 pppd は (LCP をクローズすることで) リンクを切断します。 もし IPCP で得られたリモートホストの IP アドレスが受け入れられない ものであった場合、IPCP はクローズされます。 IP パケットは IPCP が オープンしている時だけ送受信可能です。
ローカルホストが一般的に認証を必要とする時でも、 接続を行い限定された IP アドレスの組の 1 つを使うために 自己証明ができないホストに対して、 接続を認める必要がある場合もあります。 もし相手側がこちらの認証要求を拒否した場合、pppd はそれを ユーザ名とパスワードが空文字列である PAP 認証として扱います。 そこで、クライアント名とパスワードに空文字列を指定した 1 行を pap-secrets ファイルに追加することで、自己証明を拒否する ホストにも制限つきのアクセスを許可することができます。
経路制御¶
IPCP ネゴシエーションが成功した場合、 pppd はカーネルに、PPP インタフェースで用いるローカル IP アドレスおよび リモート IP アドレスを通知します。 これは、相手側と IP パケットを交換する リンクのリモート終端への経路を作成するのに充分な情報です。 サーバ以外のマシンとの通信には、一般的には経路 テーブルや ARP (アドレス解決プロトコル; Address Resolution Protocol) テーブルのさらなる更新が必要となります。 ほとんどの場合 defaultroute や proxyarp オプションで十分ですが、 更なる解析が必要な場合もあります。 /etc/ppp/ip-up スクリプトが使用可能な場合があります。
インターネットへの接続を PPP インタフェース経由のみで行うマシンの 場合には、リモートホストを通るデフォルト経路の追加が 望ましい場合があります。 defaultroute オプションは、IPCP が完了した際に pppd に そのようなデフォルト経路を作成させ、リンクが切断されたときには そのデフォルト経路を削除させます。
例えばサーバマシンが LAN に接続されている場合、LAN 上の他のホストが リモートホストと通信できるようにするために proxy ARP の使用が 望ましい場合もあります。 proxyarp オプションを指定すると、pppd はリモートホストと 同一サブネット上にある (ブロードキャストと ARP をサポートし、動作中 かつ point-to-point やループバックでない) ネットワークインタフェースを 探します。 そのようなインタフェースが見つかった場合、pppd は 恒久的に公開された ARP エントリとしてリモートホストの IP アドレスと その見つかったネットワークインタフェースのイーサネット (MAC) アドレスを 登録します。
demand オプション使用時は、IPCP 起動時に インタフェースの IP アドレスは設定済みです。 pppd がインタフェース設定に使用したものと同じアドレスを ネゴシエーションできなかった場合には (例えば ISP が動的に IP アドレスを割り当てる場合)、 pppd はインタフェースの IP アドレスをネゴシエートされたものに 変更する必要があります。 この場合既存の接続を破壊するかもしれませんので、 動的 IP 割り当てを行う相手と要求時ダイヤルを行うことは勧められません。
使用例¶
(ppp の配布のデフォルトの /etc/ppp/options ファイルと同じく) 以下の例では /etc/ppp/options ファイルは auth オプションを含むものとします
おそらく最も一般的な pppd の使用方法は ISP へダイヤルアウトすることでしょう。 この場合次のコマンドを使用します。
- pppd call isp
ここで /etc/ppp/peers/isp ファイルはシステム管理者が次のように設定します:
- ttyS0 19200 crtscts
connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
noauth
この例では、chat を使用して ISP のモデムにダイヤルし、 必要なログオンシーケンスを通過します。 /etc/ppp/chat-isp ファイルは chat が使用するスクリプトを含みます。 例えば次のようになっています:
- ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
ABORT "Username/Password Incorrect"
"" "at"
OK "at&d0&c1"
OK "atdt2468135"
"name:" "^Umyuserid"
"word:" "\qmypassword"
"ispts" "\q^Uppp"
"~-^Uppp-~"
chat スクリプトの詳細については、 chat(8) のマニュアルページを参照してください。
pppd はまたダイヤルイン ppp サービスをユーザに提供するために使用可能です。 ユーザが既にログインアカウントを持っている場合には、 ppp サービスの最も簡単な設定方法は、 ユーザにそのアカウントでログインしてもらってから、 (setuid-root された) pppd を次のように実行することです。
- pppd proxyarp
ユーザが PPP 機能を使用することを許すためには、 そのユーザのマシンのための IP アドレスを割り当て、 /etc/ppp/pap-secrets または /etc/ppp/chap-secrets (ユーザのマシンの PPP 実装が どちらの認証方法をサポートするかに依存します) にエントリを作成して、ユーザのマシンを認証可能とします。 例えば、Joe が "joespc" というマシンを持っていて、"server" というマシンへの ダイヤルインおよび joespc.my.net という IP アドレスの使用が許されている場合、 次のようなエントリを /etc/ppp/pap-secrets または /etc/ppp/chap-secrets に 加えます:
- joespc server "joe's secret" joespc.my.net
別の方法として、(例えば) "ppp" といったユーザ名を作成し、 そのログインシェルを pppd とし、 ホームディレクトリを /etc/ppp とする方法があります。 この方法で pppd を実行する場合に使用するオプションは /etc/ppp/.ppprc に置くことができます。
もしあなたのシリアル接続がケーブル 1 本でなく、もっと複雑な場合には、 いくつかの制御文字がエスケープされるように 準備しておく必要があります。とりわけ、XON (^Q) および XOFF (^S) を、 asyncmap a0000 を用いてエスケープすることはしばしば有効です。 パスが telnet を含む場合には、 ^] 文字も同様にエスケープ (asyncmap 200a0000 を指定) する必要があるでしょう。 パスが rlogin を含む場合には、rlogin クライアントの動作している側の ホストで escape ff を指定する必要があるでしょう。これは、多くの rlogin の実装がネットワーク透過でないためです。 それらの rlogin では、 0xff, 0xff, 0x73, 0x73 とそれに続く 8 バイトの シーケンスをストリームから取り除きます。
診断¶
メッセージは LOG_DAEMON ファシリティを用いて syslog デーモンに 送られます (これは希望するファシリティを LOG_PPP マクロとして定義し、 pppd を再コンパイルすることで変更することができます)。 エラーメッセージやデバッグメッセージを見るためには、 /etc/syslogd.conf ファイルを編集して pppd からのメッセージが 希望する出力デバイスやファイルに書き出されるようにしておく必要があります。
debug オプションは送受信されるすべての制御パケットの内容が ログに記録されるようにします。対象となる制御パケットは、 すべての LCP, PAP, CHAP, IPCP パケットです。 この機能は、PPP ネゴシエーションがうまくいかない場合や 認証が失敗する場合の原因究明に効果的でしょう。 コンパイル時にデバッギングオプションを有効にしていた場合には、 debug もまた他のデバッグメッセージを記録するために使われます。
pppd プロセスに SIGUSR1 シグナルを送ってデバッギングを有効にすることが できます。これはトグル動作します。
スクリプト¶
pppd は処理の様々な段階においてスクリプトを起動し、 サイト固有の追加処理を行います。 これらのスクリプトは通常シェルスクリプトですが、 実行可能コードファイルであってもかまいません。 pppd はスクリプトが終了するまで待ちません。 スクリプトは root にて (実ユーザ ID および実効ユーザ ID とも 0 に設定して) 実行されますので、経路テーブルの更新や特権デーモンの実行が可能です。 これらのスクリプトの内容によってシステムセキュリティが危うくならないよう 注意してください。 pppd は標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトし、 リンクの情報を与えるいくつかの環境変数を除いて環境変数を空にして、 スクリプトを実行します。 pppd が設定する環境変数を以下に示します:
- DEVICE
- 使用しているシリアル tty デバイス名。
- IFNAME
- 使用しているネットワークインタフェース名。
- IPLOCAL
- リンクのローカル側の IP アドレス。 IPCP が立ち上がった時のみ設定されます。
- IPREMOTE
- リンクのリモート側の IP アドレス。 IPCP が立ち上がった時のみ設定されます。
- PEERNAME
- 相手の認証された名前。 相手が自己証明した場合のみ設定されます。
- SPEED
- tty デバイスのボーレート。
- UID
- pppd を起動したユーザの実ユーザ ID。
pppd は、以下のスクリプトが存在すれば起動します。 存在しなくてもエラーではありません。
- /etc/ppp/auth-up
- リモートシステムが成功裏に自己証明した後で実行される プログラムまたはスクリプトです。 次のものをパラメータとして実行されます。
- interface-name peer-name user-name tty-device speed
- 相手が自己証明しない場合には、 このスクリプトは実行されないことに注意してください。 例えば noauth オプションが使用される時がこれにあたります。
- /etc/ppp/auth-down
- /etc/ppp/auth-up が以前実行された後でリンクが落ちた時に実行される プログラムまたはスクリプトです。 これは /etc/ppp/auth-up と同じパラメータを与えて、同じ方法で実行されます。
- /etc/ppp/ip-up
- そのリンクで IP パケットの送受信が行えるようになった時 (IPCP が完了した時) に実行されるプログラムまたはスクリプトです。 次のものをパラメータとして実行されます。
- interface-name tty-device speed local-IP-address remote-IP-address ipparam
- /etc/ppp/ip-down
- そのリンクで IP パケットの送受信ができなくなった場合に実行される プログラムまたはスクリプトです。 このスクリプトは /etc/ppp/ip-up スクリプトで行った変更を 元にもどすために用いられます。 これは ip-up と同じパラメータを与えて、同じ方法で実行されます。
- /etc/ppp/ipx-up
- そのリンクで IPX パケットの送受信が行えるようになった時 (IPXCP が完了した時) に実行されるプログラムまたはスクリプトです。 次のものをパラメータとして実行されます。
- interface-name tty-device speed network-number local-IPX-node-address remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol local-IPX-router-name remote-IPX-router-name ipparam pppd-pid
- local-IPX-routing-protocol および remote-IPX-routing-protocol のフィールドは 以下のいずれかです:
- NONE
経路プロトコルが無いことを示します
RIP RIP/SAP を使うべきであることを示します
NLSP Novell NLSP を使うべきであることを示します
RIP NLSP RIP/SAP と NLSP の両方を使うべきであることを示します
- /etc/ppp/ipx-down
- そのリンクで IPX パケットの送受信ができなくなった場合に実行される プログラムまたはスクリプトです。 このスクリプトは /etc/ppp/ipx-up スクリプトで行った変更を 元にもどすために用いられます。 これは ipx-up と同じパラメータを与えて、同じ方法で実行されます。
関連ファイル¶
- /var/run/pppn.pid (BSD または Linux), /etc/ppp/pppn.pid (その他)
- ppp インタフェースユニット n に対応する pppd プロセスの プロセス ID が記録されます。
- /etc/ppp/pap-secrets
- PAP 認証で使用するユーザ名、パスワード、IP アドレスを格納します。 このファイルは root が所有し、他のユーザは読み書きできてはなりません。 そうでない場合 pppd は警告ログを行います。
- /etc/ppp/chap-secrets
- CHAP 認証で使用する名前、秘密情報、IP アドレスを格納します。 このファイルは root が所有し、他のユーザは読み書きできてはなりません。 そうでない場合 pppd は警告ログを行います。
- /etc/ppp/options
- pppd のシステムデフォルトオプションを記述します。 ユーザデフォルトオプションおよびコマンド ラインオプションが読まれる前に読み込まれます。
- ~/.ppprc
- ユーザ毎のデフォルトオプションを記述します。 /etc/ppp/options.ttyname が読まれる前に読み込まれます。
- /etc/ppp/options.ttyname
- 各シリアルポートのシステムデフォルトオプションを指定します。 ~/.ppprc の後で読まれます。 このファイル名の ttyname 部分の構成にあたり、 まず /dev/ が (存在すれば) ポート名から除かれ、 残ったスラッシュがドットに置換されます。
- /etc/ppp/peers
- pppd が非 root ユーザによって起動されたとしても 特権オプションを含んでかまわないオプションファイルを含むディレクトリです。 システム管理者はオプションファイルをこのディレクトリ中に作成することにより、 非特権ユーザが相手の認証を要さずにダイヤルアウト可能とします。 しかし、信頼関係のある相手のみ可能です。
- /etc/ppp/ppp.deny
- システムのパスワードによる PAP 認証を使わせないユーザを記述します。
- /etc/ppp/ppp.shells
- システムのパスワードによる PAP 認証ログインのために適切なシェルを 記述します。
関連項目¶
chat(8), ppp(8)
- RFC1144
- Jacobson, V. Compressing TCP/IP headers for low-speed serial links. February 1990.
- RFC1321
- Rivest, R. The MD5 Message-Digest Algorithm. April 1992.
- RFC1332
- McGregor, G. PPP Internet Protocol Control Protocol (IPCP). May 1992.
- RFC1334
- Lloyd, B.; Simpson, W.A. PPP authentication protocols. October 1992.
- RFC1661
- Simpson, W.A. The Point-to-Point Protocol (PPP). July 1994.
- RFC1662
- Simpson, W.A. PPP in HDLC-like Framing. July 1994.
注意¶
以下のシグナルが pppd に送られた場合、ここで説明する効果が得られます。
- SIGINT, SIGTERM
- これらのシグナルを受信した場合、pppd は (LCP をクローズすることで) リンクを切断し、シリアルデバイスの設定を復元して、プログラムを終了します。
- SIGHUP
- 物理層のリンク切断を指示します。pppd はシリアルデバイスの設定を復元し、 シリアルデバイスを閉じます。 persist または demand のオプションが指定されている場合、pppd は シリアルデバイスを再オープンし、(抑止期間を置いてから) 新しい接続を始めようとします。 そうでない場合は、pppd は終了します。 このシグナルを抑止期間に受けると、pppd は抑止期間をすぐに終了します。
- SIGUSR1
- このシグナルは、debug オプションの状態を反転します。
- SIGUSR2
- このシグナルは、 pppd に圧縮に付いて再びネゴシエートさせます。 これは、致命的な伸長エラーの結果として 圧縮を止めた後で、再び圧縮を有効にするために便利です。 (致命的な伸長エラーは一般にどちらかの実装上の バグを示します。)
作者¶
Paul Mackerras (Paul.Mackerras@cs.anu.edu.au) が、 Drew Perkins, Brad Clements, Karl Fox, Greg Christy, Brad Parker の作業を元に作成しました。