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 (
[email protected]) が、 Drew Perkins,
Brad Clements, Karl Fox, Greg Christy, Brad Parker
の作業を元に作成しました。