PPPoE接続について( ´ω`)
どうにも接続断後の再接続に行ってくれないので調査した結果を残す。
1.読み込む設定
動きを確認するため、pppoe-statusの中身をたどってみた。
/etc/sysconfig/network-script/ifcfg-pppX
があれば、その中身を読み込んでいる。
ところが、-xオプションで確認すると読み込んでいないヨウス。
そしてそのままエラー終了となる。
仕方ないので続きを追うと
/etc/ppp/pppoe.conf
を読もうとしている。が、そんな物はないし作ってもいないが、
案の定、shareにテンプレートがあった。
試しに置いてみると、こちらは読み込み接続状況が表示される。
2.シェル
pppoe-status
とだけ打つと再接続する。
sh -x pppoe-status
で確認しようとすると、エラーで終了する。
スクリプトの中身を見て、bashとshの差だということに気がついた(‘A`)
bash -x pppoe-status
とすると、再接続にいく。
これでifcfgを読まないのに合点がいった。
3.オプションの内容
一番最初にpppoe-setupで作ったのだが、何処に何が作られたのか確認していない。
何となくifcfg-ppp0と、chap/papの中身だろうとだけ思っていた。
質問内容もよくわからないまま答えていったので、iptablesではまったわけだが・・・。
pppoe.confのテンプレも見つけたことだし、man読む。
pppoe-startなどを読むに、pppoe.confは書かずに、
ifcfg-pppXに書く(pppoe-setupで作る)のが今の流儀のヨウス
(ifcfg-pppXがpppoe.confを上書くので)。
なのでifcfg-ppp0を以下とした。
LCPによるハートビート間隔を短めにし、PPPoEクライアントのタイムアウトを伸ばし
接続断になりにくい状況を期待する。
USERCTL=no BOOTPROTO=dialup NAME=DSLppp0 DEVICE=ppp0 TYPE=xDSL ONBOOT=no PIDFILE=/var/run/pppoe-adsl.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=120 LCP_FAILURE=2 LCP_INTERVAL=10 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=0 DEFROUTE=yes SYNCHRONOUS=no ETH=eth0 PROVIDER=DSLppp0 USER=xxxxxxxxxxxxxx PEERDNS=no DEMAND=no DNSTYPE=SPECIFY DNS1=xxx.xxx.xxx.xxx DNS2=yyy.yyy.yyy.yyy LINUX_PLUGIN=/usr/lib64/pppd/2.4.5/rp-pppoe.so
3.kernel mode
試しに入れてみたものの、なんだかサイト表示に問題が生じだした。
表示出来ないサイトが徐々に増えて行く。
理由はさっぱりわからないが、LINUX_PLUGINを空にする(user mode?)と正常表示されるので
使わないことにした。別にCPU負荷もないし・・・。
manには2.4.xのexperimentalで未サポートともある・・・w
4.ログ
syslogに吐かれているのを今知ったww
大量に
pppoe[xxxxx]: Bad TCP checksum xxxx
と吐かれている。
SYNCHRONOUS=yesにすると良いとか、CLAMPMSS=noでkernel modeにすると良いとか
iptables側で設定すると良いとか、おまじない程度の情報しかない。
設定を見直しての再起動後、今のところ出ていないのでひとまず様子見。
これでダメならまた小細工してみるか・・・(´・ω・`)