pppoe-relay - ユーザー空間 PPPoE
リレーエージェント
pppoe-relay [options]
pppoe-relay は Linux で使われる PPPoE
(Point-to-Point Protocol over Ethernet) の
ユーザー空間リレーエージェントである。
pppoe-relay はクライアント
pppoe と サーバー
pppoe-server
と連携して動作する。
pppoe-relay
の動作についての詳細は、
このマニュアルで後にでてくる「動作」のセクションを参照すること。
- -S interface
- イーサーネットインターフェース
interface を pppoe-relay
が管理するインターフェースのリストに追加する。
PPPoE
サーバーだけが、このインターフェースに接続できる。
- -C interface
- イーサーネットインターフェース
interface を pppoe-relay
が管理するインターフェースのリストに追加する。
PPPoE
クライアントだけが、このインターフェースに接続できる。
- -B interface
- イーサーネットインターフェース
interface を pppoe-relay
が管理するインターフェースのリストに追加する。
PPPoE
クライアントとサーバーの両方が、このインターフェースに接続できる。
- -n num
- 最大 num 個の PPPoE
セッションを許可する。
指定されない場合のデフォルトは
5000 である。 num は 1 〜 65534
の範囲である。
- -i timeout
- セッションのアイドルタイムアウトを指定する。
セッションの接続先と接続元の両方が
timeout 秒以上
アイドルになっていた場合、そのセッションを終了する。
timeout を 0
に指定すると、
アイドルによりセッションが終了されることはない。
アイドルセッションの満了をチェックするルーチンは、
最も頻繁に実行されたとしても
30 秒に 1
回であるので、
最も短いタイムアウトの値もこれに近い。
timeout
のデフォルトの値は
600 秒 (10 分) である。
- -F
-
-F
オプションを指定すると、
pppoe-relay は
バックグラウンドに
fork されず、
フォアグラウンドに残ったままになる。
- -h
-
-h
オプションを指定すると、
使用法についての簡単なメッセージを表示して終了する。
pppoe-relay は、
-B または
-C
オプションで指定された
全てのインターフェースに入ってくる
PPPoE PADI
フレームを待ち受ける。
PADI
フレームが入ってくると、
pppoe-relay は Relay-Session-ID
タグを追加し、
-B
または
-S
オプションで指定された
全てのインターフェースに
PADI
をブロードキャストする。
(ただし PADI
フレームが入ってきたインターフェースは除く)。
受信した全ての PADO
フレームは、
(送られてきた PADI
フレームに有効な
Relay-Session-ID
タグがあると仮定して)
PADI
を送ってきたクライアントにリレーして戻される。
同様に、クライアントからの
PADR フレームは、
マッチしたアクセス集信装置にリレーして戻される。
PADS
フレームを受信すると、
pppoe-relay は
接続元と接続先の MAC
アドレスとセッション
ID を
ハッシュテーブルに入れる。
アクセス集信装置が監視するセッション
ID は、
クライアントが監視するセッション
ID
と異なるかもしれない。
pppoe-relay はセッション ID
が重複しないように
セッションの番号をふり直さなければならない。
接続元または接続先がセッションフレームを送信すると、
pppoe-relay
はハッシュテーブルにあるセッションエントリを参照し、
適切な接続相手にフレームを受け渡す。
PADT
フレームを受信すると、
pppoe-relay は 接続相手に PADT
フレームを受け渡し、
ハッシュテーブルからセッションエントリを削除する。
クライアントやサーバーがクラッシュした場合
(またはフレームが失われた場合)、
PADT
フレームは送信されず、
pppoe-relay
のハッシュテーブルは
失効したセッションで一杯になってしまう。
そのため、セッションを掃除するルーチンが定期的に実行され、
ハッシュテーブルから古くなったセッションを削除する。
timeout
秒間データが流れていない場合、
そのセッションは「古くなった」とされる。
タイムアウトによりセッションが削除される場合、
セッションが kill
されたことを知らせるために、
接続元と接続先に PADT
フレームが送られる。
pppoe-relay -C eth0 -S eth1
上記の例では、eth0
ネットワーク上の PPPoE
クライアントと eth1
ネットワーク上の PPPoE
サーバーの間でフレームが受け渡される。
pppoe-relay -B eth0 -B eth1
これは透過的なリレーの例である
-- eth0, eth1
ネットワークとクライアント・サーバーの
どの組み合わせでもフレームが受け渡される。
pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
この例では、eth0
ネットワーク上のサーバーと
eth1, eth2, eth3
ネットワーク上のクライアントの間で
フレームが受け渡される。
pppoe-relay は David F. Skoll <
[email protected]>
によって
作成された。
pppoe のホームページは
http://www.roaringpenguin.com/pppoe/ である。
adsl-start(8),
adsl-stop(8),
adsl-connect(8),
pppd(8),
pppoe.conf(5),
pppoe(8),
adsl-setup(8),
adsl-status(8),
pppoe-sniff(8),
pppoe-server(8)