Provided by:
manpages-ja_0.5.0.0.20070415-1_all 
前
pppoe - ユーザー空間 PPPoE クライアント
式
pppd pty 'pppoe [pppoe_options]' [pppd_options]
pppoe -A [pppoe_options]
明
pppoe は、PPPoE (Point-to-Point Protocol over Ethernet) の
ユーザー空間クライアントであり、 Linux やその他の UNIX
系システムで利用でい襦 pppoe は、イーサーネット上で PPP 接続を提供する
PPP デーモン pppd と関連して動作する。 このような pppd は多くの ADSL
サービス提供業者で使われている。
-I interface
-I
オプションは、使用するイーサーネットインターフェースを指定する。
Linux 上では、eth0 や eth1 が一般的である。 インターフェースは
pppoe を開始する前に 「アップ
(起動)」しておかなければならないが、 IP
アドレスを設定してはぁ
-T timeout
-T オプションを用いると、 セッション中に timeout
秒間データのやりとりがない場合に pppoe を終了する。
このオプションはおまけの安全装置として用いることを薦める。
ただし利用する場合は、PPP がたくさんのトラフィックを通していて、
通常はタイムアウトが起こらないであろう事を確認しておくように。
一番良い方法は lcp-echo-interval オプションをつけて pppd
を実行することである。 PPPeE タイムアウトは LCP echo interval の
4 倍程度に設定するのが良い。
-D file_name
-D オプションを用いると、 全てのパケットが指定したファイル
file_name に書そ个気譴襦
このオプションはデバッグ専用のものである。
このオプションを用いると、大量の出力が行われて、非常に-
能が下がる。
-V -V オプションを用いると、 pppoe
はバージョン番号を表示して終了する。
-A -A オプションを用いると、 pppoe は PADI パケットを送信して、
(返信されてい) 受信 PADO パケットにあった
アクセス集信装置の名前を表示する。 このオプションを pppd
と組み合わせて使ってはならない。 -A
オプションは、アクセス集信装置についての重要な情報を
対話的に取得することを目的としている。
-S service_name
使いたいサービスの名前を指定する。 pppoe
は、指定したサービスを提供する
アクセス集信装置とのセッションを初期化するだけである。
多くの場合、このオプションを指定するべぁ
複数のアクセス集信装置があることが解っている場合や、
特別なサービス名が必要であることが解っている場合にのみ、
このオプションを使うべい任△襦
-C ac_name
使いたいアクセス集信装置の名前を指定する。 pppoe
は、アクセス集信装置とのセッションを初期化するだけである。
多くの場合、このオプションを指定するべぁ
複数のアクセス集信装置があることが解っている場合にのみ、
このオプションを使うべい任△襦 -S オプションと -C
オプションを両方指定した場合、 pppoe
が接続を初期化するためには、 縫泪奪舛垢詆要がある。
-U このオプションを指定すると、 pppoe は discovery パケット中の
Host-Uniq タグを使う。 これを用いると複数の pppoe
デーモンを起動し、 それぞれの discovery
パケットが混信しないようにでい襦 複数の pppoe
デーモンを同時に実行しようとする場合には、 _ pppoe
デーモンにこのオプションを付けなければならない。
-s このオプションを指定すると、pppoe は _PPP カプセル化を使う。
このオプションを使う場合、 pppd に sync
オプションをつけなければぁ もし動作するならば、 pppoe の
CPU オーバーヘッドを減らすことがでい襪里如
このオプションを用いることを推奨する。
しかし、遅いマシンでは信頼世な い -- pppd
によるデータの書すみと pppoe によるデータの読み込みに、
競合状態が起こるかもしれない。
のこのような理由により、デフォルトの設定は非同期である。 同期
PPP でバグがあったりクラッシュしたりしたら、同期をオフにすること
-- 同期のサポートについて私に E メールを送らないこと !
-m MSS このオプションを指定すると、 pppoe は TCP maximum segment size
(最大セグメントサイズ) を 指定した値に_(clamp) する。 PPPoE
のオーバーヘッドにより、PPPoE の最大セグメントサイズは
通常のイーサーネットカプセル化のものより小さい。 このため、PPPoE
を使ったゲートウェイの後にある LAN 上のマシンで問題が発生する。
ゲートウェイの後ろに LAN があり、 ゲートウェイが PPPoE
を使ってインターネットに接続されている場合、 -m 1412
オプションを使うことを強く推奨する。 これにより、LAN
上の全てのホストが MTU を設定するのを避けられる。
-p file
このオプションを指定すると、 pppoe はプロセス ID
を指定したファイルに書そ个后 pppoe のプロセス ID を取得したり
kill したりするのに使うことがでい襦
-e sess:mac
このオプションを指定すると、 pppoe は発見 (discovery)
の段階を省略して、セッションの段階に移る。 セッションは sess
で指定され、 接続先の MAC アドレスは mac で指定される。
このモードは通常の使用を意図したものぁ これは pppoe-
server(8) のために設計されている。
-n このオプションを指定すると、 pppoe は discovery
ソケットをオープンしない。
このモードは通常の使用を意図したものぁ これは pppoe-
server(8) のために設計されている。
-k このオプションを指定すると、 pppoe
はセッションを終了して自らも終了するために、 PADT
フレームを送って終了する。 このオプションは、kill
するセッションを指定するために -e
オプションと組み合わせて使わなければならない。
このオプションは、バグのある接続先が セッションを終了で-
ない場合に役立つ。
-d このオプションを指定すると、 pppoe
はセッション情報を標準出力に書そ个靴晋紊法
発見を行って終了する。 表示されるセッション情報は、 -e
オプションで用いられる形式と全く同じである。 このオプションは
PPPoE の発見を初期化して、 その他の処理を行った後で、実際の PPP
セッションを開始する。 函
このオプションをループ中で使うと、
接続先を悩ませるような多くのセッションを作ってしまう。
-f disc:sess
-f オプションは、PPPoE の discovery フレームと session
フレームで使う イーサーネットフレームタイプを設定する。
タイプはコロンで区切られた 16 進数で指定する。 標準的な PPPoE
では、フレームタイプ 8863:8864 を使う。
接続先が標準的でないフレームタイプを使っていることが はっ-
り解っている場合以外は、 ぁ
使用している ISP (インターネットサービス提供業者) が
標準的でないフレームタイプを使っている場合は、苦情を言った方がよい
!
-h -h オプションを指定すると、 pppoe は使用法を表示して終了する。
PPPOE 景
PPPoE (Point-to-Point Protocol over Ethernet) は RFC 2516 に-
述されている。 このプロトコルは、ブリッジしたイーサーネットワーク上で
セッションを抽象化して維持でい襦
PPPoE は PPP フレームをイーサーネットフレームで
カプセル化することにより動作する。
このプロトコルには、と鵑箸い 2 つの異なるステージがある。
発見ステージでは、ホストは屬鯣見するために 特別な PADI
(PPPoE Active Discovery Initiation) フレームを ブロードゥ礇好箸垢襦
(一般的には、ただ 1 つの) アクセス集信装置が PADO (PPPoE Active Discov-
ery Offer) パケットを返し、
集信装置が存在することとサービスを提供することを知らせる。
ホストはアクセス集信装置を 1 つ選び、セッションを開いてもらうために
PADR (PPPoE Active Discovery Request) パケットを送る。
アクセス集信装置は PADS (PPPoE Active Discovery Session-Confirmation)
パケットで応答する。 この後、プロトコルはセッションステージに移行する。
セッションステージでは、ホストとアクセス集信装置の間で
イーサーネットフレームに埋め込まれた PPP フレームがやりとりされる。
通常のイーサーネット MTU は 1500 バイトであるが、 PPPoE
のオーバーヘッドに加え、 カプセル化された PPP フレームによる 2
バイトのオーバーヘッドがあるので、 PPP インターフェースの MTU は最大
1492 バイトになる。 Linux
マシンをファイアーウォールとして使用しており、
ファイアーウォールの背後にあるインターフェースの MTU が 1492 より大-
いと、蠅発生しうる。
実際、安全のためにファイアーウォールの後ろのマシンの MTU を 1412
に指定しておくことを推奨する。 これにより、ヘッダに TCP オプションと IP
オプションが入るという 最阿両豺腓盖容でい襦
通常 PPP は接続をシャットダウンするために Link Control Protocol (LCP)
を使う。 しかし PPPoE の仕様では、接続をシャットダウンするために 特別な
PADT (PPPoE Active Discovery Terminate) パケットを
使うことも許されている。 このクライアントは、PPP
セッションに対する終了要求を受け取ると、 PADT
パケットを認識して正しくセッションを終了する。
標
この PPPoE クライアントの設計目標は以下の通りである。
重要なものから順に並べてある:
o 動作すること。
o ユーザー空間のプログラムであり、カーネルへのパッチにはしない。
o コードを読みやすくメンテナンスしやすくする。
o 提案されている PPPoE 規格、RFC 2516 に完全に準拠する。
o 絶対にハングアップしない --
接続が切れた場合でも、検知して終了する。
接続を再開するラッパースクリプトを使えるようにする。
o 能率を高くする。
これらの目標をすべて達成していると考えているが、
指摘・パッチ・アイディアなどがあれば (もちろん) 受け入れる。
連絡を取るための情報については、私のホームページ http://www.roaringpen-
guin.com を参照すること。
意
最良の結果を得るためには、pppd の mtu オプションを 1492
にしなければならない。 このオプションを設定しなかった場合、 非常に大-
なフレームを受け取るといった問題があった。 さらに、pppoe
がファイアーウォール上で動作している場合、
ファイアウォールの背後のマシンは MTU を 1412 にしておくべい任△襦
問題がある場合は、システムログをチェックすること。 pppoe は重要なことを
syslog に杵燭靴討い襦 診断を完全にするためには、debug
レベルのメッセージを 杵燭任るようにしておいた方がよい。
pppoe は、Luke Stras による初期のバージョンに示唆を受けて、 David F.
Skoll <dfs@roaringpenguin.com> によって作成された。
pppoe のホームページは http://www.roaringpenguin.com/pppoe/ である。
adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-
relay(8)