pppoe-relay(8) ユーザー空間 PPPoE リレーエージェント

書式

pppoe-relay [options]

説明

pppoe-relay は Linux で使われる PPPoE (Point-to-Point Protocol over Ethernet) の ユーザー空間リレーエージェントである。 pppoe-relay はクライアント pppoe と サーバー pppoe-server と連携して動作する。 pppoe-relay の動作についての詳細は、 このマニュアルで後にでてくる「動作」のセクションを参照すること。

オプション

-S interface
イーサーネットインターフェース interfacepppoe-relay が管理するインターフェースのリストに追加する。 PPPoE サーバーだけが、このインターフェースに接続できる。

-C interface
イーサーネットインターフェース interfacepppoe-relay が管理するインターフェースのリストに追加する。 PPPoE クライアントだけが、このインターフェースに接続できる。

-B interface
イーサーネットインターフェース interfacepppoe-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/ である。