PPPoEのマルチセッション!! イイ(・∀・)!!
linuxのルータ構築で、PPPoEのマルチセッションについて調べたメモです。
最初は戸惑いましたが、分かってみたらとても簡単でした。
CentOS 5.3です。(・◇・)
linuxでPPPoEセッションを張るときは、adsl-setupかpppoe-setupのどちらかで
作っていくと思います。今回はとりあえず1回線分は張れている事を前提とします。
adsl-setupの場合(設定)
/etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/ppp/chap-secrets /etc/ppp/pap-secrets
上記ファイルがあるはずです。
ここからマルチに持っていくのはとても簡単です。
#cd /etc/sysconfig/network-scripts #cp ifcfg-ppp0 ifcfg-ppp1
とりあえず、ifcfg-pppをコピーにより増やします。
そして中身をちょっと編集します。
USERCTL=yes BOOTPROTO=dialup NAME=DSLppp1 ←ppp1に変更!! DEVICE=ppp1 ←ppp1に変更!! TYPE=xDSL ONBOOT=no PIDFILE=/var/run/pppoe-adsl.pid2 ←被らない名前に変更!! FIREWALL=NONE PING=. PPPOE_TIMEOUT=80 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 DEFROUTE=yes ←yesでもnoでも構わない(どういうマルチ接続にするか次第) SYNCHRONOUS=no ETH=eth0 ←ppp0と同じでも、違えても構わない。 PROVIDER=DSLppp1 ←ppp1に変更!! USER=XXXXXXXXXXXX ←もう1つの回線の契約者IDに変更!! PEERDNS=no DEMAND=no
次は、chap-secretsとpapsecretsの方も編集します。
ってゆーか、このファイルにはIDとパスワードのセットが入っているだけなので、
増やしたい回線のそれを1行追加すればOKです。
#cd /etc/ppp #vi chap-secrets ←開いて1行追加するだけ。 #vi pap-secrets ←開いて1行追加するだけ。
これでセットアップは完了です。
adsl-setupの場合(起動と終了とステータス)
ファイルを指定してコマンドを実行するだけです。
これで2回線分のセッションが腫れます。
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0 adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp1
終了もファイル指定です。
adsl-stop /etc/sysconfig/network-scripts/ifcfg-ppp0 adsl-stop /etc/sysconfig/network-scripts/ifcfg-ppp1
ステータス確認も同様
adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp1
pppoe-setupの場合(設定)
/etc/ppp/pppoe.conf /etc/ppp/chap-secrets /etc/ppp/pap-secrets
上記ファイルがあるはずです。
因みにpppoe-setupで作ると、ifcfg-pppのファイルは無いです。(・◇・)
ここからマルチに持っていくのは簡単です。
お察しの通り、pppoe.confファイルをコピーで増やして中身をちょっと修正するだけです。
因みにコピー後のファイル名は何でも良いです。
但し、使う使わないはともかく「pppoe.conf」という名前のファイルが無いと、次回pppoe-setupを
実行しようとした時に怒られるので注意です。
#cd /etc/ppp #cp pppoe.conf pppoe1 #cp pppoe.conf pppoe2
こんな感じで、pppoe1とpppoe2を作り、pppoe2の中身の方を修正しました。
※pppoe.confは以降触らないでそっとしておく。(・◇・)
修正の中身は・・・、ファイルを開けば判ると思います。
pppoe-setupの場合(起動と終了とステータス)
こっちも、ファイルを指定してコマンドを実行するだけです。
これで2回線分のセッションが腫れます。
pppoe-start /etc/ppp/pppoe1 pppoe-start /etc/ppp/pppoe2
終了もファイル指定です。
pppoe-stop /etc/ppp/pppoe1 pppoe-stop /etc/ppp/pppoe2
ステータス確認も同様
pppoe-status /etc/ppp/pppoe1 pppoe-status /etc/ppp/pppoe2
補足事項
- 設定ファイルと「ppp0」「ppp1」の関連
セッションを張った後にifconfigコマンドで確認が出来ますが、ここでの「ppp0」「ppp1」は、
ifcfg-ppp0がppp0に(pppoe1がppp0に)対応しているのかと思いきやそうでは無いです。
セッションを張った順番に「ppp0」「ppp1」って感じになるだけです。
ちょっとややこしいので注意です。
- デフォルトルートの指定
設定ファイルifcfg-pppXやpppoeXの中に、「DEFROUTE=yes」の指定がありますが、
これが「yes」だと、そのファイルで起動を掛けた時に、そのpppがデフォルトルートに為る
というものです。
なので全部の設定ファイルが「DEFROUTE=yes」だったとしたら、一番最後のやつがデフォルトルート
になります。
但し、/etc/sysconfig/networkファイル内の「GATEWAY」が指定してあると、常にそこが有効らしく、
PPPoEでセッションを張っても、期待するゲートウェイになってくれなかったです。
なので自分は、/etc/sysconfig/networkの方はコメントアウトにしました。
- セッションを張った中でゲートウェイを動かしたい場合
常にどこか1箇所からしか出力しないのでは、マルチセッションの意味が半減です。
出力先に合わせて動的にゲートウェイを変更するには、ipコマンドによるルーティングの設定が
必要になります。
これに関しては、次回に持ち越します。(・◇・)ノ
取りあえず今回はPPPoEのマルチセッションの方法までとします。<(;_ _)>