[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:27165] PPPoE



フクイです。

ちょっと長くなってしまったので、結論から先に書いておきます。

Debian 使いでこれからフレッツ ADSL を導入される方はご注意下さい。
Debian の pppoe パッケージはバージョンがかなり古いので
最新版のソースを取ってきて使った方が無難かもしれません。

わが家では先先週からフレッツ ADSL が使えるようになりました。
PPPoE のクライアントが必要ということで
pppoe パッケージ(rp-pppoe がパッケージ化されたもの)を
インストールして使っていたのですが
なかなか思うようにならず苦労しました。

現象としては、
(1)つながったりつながらなかったりする
(2)一度つながらなくなると、繰り返し試してもずっとつながらない
(3)一度つながると、その後はずっと安定して通信できる
(4)つながらないときはしばらく(20分〜30分)ほっといてから
   試すとうまくいくことが多い
(5)pppoe でつながっているのを切断して、すぐまたつなごうとしてもダメ
(6)Windows の PPPoE クライアントでつながったのを切断して、次に
   Linux からつなごうとするとまず間違いなくつながる
(7)だめなときは /var/log/ppp-connect-errors に
   pppoe: Timeout waiting for PADO packets
   というログが残る
というものでした。

pppoe は、1.0-1(potatoの)と1.7-1(sidの)と両方試してみましたが
ダメでした。

ただ、(3)にもあるように、なんとか一度つなげてしまえば
後は問題なく使えていたので、まあこんなもんかと2週間ほどは
そのままになっていたのですが、今日ふと思い付いて
http://www.roaringpenguin.com/pppoe/
から最新版(2.8)のソースを取ってきて使ってみたところ
上の問題がきれいに解消しました。

# ソースから入れるのならば、NTT が送ってきた CD-ROM に入っていた
# Linux 用 PPPoE クライアント(rp-pppoe ではない)
# を使うのでも一緒のような気もしないではないですけど。
# (ちなみにそっちはまだ試してません。)

CHANGES をみると
Changes from Version 1.7 to 1.8:
に
- Made pppoe send a PADT frame if connection is terminated
というや
Changes from Version 1.8 to 1.9:
に
- SIGHUP terminates pppoe after sending a PADT to the access concentrator
というのがあり、どうもこの辺が臭そうです。
(PADT パケットというのはセッションの解放を通知するためのものです。)

現象(7)にある PADO パケットというのは、接続先を探すためにこちらから
投げる PADI パケットへの返答だそうです。で、そいつが返ってこないから
つながらない、と。
フレッツ ADSL では、セッションが確立しているホストへは
PADO パケットを返してくれないそうで、バージョンの古い
rp-pppoe は PADT パケットを投げないのでセッションが切れたことに
ならなくて、次からつながらなくなるのかなあと考えています。

# しばらくほっとくとちゃんとセッションが切れるのかなあ(現象(4))とか
# Windows のクライアントはきちんとセッションを切ってくれるから
# 次つながるんだろうな(現象(6))とか考えるとつじつまは合ってます。

他に pppoe でフレッツ ADSL につないでいるという方おられませんか?

+------------------------------------+
 福居毅至
 E-mail: tfukui@xxxxxxxxxxxxxxxxxxxxx
+------------------------------------+