書式
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/ である。