Recent Comments

Profile

名前:げんき
職業:ねじ屋さん
趣味:機械いじり
  買ったものや試したことを日記混じりで書きつづっております。

中の人

なかのひと
Graph 2012.2.6
Year:  Month:  Day

<<< dynabookSS1610にBluetooth内蔵 その2 <<<  ||  >>> 買った:dynabookSS 2120 DS11L/2 >>>

Linux:PPPの自動再接続

2009年05月17日

Linuxルータで常時接続しているのだけど、不意のフリーズとかで無理矢理リセットで再起動したとき、PPP接続が確立しないことがある。
再起動前に切断処理をしてないから、ISPにセッションが残っちゃってつながらないのかな?
まぁ、原因はどうであれ繋がりゃいいので、繋がるまで再接続という強引な手段で解決する。

やりたいことは、
・ifconfigでppp0のIPアドレス確認
・繋がってなかったらifdown ppp0;ifup ppp0してやる。

なわけだけど、うちではnifty(ppp0)とinterlink(ppp1)の2つの固定IPアドレスを使ってて、これがなぜかppp0の接続が無い状態でifup ppp1すると、interlinkがppp0になってしまう。
これもiptableの転送がうまくいかなくなるので、解決せんといかん。
ということで、

・ifconfigでppp0,ppp1のアドレス確認
・ppp0がダメなときは、ppp0,ppp1を両方ifdownしてからifupする
・ppp0はokだがppp1がダメなときは、ppp1だけifdown,ifupする
・処理した後は、すぐにIPアドレスチェックのとこまで戻る
・せっかくなので、無限ループにしといて5分毎ぐらいにチェックし続ける

最後の無限ループの件は、まぁ一番危険なのはオカンが掃除機でCTUの電源を抜いたとか、そーゆーときの対処のため。

実装
auto_reconnect_ppp.php
こんな感じのスクリプトを書いて、

$ sudo vi /etc/rc.local
# ppp自動再接続
cd /home/genkikko/program_files/ ; ./auto_reconnect_ppp.php &
ってしといて、毎度起動後にバックグラウンドで動かしとく。

まだ作っただけで動作確認できてないけど、たぶんいけるでしょ。たぶん。

<<< dynabookSS1610にBluetooth内蔵 その2 <<<  ||  >>> 買った:dynabookSS 2120 DS11L/2 >>>

アンケート

このページの内容はいかがでしたか?
片手間にポチっと送信してやってください。
役に立った 2
おもしろかった 0
ふつー 0
つまらなかった 0
欲しい情報と違った 0
Score:4

トラックバック

このエントリーのトラックバックURL:
http://www.genkikko.net/mt/mt-tb.cgi/141

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)