Reviewed by: The Japanese Manual Project <man-jp@jp.FreeBSD.ORG> Submitted by: horikawa@jp.freebsd.org
844 lines
31 KiB
Groff
844 lines
31 KiB
Groff
.\" manual page [] for pppd 2.0
|
|
.\" %Id: pppd.8,v 1.7.2.2 1997/05/07 23:57:42 brian Exp %
|
|
.\" jpman %Id: pppd.8,v 1.2 1997/05/27 00:43:48 mutoh Stab %
|
|
.\" SH section heading
|
|
.\" SS subsection heading
|
|
.\" LP paragraph
|
|
.\" IP indented paragraph
|
|
.\" TP hanging label
|
|
.TH PPPD 8
|
|
.SH 名称
|
|
pppd \- PPP(Point to Point Protocol) を処理するデーモン
|
|
.SH 書式
|
|
.B pppd
|
|
[
|
|
.I options
|
|
] [
|
|
.I tty_name
|
|
] [
|
|
.I speed
|
|
]
|
|
.SH 解説
|
|
.LP
|
|
Point-to-Point プロトコル (PPP) は、シリアル回線上に確立された
|
|
Point-to-Point リンクを介したデータグラムの送受方法を提供します。
|
|
PPP は、データグラムのカプセル化方式、拡張可能なリンク制御プロトコル (LCP)、
|
|
そして異なるネットワーク層プロトコルの設定とコネクションの確立を行なう
|
|
一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。
|
|
.LP
|
|
カプセル化体系は、カーネル内のドライバコードにより提供されています。
|
|
.B pppd
|
|
は、基本的な LCP 機能、認証機能、そして IP コネクションの確立と設定を行なう
|
|
NCP(IP Control Protocol(IPCP) と呼ばれています)を提供します。
|
|
.SH よく使われるオプション
|
|
.TP
|
|
.I <tty_name>
|
|
使用するシリアルポートの特殊ファイル名を指定します。
|
|
もし必要であれば、特殊ファイル名の前に"/dev/"文字列が追加されます。
|
|
デバイス名が指定されていない場合や制御端末の名前が与えられた場合には、
|
|
.I pppd
|
|
は自らの制御端末をコネクションの確立に使用し、
|
|
バックグラウンド実行のための fork を行ないません。
|
|
.TP
|
|
.I <speed>
|
|
tty の速度を設定します。4.4BSD や NetBSD では任意の速度を指定することが
|
|
できます。その他のシステム (SunOS 等) では一定の組合せのみが指定可能です。
|
|
.TP
|
|
.B asyncmap \fI<map>
|
|
非同期キャラクタマップを <map> に設定します。
|
|
このマップは、シリアル回線を経由するとどのコントロールキャラクタの受信が
|
|
うまくいかなくなるかを記述するものです。
|
|
.I pppd
|
|
は、相手側にこれらのキャラクタを 2 バイトのエスケープシーケンスとして
|
|
送信するよう依頼します。
|
|
引数は 32 ビットの 16 進数であり、各ビットがエスケープするべきキャラクタを
|
|
表しています。
|
|
ビット 0 (00000001) はキャラクタ 0x00 をあらわし、
|
|
ビット 31 (80000000) は、キャラクタ 0x1f '^_' をあらわしています。
|
|
複数の \fBasyncmap\fR オプションが与えられた場合、それらの値の論理和が
|
|
採用されます。
|
|
\fBasyncmap\fR が与えられなかった場合には、このホストが受信側となる
|
|
非同期キャラクタマップは設定されません。
|
|
相手側はすべてのコントロールキャラクタをエスケープして送信します。
|
|
.TP
|
|
.B auth
|
|
ネットワークパケットの送受信を許可する前に、相手側に自分自身の認証を
|
|
行なうよう要求します。
|
|
.TP
|
|
.B connect \fI<p>
|
|
\fI<p>\fR で指定された実行可能コマンドまたはシェルコマンドを
|
|
シリアル回線のセットアップに用います。
|
|
ほとんどの場合ここで指定されるスクリプトには、
|
|
モデムにダイヤルコマンドを送ったり リモート ppp セッションを
|
|
開始したりするための "チャット(chat)" プログラムを使用します。
|
|
.TP
|
|
.B connect-max-attempts \fI<n>
|
|
指定した時間 (デフォルトでは 1)以上 リモートシステムとの
|
|
ダイアルコネクションを保持しません。コネクションができない場合は、
|
|
pppd は終了します。 \fBpersist\fR を指定することが要求されます。
|
|
.TP
|
|
.B crtscts
|
|
シリアルポートのフロー制御にハードフロー制御 (RTS/CTS) を用います。
|
|
.TP
|
|
.B -crtscts
|
|
シリアルポートのハードウエアフロー制御 (RTS/CTS) を使いません。
|
|
\fBcrtscts\fR か \fB\-crtscts\fR の両方のオプションが与えられない時、
|
|
シリアルポートのハードウエアフロー制御の設定は変更されずに
|
|
そのままになります。
|
|
.TP
|
|
.B xonxoff
|
|
シリアルポートのフロー制御に XON/XOFF キャラクタによるフロー制御を用います。
|
|
現時点では、このオプションは Linux では実装されていません。
|
|
.TP
|
|
.B defaultroute
|
|
IPCP ネゴシエーションが成功すると、相手側をゲートウェイとする
|
|
デフォルトルートをシステムのルーティングテーブルに追加します。
|
|
このオプションにより追加されたデフォルトルートエントリは、
|
|
PPP コネクションが切断された際に削除されます。
|
|
.TP
|
|
.B disconnect \fI<p>
|
|
pppd が接続を切った後に \fI<p>\fR で指定した実行可能コマンドまたは
|
|
シェルコマンドを実行します。
|
|
このスクリプトで、例えばハードウェアモデム制御信号 (DTR) が使えない場合に
|
|
モデムに回線切断のコマンドを発行することができます。
|
|
.TP
|
|
.B escape \fIxx,yy,...
|
|
転送時にエスケープを行なうべきキャラクタを指定します(相手側が
|
|
非同期キャラクタマップでエスケープを要求しているかどうかには影響されません)。
|
|
エスケープされるキャラクタは、カンマで区切られた 16 進の数字で指定します。
|
|
コントロールキャラクタしか指定できない非同期キャラクタマップ (asyncmap)
|
|
とは異なり、\fBescape\fR オプションではどんなキャラクタでも指定できる
|
|
ことに注意してください。
|
|
ただし 16 進表記で 0x20 から 0x3f までと 0x5e のキャラクタは
|
|
エスケープするべきではありません。
|
|
.TP
|
|
.B file \fI<f>
|
|
オプションをファイル <f> から読み込みます(フォーマットは後述します)。
|
|
.TP
|
|
.B lock
|
|
シリアルデバイスに対する排他アクセスを確実に行なうために、
|
|
UUCP 形式のロックファイルを作成するよう \fIpppd\fR に指示します。
|
|
.TP
|
|
.B mru \fI<n>
|
|
ネゴシエーション時の MRU [Maximum Receive Unit] 値を <n> に設定します。
|
|
.I pppd
|
|
は、通信相手に <n> バイトを超えるパケットを送信しないよう要求します。
|
|
最小の MRU 値は、128 です。
|
|
デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します。
|
|
(TCP/IP ヘッダ 40 バイト + データ 256 バイト).
|
|
.TP
|
|
.B netmask \fI<n>
|
|
インタフェースの netmask を <n> に設定します。
|
|
32 bit の netmask を、255.255.255.0 のように、
|
|
10 進 + ピリオド表記 (符号付き 10 進表現) で指定します。
|
|
.TP
|
|
.B dns1 \fI<n>
|
|
接続先が プライマリ DNS サーバを聞いてきた場合、このアドレスを答えます。
|
|
32 bit IP アドレスを 符号付き 10 進表現で指定します。
|
|
.TP
|
|
.B dns2 \fI<n>
|
|
接続先が セカンダリ DNS サーバを聞いてきた場合、このアドレスを答えます。
|
|
32 bit IP アドレスを 符号付き 10 進表現で指定します。
|
|
.TP
|
|
.B passive
|
|
LCP で "passive" オプションを有効にします。このオプションを指定した場合には、
|
|
コネクションを開始しようとしても相手からの返答がない場合、
|
|
.I pppd
|
|
は相手から有効な LCP パケットが到着するのを待ち続けます。
|
|
(このオプションを指定しなければ、相手からの返答がない場合に
|
|
.I pppd
|
|
は実行を中断します。)
|
|
.TP
|
|
.B silent
|
|
このオプションを指定した場合、
|
|
.I pppd
|
|
は相手から有効な LCP パケットを受信するまで
|
|
接続を開始するための LCP パケットを送信せずに待ちます。
|
|
(旧バージョンの \fIpppd\fR で 'passive' オプションを指定した場合と
|
|
同じ動作です。)
|
|
.SH オプション
|
|
.TP
|
|
.I <local_IP_address>\fB:\fI<remote_IP_address>
|
|
ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。
|
|
どちらか一方を省略することも可能です。IP アドレスは、ホスト名もしくは
|
|
符号付き 10 進表現 (例 :150.234.56.78) のどちらでも指定可能です。
|
|
デフォルトのローカルアドレスは、そのシステムの ( 最初の )IP アドレスと
|
|
なります。( ただし
|
|
.B noipdefault
|
|
オプションが指定された場合を除きます。) リモートアドレスは、
|
|
オプションで指定されていない場合には相手側から取得されます。
|
|
ですから、もっとも単純な指定を行う場合には、このオプションは不必要です。
|
|
ローカルまたはリモートの IP アドレスがこのオプションで指定されている場合には、
|
|
.I pppd
|
|
は IPCP ネゴシエーションで相手側がこの指定と異なるアドレスを送って来た場合
|
|
これを拒否します。ただし、
|
|
.B ipcp-accept-local
|
|
や
|
|
.B ipcp-accept-remote
|
|
が指定されている場合にはこの限りではありません。
|
|
.TP
|
|
.B -all
|
|
LCP や IPCP でのオプションによるネゴシエーションは
|
|
要求も許可もされません。(デフォルト値を用います。)
|
|
.TP
|
|
.B -ac
|
|
Address/Control 圧縮ネゴシエーションを無効にします
|
|
( これがデフォルトで、address/control フィールドの圧縮は通常行なわれません)。
|
|
.TP
|
|
.B -am
|
|
asyncmap ネゴシエーションを無効にします(デフォルトの asyncmap が用られ、
|
|
全てのコントロールキャラクタがエスケープされます)。
|
|
.TP
|
|
.B -as \fI<n>
|
|
.B asyncmap \fI<n>
|
|
と同じ意味です。
|
|
.TP
|
|
.B -d
|
|
デバッグレベルを増やします。(\fBdebug\fR オプションと同じ意味です。)
|
|
.TP
|
|
.B -detach
|
|
バックグラウンドプロセスになるための fork を行ないません(
|
|
.I pppd
|
|
は、シリアルデバイスが指定されていて
|
|
このオプションが指定されていない場合もしくはシリアルデバイスが
|
|
制御端末ではない場合には fork します)。
|
|
.TP
|
|
.B -ip
|
|
IP アドレスネゴシエーションを無効にします
|
|
(このオプションを指定した場合には、リモート IP アドレスを
|
|
コマンドラインもしくはオプションファイルで指定する必要があります)。
|
|
.TP
|
|
.B -mn
|
|
magic number ネゴシエーションを無効にします。このオプションを指定した場合には、
|
|
.I pppd
|
|
はループバック回線を検出することができません。
|
|
.TP
|
|
.B -mru
|
|
MRU [Maximum Receive Unit] ネゴシエーションを無効にします
|
|
( デフォルトの MRU 値の 1500 を使用します)。
|
|
.TP
|
|
.B -p
|
|
.B passive
|
|
オプションと同じ意味です。
|
|
.TP
|
|
.B -pc
|
|
プロトコルフィールド圧縮ネゴシエーションを無効にします
|
|
(これがデフォルトで、プロトコルフィールドの圧縮は通常無効になっています)。
|
|
.TP
|
|
.B +ua \fI<p>
|
|
相手側から PAP [Password Authentication Protocol] による認証を
|
|
要求された場合には、それに同意します。そしてファイル <p> に記述された
|
|
データを用いてユーザ名とパスワードを相手に送ります。
|
|
このファイルには、リモートのユーザ名と改行が格納され、
|
|
続いてリモートパスワードと改行が格納されています。
|
|
このオプションは旧式です。
|
|
.TP
|
|
.B +pap
|
|
PAP を用いて自分自身の認証を行なうよう相手に要求します。
|
|
.TP
|
|
.B -pap
|
|
PAP による認証を拒否します。
|
|
.TP
|
|
.B +chap
|
|
CHAP [Challenge Handshake Authentication Protocol] を用いて
|
|
自分自身の認証を行なうことを相手に要求します。
|
|
.TP
|
|
.B -chap
|
|
CHAP による認証を拒否します。
|
|
.TP
|
|
.B -vj
|
|
Van Jacobson 形式の IP ヘッダ圧縮のネゴシエーションを無効にします
|
|
(これがデフォルトで、ヘッダの圧縮は通常行なわれません)。
|
|
.TP
|
|
.B bsdcomp \fInr,nt
|
|
接続相手に、BSD圧縮方式を使った送出時のパケット圧縮を要求します。
|
|
ここでの最大コードサイズは \fInr\fR ビットです。
|
|
相手側が送るパケットの最大の大きさは、 \fInt\fR ビットです。
|
|
\fInt\fR が指定されない時は、デフォルトの値が使われます。
|
|
9 から 15 の範囲の値が、 \fInr\fR と \fInt\fR で使われます。
|
|
より大きな値は、よりよい圧縮となりますが、圧縮辞書のためにより多くの
|
|
カーネルメモリを消費します。\fInr\fR や \fInt\fR に対して、値 0 を
|
|
指定すると、圧縮を指定した方向には行いません。
|
|
.TP
|
|
.B \-bsdcomp
|
|
圧縮を行いません。 \fBpppd\fR は、BSD 圧縮方式を使ったパケットの圧縮を
|
|
要求しませんし、許可もしません。
|
|
.TP
|
|
.B debug
|
|
デバッグレベルを増加させます (\fB\-d\fR と同じ意味です)。
|
|
このオプションを指定した場合、\fIpppd\fR は送受信した
|
|
すべての制御パケットの内容を可読形式でログをとります。
|
|
パケットは syslog を経由して、\fIdaemon\fR ファシリティの
|
|
\fIdebug\fR レベルとして記録されます。
|
|
本情報は、/etc/syslog.conf を適切に記述することで
|
|
ファイルに記録することができます(syslog.conf(5) 参照)。
|
|
(もし \fIpppd\fR が extra debugging オプションを有効にして
|
|
コンパイルされていれば、\fIdaemon\fR ファシリティの
|
|
かわりに \fIlocal2\fR ファシリティを使用してメッセージを記録します。)
|
|
.TP
|
|
.B \-defaultroute
|
|
\fBdefaultroute\fR オプションを無効にします。
|
|
\fIpppd\fR を使っているユーザにデフォルトルートを作成させたくない
|
|
システム管理者は、このオプションを /etc/ppp/options ファイルに
|
|
記述することができます。
|
|
.TP
|
|
.B domain \fI<d>
|
|
認証のために使用するローカルホスト名にドメイン名 <d> を付加します。
|
|
例えば、FQDN が porsche.Quotron.COM であって、
|
|
gethostname() が porsche という名前を返す場合には、
|
|
このオプションを用いてドメイン名を Quotron.COM と指定します。
|
|
.TP
|
|
.B ipparam \fIstring
|
|
ip-up と ip-down スクリプト用に余分のパラメータを指定します。
|
|
このオプションが与えられた場合、 \fIstring\fR が 6 番目のパラメータと
|
|
して、これらのスクリプトに与えられます。
|
|
.TP
|
|
.B modem
|
|
モデム制御線を使用します。このオプションはデフォルトです。
|
|
このオプションを使うことで、
|
|
.B pppd
|
|
は、シリアルデバイスをオープンした時に
|
|
(接続スクリプトが指定されていなくても)
|
|
モデムから CD (Carrier Detect) 信号が送られるのを待ちます。
|
|
そして、接続が中断された時や接続スクリプトが終了する時に、
|
|
DTR (Data Terminal Ready) 信号を落します。 Ultrix では、
|
|
このオプションは、 \fBcrtscts\fR オプションのように
|
|
ハードワイアフロー制御を実行します。
|
|
.TP
|
|
.B kdebug \fIn
|
|
カーネルレベルの PPP ドライバのデバッグコードを有効にします。
|
|
引数 \fIn\fR として、以下の数値のうち必要なものの合計を指定します。
|
|
1 は一般的なデバッグメッセージ出力を有効にします。
|
|
2 は受信したパケットの内容の出力を要求します。
|
|
4 は送信したパケットの内容の出力を要求します。
|
|
.TP
|
|
.B local
|
|
モデム制御線を使用しません。
|
|
.B pppd
|
|
は、モデムからの CD (Carrier Detect) 信号の状態を無視し、
|
|
DTR (Data Terminal Ready) 信号の状態を変化しません。
|
|
.TP
|
|
.B mtu \fI<n>
|
|
MTU [Maximum Transmit Unit] 値を \fI<n>\fR に設定します。
|
|
相手が MRU ネゴシエーションを通じてこれより小さい値を要求してこない限り、
|
|
\fIpppd\ は、PPP ネットワークインタフェースを通して \fIn\fR バイトを
|
|
越えないデータパケットを送ることをカーネルのネットワークコードに要求します。
|
|
.TP
|
|
.B name \fI<n>
|
|
認証の目的で用いられるローカルシステムの名前を <n> に設定します。
|
|
.TP
|
|
.B user \fI<u>
|
|
PAP を用いてこのマシンの認証を行なう際に用いるユーザ名を <u> に設定します。
|
|
.TP
|
|
.B usehostname
|
|
認証時にホスト名をローカルシステムの名前として使用することを強制します。
|
|
(
|
|
このオプションは
|
|
.B name
|
|
オプションに優先します。
|
|
)
|
|
.TP
|
|
.B remotename \fI<n>
|
|
リモートシステムの名前を <n> とみなして認証を行ないます。
|
|
.TP
|
|
.B papcrypt
|
|
相手の同一性を調べるために使われる
|
|
/etc/ppp/pap-secrets ファイル内の全ての秘密を暗号化することを
|
|
指示します。そして、 pppd は、 (暗号化前の) /etc/ppp/pap-secrets
|
|
ファイルからの秘密と等かであってもパスワードを受け入れません。
|
|
.TP
|
|
.B proxyarp
|
|
自システムの ARP [Address Resolution Protocol] テーブルに相手の IP アドレス
|
|
と自イーサネットアドレスを追加します。
|
|
.TP
|
|
.B \-proxyarp
|
|
\fBproxyarp\fR オプションを使いません。\fIpppd\fR のユーザに
|
|
proxy ARP エントリを作成させたくないシステム管理者はこのオプションを
|
|
/etc/ppp/options ファイルに記述することでそのようにできます。
|
|
.TP
|
|
.B persist
|
|
接続が切断された後で終了しません。代わりに再接続しようとします。
|
|
.TP
|
|
.B login
|
|
PAP を用いた相手の認証に、システムパスワードデータベースを用います。
|
|
.TP
|
|
.B noipdefault
|
|
ローカル IP アドレスが指定されない場合にデフォルトで行なわれる、
|
|
ホスト名から IP アドレスを ( 可能であれば ) 決定する動作を無効にします。
|
|
このオプションを指定した場合には、IPCP ネゴシエーション時に
|
|
相手側がローカルの IP アドレスを指定する必要があります
|
|
(明示的にコマンドラインで指定されているか、
|
|
オプションファイルで指定されている場合を除きます)。
|
|
.TP
|
|
.B lcp-echo-interval \fI<n>
|
|
このオプションを指定すると、\fIpppd\fR は LCP echo-request frame を
|
|
\fIn\fR 秒毎に相手側に送信します。Linux では、相手側からのパケットが
|
|
\fIn\fR 秒間途切れた場合に echo-request が相手側に送信されます。
|
|
通常、相手側は echo-request を受信すると echo-reply を送り返して返答します。
|
|
このオプションは、相手側との接続が切れたことを検出するために
|
|
\fIlcp-echo-failure\fR オプションとともに使用されます。
|
|
.TP
|
|
.B lcp-echo-failure \fI<n>
|
|
このオプションが指定された場合、 LCP echo-request を \fIn\fR 回送信しても
|
|
相手から有効な LCP echo-reply が帰ってこなければ、\fIpppd\fR は
|
|
相手がダウンしているものと推測します。このような場合、\fIpppd\fR は
|
|
コネクションを切断します。このオプションを使用する際には、
|
|
\fIlcp-echo-interval\fR のパラメータとして 0 以外の数値を指定して下さい。
|
|
このオプションは、ハードウェアモデム制御線 (DSR) が使用できない状況で、
|
|
( モデムが回線を切断するなどの ) 物理的なコネクションが切断された後に
|
|
\fIpppd\fR を終了するために用いられます。
|
|
.TP
|
|
.B lcp-restart \fI<n>
|
|
( 再送のタイムアウトによる ) LCP restart の間隔を <n> 秒に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B lcp-max-terminate \fI<n>
|
|
LCP terminate-request の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B lcp-max-configure \fI<n>
|
|
LCP configure-request の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 10 です。
|
|
.TP
|
|
.B lcp-max-failure \fI<n>
|
|
LCP configure-Rejects を送信開始するまでの LCP configure-NAKs 最大応答回数を
|
|
<n> 回に設定します。デフォルト値は 10 です。
|
|
.TP
|
|
.B ipcp-restart \fI<n>
|
|
( 再送のタイムアウトによる ) IPCP restart の間隔を <n> 秒に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B ipcp-max-terminate \fI<n>
|
|
IPCP terminate-request の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B ipcp-max-configure \fI<n>
|
|
IPCP configure-request の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 10 です。
|
|
.TP
|
|
.B ipcp-max-failure \fI<n>
|
|
IPCP configure-Rejects を送信開始するまでの IPCP configure-NAKs 最大応答回数を
|
|
<n> 回に設定します。デフォルト値は 10 です。
|
|
.TP
|
|
.B pap-restart \fI<n>
|
|
( 再送のタイムアウトによる ) PAP restart の間隔を <n> 秒に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B pap-max-authreq \fI<n>
|
|
PAP authenticate-request の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 10 です。
|
|
.TP
|
|
.B pap-timeout \fI<n>
|
|
.I pppd
|
|
が PAP において接続先の認証のために待機する最大時間を <n> 秒に
|
|
設定します(0 は制限を設けないことを意味します)。
|
|
.TP
|
|
.B chap-restart \fI<n>
|
|
( 再送のタイムアウトによる ) CHAP restart の間隔を <n> 秒に設定します。
|
|
デフォルト値は 3 です。
|
|
.TP
|
|
.B chap-max-challenge \fI<n>
|
|
CHAP challenge の最大送信回数を <n> 回に設定します。
|
|
デフォルト値は 10 です。
|
|
.TP
|
|
.B chap-interval \fI<n>
|
|
このオプションが指定された場合、
|
|
.I pppd
|
|
は <n> 秒おきに CHAP challenge を再送信します。
|
|
.TP
|
|
.B ipcp-accept-local
|
|
このオプションが指定された場合には、
|
|
別のオプションによってローカル IP アドレスの指定が行なわれている場合でも、
|
|
.I pppd
|
|
は相手からのローカル IP アドレスの指定を受け入れます。
|
|
.TP
|
|
.B ipcp-accept-remote
|
|
このオプションが指定された場合には、
|
|
別のオプションによってリモート IP アドレスの指定が行なわれている場合でも、
|
|
.I pppd
|
|
は相手からのリモート IP アドレスの指定を受け入れます。
|
|
.SH オプションファイル
|
|
オプションは、コマンドラインから与えられるのと同様に、
|
|
ファイルに記述されたものを用いることも可能です。
|
|
.I pppd
|
|
は、コマンドラインからのオプションを
|
|
読み込む前に /etc/ppp/options および ~/.ppprc から
|
|
オプションを読み込みます。オプションファイルの内容は、
|
|
空白文字をデリミタとする単語の並びとして解釈されます。
|
|
空白文字を含む文字列はダブルクォート (") で囲うことで
|
|
1 つの文字列として解釈されるようになります。
|
|
バックスラッシュ (\\) は、直後の 1 キャラクタをクォートします。
|
|
シャープ文字 (#) はコメントの始まりとして解釈され、
|
|
改行までをコメントとみなします。
|
|
.SH 認証
|
|
.I pppd
|
|
は、正当なユーザに対するサーバマシンへの PPP アクセスを提供しつつ、
|
|
サーバ自身やそのサーバが存在するネットワークのセキュリティを危険に
|
|
さらす心配のない、充分なアクセス制御をシステム管理者に提供します。
|
|
このアクセス制御の一部は、
|
|
/etc/ppp/options ファイルにより提供されます。
|
|
このファイルでシステム管理者は
|
|
.I pppd
|
|
が実行される時には常に認証を要求するように
|
|
オプションを設定することができます。
|
|
また一部は、PAP や CHAP のシークレットファイルにより提供されます。
|
|
このファイルで個々のユーザが使用する IP アドレスの組を
|
|
管理者が制限することができます。
|
|
.LP
|
|
.I pppd
|
|
のデフォルトの挙動は、もし認証の要求があればそれを受け入れ、
|
|
相手側には認証を要求しないというものです。
|
|
ただし、
|
|
.I pppd
|
|
がその認証を行なうのに必要なシークレットを持っていない
|
|
特定のプロトコルによる認証は拒否します。
|
|
.LP
|
|
認証はシークレットファイルから選ばれたシークレットをベースにしています。
|
|
(PAP では /etc/ppp/pap-secrets が、CHAP では /etc/ppp/chap-secrets が
|
|
シークレットファイルです。)
|
|
どちらのシークレットファイルも同じフォーマットになっており、
|
|
どちらもサーバ ( 認証する側 ) とクライアント ( 認証される側 ) の
|
|
それぞれの組合せを記録しておくことができます。
|
|
.I pppd
|
|
はサーバにもクライアントにもなれることと、必要ならそれぞれの方向で
|
|
異なったプロトコルを使用した認証ができることに注意してください。
|
|
.LP
|
|
シークレットファイルはオプションファイルと同じように単語の並びとして
|
|
解釈されます。一組のシークレットは最低でも 3 つの単語を含む 1 つの行として
|
|
指定され、3 つの単語はそれぞれクライアント名・サーバ名・シークレットとして
|
|
解釈されます。残りの単語があれば、それはクライアント側で
|
|
使用可能な IP アドレスのリストとして解釈されます。
|
|
もしその行に 3 つの単語しかない場合は、どのような IP アドレスでも受け入れ
|
|
可能であると仮定されます。全ての IP アドレスを禁止するには "-" を使います。
|
|
もしシークレットが一個の `@' で始まる場合には、続く文字列がシークレットを
|
|
読み込むファイルの名前であると仮定されます。
|
|
クライアント名またはサーバ名が "*" であれば、それはどのような名前とも
|
|
マッチします。
|
|
シークレットを選択する際、\fIpppd\fR は最も良くマッチするものを選びます。
|
|
つまり、最もワイルドカードの少ないマッチが選ばれます。
|
|
.LP
|
|
このように、シークレットファイルは他のホストを認証するための
|
|
シークレットに加えて、自分自身を他のホストに認証させるための
|
|
シークレットを含んでいます。
|
|
どのシークレットを使うかは、自分の名前 ( ローカル名 ) と
|
|
相手側の名前 ( リモート名 ) をベースにして選ばれます。
|
|
ローカル名は以下のようにしてセットされます。
|
|
.TP 3
|
|
\fBusehostname\fR オプションが指定されていれば、
|
|
ローカル名はそのマシンのホスト名になります
|
|
( domain が指定されていれば追加されます)。
|
|
.TP 3
|
|
そうではなく、\fBname\fR が指定されていれば
|
|
最初の \fBname\fR オプションの引数が使われます。
|
|
.TP 3
|
|
そうではなく、ローカル IP アドレスがホスト名で指定されていれば
|
|
そのホスト名が使われます。
|
|
.TP 3
|
|
何も指定されていない場合は、このマシンのホスト名が使われます
|
|
( domain が指定されていれば追加されます)。
|
|
.LP
|
|
PAP を使用して自分の認証を行なう場合、ユーザ名というものがありますが、
|
|
デフォルトではローカル名が使われます。
|
|
しかし、\fBuser\fR オプションまたは \fB+ua\fR オプションで
|
|
ユーザ名をセットすることができます。
|
|
.LP
|
|
リモート名は以下のようにしてセットされます。
|
|
.TP 3
|
|
\fBremotename\fR オプションが指定されていれば、
|
|
最後の \fBremotename\fR の引数が使われます。
|
|
.TP 3
|
|
そうではなく、リモート IP アドレスがホスト名で指定されていれば、
|
|
そのホスト名が使用されます。
|
|
.TP 3
|
|
何も指定されていない場合、リモート名は空文字列 "" になります。
|
|
.LP
|
|
PAP シークレットファイルからのシークレットの選択は
|
|
以下のように行なわれます。
|
|
.TP 2
|
|
*
|
|
相手側の認証を行なう場合には、PAP 認証要求で指定されたユーザ名が
|
|
クライアント名と一致し、サーバ名がローカル名と一致する
|
|
シークレットが選ばれます。
|
|
.TP 2
|
|
*
|
|
相手側に自分を認証してもらう場合には、クライアント名がユーザ名と
|
|
一致し、サーバ名がリモート名と一致するシークレットを探します。
|
|
.LP
|
|
相手側を PAP で認証する際に、"" というシークレットは相手側から
|
|
送られてきた任意のパスワードとマッチします。
|
|
もしパスワードがシークレットとマッチしなければ、
|
|
パスワードは crypt() を使用して暗号化され、再びシークレットと
|
|
比較されます。このため相手側の認証に使用するシークレットは
|
|
暗号化された形式で記録することができます。
|
|
\fBpapcrypt\fR オプションが与えられた場合、よりよいセキュリティのため
|
|
最初の (暗号化されていない) 比較対象は除外されます。
|
|
.LP
|
|
もし \fBlogin\fR オプションが指定されていれば、ユーザ名とパスワードも
|
|
システムパスワードデータベースでチェックされます。
|
|
このためシステム管理者は特定のユーザだけに PPP アクセスを
|
|
許可し、個々のユーザが使用できる IP アドレスの組を
|
|
制限するよう pap-secrets ファイルをセットアップすることができます。
|
|
典型的には、\fBlogin\fR オプションを使う時に、 /etc/ppp/pap-secrets
|
|
中の シークレット部分を "" とすることで、同じシークレットが二つの
|
|
場所で必要とされることを避けることができます。
|
|
.LP
|
|
\fBlogin\fR オプションが使われている時には、更なる確認が行われます。
|
|
/etc/ppp/ppp.deny が存在して、ユーザがそこに記述されている場合、
|
|
認証は失敗します。 /etc/ppp/ppp.shells が存在して、ユーザの普通の
|
|
ログインシェルが記述されていない場合、認証は失敗します。
|
|
.LP
|
|
CHAP シークレットファイルからのシークレットの選択は
|
|
以下のように行なわれます。
|
|
.TP 2
|
|
*
|
|
相手側の認証を行なう場合には、CHAP-Response メッセージで指定された
|
|
名前がクライアント名と一致し、サーバ名がローカル名と一致する
|
|
シークレットを探します。
|
|
.TP 2
|
|
*
|
|
相手側に自分を認証してもらう場合には、クライアント名がローカル名と
|
|
一致し、CHAP-Challenge メッセージで指定された名前がサーバ名と一致する
|
|
シークレットを探します。
|
|
.LP
|
|
認証は IPCP (またはその他の NCP) が開始される前に納得のいくように
|
|
完了している必要があります。
|
|
もしも認証に失敗すると、\fIpppd\fR は (LCP をクローズすることで)
|
|
リンクを切断します。
|
|
もし IPCP で得られたリモートホストの IP アドレスが受け入れられない
|
|
ものであった場合、IPCP はクローズされます。 IP パケットは IPCP が
|
|
オープンしている時だけ送受信可能です。
|
|
.LP
|
|
ローカルホストが一般的に認証を必要とする時でも、
|
|
接続を行い限定された IP アドレスの組の一つを使うために
|
|
自分自身の認証を行うことができないようないくつかのホストに対して、
|
|
接続を認める必要がある場合もあります。
|
|
もし相手側がこちらの認証要求を拒否した場合、\fIpppd\fR はそれを
|
|
ユーザ名とパスワードが空文字列である PAP 認証として扱います。
|
|
そこで、クライアント名とパスワードに空文字列を指定した 1 行を
|
|
pap-secrets ファイルに追加することで、自分自身の認証を拒否する
|
|
ホストにも制限つきのアクセスを許可することができます。
|
|
.SH 経路制御
|
|
.LP
|
|
IPCP negotiation が成功した場合、
|
|
.I pppd
|
|
はカーネルに、PPP インタフェースで用いるローカル IP アドレスおよび
|
|
リモート IP アドレスを通知します。これは、相手側と IP パケットを交換する
|
|
リンクのリモート終端への経路を作成するのに充分な情報です。
|
|
サーバ以外のマシンとの通信には、一般的にはルーティング
|
|
テーブルや ARP テーブルのさらなる更新が必要となります。
|
|
いくつかのケースでは、これらのテーブルの
|
|
更新は \fIrouted\fR や \fIgated\fR などのデーモンプロセスが
|
|
自動的に行なってくれます。
|
|
しかし、大半のケースでは、さらに何らかの介入が必要となります。
|
|
.LP
|
|
インターネットへの接続を PPP インタフェース経由のみで行なうマシンの
|
|
場合には、リモートホストを通る default route の追加が
|
|
しばしば必要となる場合があります。
|
|
\fBdefaultroute\fR オプションは、IPCP が完了した際に \fIpppd\fR に
|
|
そのような default route を作成させ、リンクが切断されたときには
|
|
その default route を削除させます。
|
|
.LP
|
|
例えばサーバマシンが LAN に接続されている場合、LAN 上の他のホストが
|
|
リモートホストと通信できるようにするために proxy ARP の使用が
|
|
必要な場合もあります。
|
|
\fBproxyarp\fR オプションを指定すると、\fIpppd\fR はリモートホストと
|
|
同一サブネット上にある ( ブロードキャストと ARP をサポートし、動作中
|
|
かつ point-to-point やループバックでない ) ネットワークインタフェースを
|
|
探します。そのようなインタフェースが見つかった場合、\fIpppd\fR は
|
|
恒久的に公開された ARP エントリとしてリモートホストの IP アドレスと
|
|
その見つかったネットワークインタフェースのイーサネット (MAC) アドレスを
|
|
登録します。
|
|
.SH 使用例
|
|
.LP
|
|
もっとも単純な場合では、2 つのマシンのシリアルポートをつなぎ、
|
|
それぞれのマシンで以下のようなコマンドを実行します。
|
|
.IP
|
|
pppd /dev/ttya 9600 passive
|
|
.LP
|
|
ただしそれぞれのマシンにおいて、シリアルポートで \fIgetty\fR が
|
|
走っていないものと仮定しています。
|
|
もし片方のマシンで \fIgetty\fR が走っている場合、
|
|
\fIkermit\fR や \fItip\fR などの通信プログラムを用いて \fIgetty\fR が
|
|
走っているマシンにログインし、次のようなコマンドを実行します。
|
|
.IP
|
|
pppd passive
|
|
.LP
|
|
それから通信プログラムを終了し、( コネクションが切断されていないことを確
|
|
認して ) 次のようなコマンドを実行します。
|
|
.IP
|
|
pppd /dev/ttya 9600
|
|
.LP
|
|
もう一方のマシンへのログインおよび \fIpppd\fR の開始処理は、
|
|
\fBconnect\fR オプションを使用して \fIchat\fR スクリプトを起動することで
|
|
自動化できます。
|
|
例 :
|
|
.IP
|
|
pppd /dev/ttya 38400 connect 'chat "" "" "login:" "username"
|
|
"Password:" "password" "% " "exec pppd passive"'
|
|
.LP
|
|
(ただし、このように chat プログラムを起動すると、パスワードの文字列が
|
|
pppd や chat のパラメータリスト (ps 等の出力で得られます ) で
|
|
見えてしまうことに注意して下さい。)
|
|
.LP
|
|
もしあなたのシリアルコネクションがケーブル一本でなく、もっと複雑な場合には、
|
|
いくつかのコントロールキャラクタがエスケープされるように
|
|
準備しておく必要があります。とりわけ、XON (^Q) および XOFF (^S) を、
|
|
\fBasyncmap a0000\fR を用いてエスケープすることはしばしば有効です。
|
|
パスが telnet を含む場合には、 ^] キャラクタも同様にエスケープ
|
|
(\fBasyncmap 200a0000\fR を指定 ) する必要があるでしょう。
|
|
パスが rlogin を含む場合には、rlogin クライアントの動作している側の
|
|
ホストで \fBescape ff\fR を指定する必要があるでしょう。これは、多くの
|
|
rlogin の実装がネットワーク透過でないためです。
|
|
それらの rlogin では、 0xff, 0xff, 0x73, 0x73 とそれに続く 8 バイトの
|
|
シーケンスをストリームから取り除きます。
|
|
.SH 診断
|
|
.LP
|
|
メッセージは LOG_DAEMON ファシリティを用いて syslog デーモンに
|
|
送られます (これは希望するファシリティを LOG_PPP マクロとして定義し、
|
|
\fIpppd\fR を再コンパイルすることで変更することができます)。
|
|
エラーメッセージやデバッグメッセージを見るためには、
|
|
/etc/syslogd.conf ファイルを編集して pppd からのメッセージが
|
|
希望する出力デバイスやファイルに書き出されるようにしておく必要があります。
|
|
.LP
|
|
\fBdebug\fR オプションは送受信されるすべての制御パケットの内容が
|
|
ログに記録されるようにします。対象となる制御パケットは、
|
|
すべての LCP, PAP, CHAP, IPCP パケットです。
|
|
この機能は、PPP ネゴシエーションがうまくいかない場合の原因究明に
|
|
効果的でしょう。
|
|
コンパイル時にデバッギングオプションを有効にしていた場合には、
|
|
\fBdebug\fR もまた他のデバッグメッセージを記録するために使われます。
|
|
.LP
|
|
.I pppd
|
|
プロセスに SIGUSR1 シグナルを送ってデバッギングを有効にすることが
|
|
できます。これはトグル動作します。
|
|
.SH 関連ファイル
|
|
.TP
|
|
.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
|
|
ppp インタフェースユニット \fIn\fR に対応する \fIpppd\fR プロセスの
|
|
プロセス ID が記録されます。
|
|
.TP
|
|
.B /var/run/tty\fIXn\fB.if \fR(BSD or Linux), \fB/etc/ppp/tty\fIXn\fB.if \fR(others)
|
|
シリアルデバイス /dev/tty\fIXn\fR 上の \fIpppd\fR プロセスのための
|
|
インタフェースです。
|
|
.TP
|
|
.B /etc/ppp/ip-up
|
|
そのリンクで IP パケットの送受信が行なえるようになった時
|
|
(IPCP が完了した時 ) に実行されるプログラムまたはスクリプトです。
|
|
これは
|
|
.IP
|
|
\fIinterface-name tty-device speed local-IP-address
|
|
remote-IP-address\fR
|
|
.IP
|
|
をパラメータに与えて標準入力をつかって実行されます。
|
|
出力とエラー出力は、 \fB/dev/null\fR にリダイレクトされます。
|
|
.IP
|
|
このプログラムまたはスクリプトは、pppd と同一の実ユーザ ID および実効
|
|
ユーザ ID で実行されます。
|
|
つまり、少なくとも実効ユーザ ID は \fBroot\fR であり、
|
|
できれば実ユーザ ID も \fBroot\fR であることが望まれます。
|
|
これは、経路情報を変更したり、( 例えば sendmail のような ) 特権デーモン等を
|
|
動作させたりするのに必要だからです。
|
|
/etc/ppp/ip-up や /etc/ppp/ip-down スクリプトの内容については、
|
|
システムのセキュリティを危うくしないよう注意して下さい。
|
|
.TP
|
|
.B /etc/ppp/ip-down
|
|
そのリンクで IP パケットの送受信ができなくなった場合に実行される
|
|
プログラムまたはスクリプトです。
|
|
このスクリプトは /etc/ppp/ip-up スクリプトで行なった変更を
|
|
元にもどすために用いられます。
|
|
これは ip-up と同じパラメータを与えて実行されます。
|
|
なお、\fIpppd\fR と同じ実効ユーザ ID および実ユーザ ID で実行されるため、
|
|
ip-up スクリプトと同様にセキュリティ上の考慮が必要になります。
|
|
.TP
|
|
.B /etc/ppp/pap-secrets
|
|
PAP 認証で使用するユーザ名、パスワード、IP アドレスを格納します。
|
|
.TP
|
|
.B /etc/ppp/chap-secrets
|
|
CHAP 認証で使用する名前、シークレット、IP アドレスを格納します。
|
|
.TP
|
|
.B /etc/ppp/options
|
|
.I pppd
|
|
のシステムデフォルトオプションを記述します。このファイルは、コマンド
|
|
ラインのオプションが解釈される前に読み込まれます。
|
|
.TP
|
|
.B ~/.ppprc
|
|
ユーザごとのデフォルトオプションを記述します。このファイルは、コマンド
|
|
ラインのオプションが解釈される前に読み込まれます。
|
|
.TP
|
|
.B /etc/ppp/options.\fIttyname
|
|
各シリアルポートのシステムデフォルトオプションを指定します。
|
|
このファイルは、コマンドラインのオプションが解釈された後で読み込まれます。
|
|
.TP
|
|
.B /etc/ppp/ppp.deny
|
|
システムのパスワードによる PAP 認証を使わせないユーザを記述します。
|
|
.TP
|
|
.B /etc/ppp/ppp.shells
|
|
システムのパスワードによる PAP 認証ログインのために適切なシェルを
|
|
記述します。
|
|
.SH 関連項目
|
|
.IR chat(8),
|
|
.IR ppp(8)
|
|
.TP
|
|
.B RFC1144
|
|
Jacobson, V.
|
|
.I Compressing TCP/IP headers for low-speed serial links.
|
|
1990 February.
|
|
.TP
|
|
.B RFC1321
|
|
Rivest, R.
|
|
.I The MD5 Message-Digest Algorithm.
|
|
1992 April.
|
|
.TP
|
|
.B RFC1332
|
|
McGregor, G.
|
|
.I PPP Internet Protocol Control Protocol (IPCP).
|
|
1992 May.
|
|
.TP
|
|
.B RFC1334
|
|
Lloyd, B.; Simpson, W.A.
|
|
.I PPP authentication protocols.
|
|
1992 October.
|
|
.TP
|
|
.B RFC1548
|
|
Simpson, W.A.
|
|
.I The Point\-to\-Point Protocol (PPP).
|
|
1993 December.
|
|
.TP
|
|
.B RFC1549
|
|
Simpson, W.A.
|
|
.I PPP in HDLC Framing.
|
|
1993 December
|
|
.SH 注意
|
|
以下のシグナルが
|
|
.I pppd
|
|
プロセスに送られた場合、ここで説明する効果が得られます。
|
|
.TP
|
|
.B SIGINT, SIGTERM
|
|
これらのシグナルを受信した場合、\fIpppd\fR は (LCP をクローズすることで )
|
|
リンクを切断し、シリアルデバイスの設定を復元して、プログラムを終了します。
|
|
.TP
|
|
.B SIGHUP
|
|
物理層のリンク切断を指示します。\fIpppd\fR はシリアルデバイスの設定を復元し、
|
|
プログラムを終了します。
|
|
\fBpersist\fR オプションが指定されている場合、 \fBpppd\fR は
|
|
シリアルデバイスを再オープンし、新しい接続を始めようとします。
|
|
そうでない場合は、 \fBpppd\fR は終了します。
|
|
.B SIGUSR2
|
|
このシグナルは、
|
|
.B pppd
|
|
に圧縮に付いて再交渉させます。これは、致命的な伸長エラーの結果として
|
|
圧縮を止めた後で、再び圧縮を有効にするために便利です。
|
|
BSD 圧縮方式では、致命的な伸長エラーは一般にどちらかの実装上の
|
|
バグである可能性を示します。
|
|
.\".SH バグ
|
|
.\"モデム制御線の使用と \fBmodem\fR オプション、\fBlocal\fR オプションの
|
|
.\"動作については、はっきりとは定義されていません。
|
|
.\"(訳中)前記原文には確認できないので、コメントアウトした。
|
|
.\" 2.2.1R 対象(1997/05/26) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
|
|
.SH 作者
|
|
Drew Perkins,
|
|
Brad Clements,
|
|
Karl Fox,
|
|
Greg Christy,
|
|
Brad Parker ,
|
|
Paul Mackerras (paulus@cs.anu.edu.au)
|