PPPoEマルチセッションで回線増強
あけましておめでとうございます。
しかし、新年早々あまりめでたくないネットワークトラブルのお話から・・・
昨日1/7 21時頃~1/8 0時頃まで、PhotoXP掲示板やこのblogの表示が非常に遅い状態が続いていたのですが、どうやら1年半ほど前に帯域制限かけられた時と同じく、プロバイダーの帯域制限にひっかかってしまったようです。
グラフで見ると、月曜日(Mon)はきっかり帯域1Mbpsで抑えられてるのが分かりますね・・・
最近は投稿画像の枚数も増えてきて、1日のデータ転送量が十数GBに達する事もあるので、個人向けのBフレッツで運用している以上文句も言えないのかなと思い、急遽別のISPを契約して1つのサーバに2個の固定IPアドレス/PPPoEセッションを持たせて乗り切る事にしました。
以下、その記録です。(Linux/Fedora Core 6での例)
まず固定IPの使えるISPを調査(DynamicDNSでも良いのですが、一応安定性を考えて固定IPで)。EditNetという所が安そうだったのでここに決定。オンラインサインアップでBフレッツのPPPoE用アカウントとパスワードを発行してもらい準備完了。
まず、サーバに2本目のPPPoE設定を行う。ppp0の設定を元にppp1用の設定ファイルを作るため、まずはコピー
次に、以下の設定項目をppp1用に編集、default routeやDNS(resolv.conf)はnoと書いてppp1接続確立時にppp1のISPに書き換えないようにするのがポイントです。
これで、ppp1用に割り当てられたIPへのアクセスのみ2つ目のプロバイダー回線を通るようになります。
さらに、パスワードは/etc/ppp/pap-secrets, chap-secretsに記述して設定完了。
adsl-startコマンドでPPPoE接続を有効にします。
ifconfigコマンドで確認。
ppp1インターフェースが表示されて、inet addrに正しくIPアドレスが表示されていれば繋がっているはず。
別のネットワークから、ブラウザに直接 http://[IPアドレス]/と入力してみたり、pingを打ってみたりして疎通確認をしてみましょう。
うまく行かない場合は、/var/log/messages にエラーが出力されているはずなので確認します。
これで、2つのIPのどちらでも同じ自宅サーバにアクセスできるようになったので、PhotoXP掲示板の画像は全てhttp://[ppp1のIPアドレス]/image/foo/bar.jpgといった名前でアクセスするようにphotoxpのconfig.rb内のIMAGE_URLを変更して完了です。
以上、負荷分散や片方のISPの障害時の対応等を考えると、もう少しやれる事はあるかと思いますが、
Bフレッツで自宅サーバを運用している人向けの、安く簡単に自宅サーバの回線増強をする方法でした。
追記:
しかし、新年早々あまりめでたくないネットワークトラブルのお話から・・・
昨日1/7 21時頃~1/8 0時頃まで、PhotoXP掲示板やこのblogの表示が非常に遅い状態が続いていたのですが、どうやら1年半ほど前に帯域制限かけられた時と同じく、プロバイダーの帯域制限にひっかかってしまったようです。
グラフで見ると、月曜日(Mon)はきっかり帯域1Mbpsで抑えられてるのが分かりますね・・・最近は投稿画像の枚数も増えてきて、1日のデータ転送量が十数GBに達する事もあるので、個人向けのBフレッツで運用している以上文句も言えないのかなと思い、急遽別のISPを契約して1つのサーバに2個の固定IPアドレス/PPPoEセッションを持たせて乗り切る事にしました。
以下、その記録です。(Linux/Fedora Core 6での例)
まず固定IPの使えるISPを調査(DynamicDNSでも良いのですが、一応安定性を考えて固定IPで)。EditNetという所が安そうだったのでここに決定。オンラインサインアップでBフレッツのPPPoE用アカウントとパスワードを発行してもらい準備完了。
まず、サーバに2本目のPPPoE設定を行う。ppp0の設定を元にppp1用の設定ファイルを作るため、まずはコピー
$ cd /etc/sysconfig/network-scripts
$ sudo cp -p ifcfg-ppp0 ifcfg-ppp1
次に、以下の設定項目をppp1用に編集、default routeやDNS(resolv.conf)はnoと書いてppp1接続確立時にppp1のISPに書き換えないようにするのがポイントです。
これで、ppp1用に割り当てられたIPへのアクセスのみ2つ目のプロバイダー回線を通るようになります。
NAME=DSLppp1
DEVICE=ppp1
PIDFILE=/var/run/pppoe-adsl-ppp1.pid
DEFROUTE=no
PROVIDER=DSLppp1
USER=userid@yourprovider.ne.jp
PEERDNS=no
さらに、パスワードは/etc/ppp/pap-secrets, chap-secretsに記述して設定完了。
adsl-startコマンドでPPPoE接続を有効にします。
$ sudo /sbin/addl-start ifcfg-ppp1
ifconfigコマンドで確認。
$ /sbin/ifconfig -a
...
ppp0
...
ppp1 Link encap:Point-to-Point Protocol
inet addr:218.219.148.133 P-t-P:218.219.145.35 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1454 Metric:1
RX packets:431220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:28049357 (26.7 MiB) TX bytes:54 (54.0 b)
ppp1インターフェースが表示されて、inet addrに正しくIPアドレスが表示されていれば繋がっているはず。
別のネットワークから、ブラウザに直接 http://[IPアドレス]/と入力してみたり、pingを打ってみたりして疎通確認をしてみましょう。
うまく行かない場合は、/var/log/messages にエラーが出力されているはずなので確認します。
これで、2つのIPのどちらでも同じ自宅サーバにアクセスできるようになったので、PhotoXP掲示板の画像は全てhttp://[ppp1のIPアドレス]/image/foo/bar.jpgといった名前でアクセスするようにphotoxpのconfig.rb内のIMAGE_URLを変更して完了です。
以上、負荷分散や片方のISPの障害時の対応等を考えると、もう少しやれる事はあるかと思いますが、
Bフレッツで自宅サーバを運用している人向けの、安く簡単に自宅サーバの回線増強をする方法でした。
追記:
ある日突然ppp1回線が使えなくなったのでいろいろ試してみたところ、
以下を参考にソースルーティングの設定をする事で復旧しました。
http://dsas.blog.klab.org/archives/50326299.html
しかし、今まで何故ソースルーティング設定無しで動いてたのだろう。。。
以下を参考にソースルーティングの設定をする事で復旧しました。
http://dsas.blog.klab.org/archives/50326299.html
ip route add dev ppp1 table 100 ip rule add from www.xxx.yyy.xxx table 100 pref 100
しかし、今まで何故ソースルーティング設定無しで動いてたのだろう。。。
トラックバック(0)
このブログ記事を参照しているブログ一覧: PPPoEマルチセッションで回線増強
このブログ記事に対するトラックバックURL: http://www.daifukuya.com/photoxp/mt-tb.cgi/275

コメントする