10/10/27 19:44:30 OloZ36+N.net
卒検合格したし、ソースルーティングのやり方書くお。
eth0をLAN側、eth1をONU側として書いていく。
1.PPPoEマルチセッションで複数プロバイダに接続
これはただ単にinterfaces ethernet eth1 pppoeエントリを複数作るだけ。
メインのプロバイダを0、サブのプロバイダを1にした場合、設定する内容は同じようなもんだけど
通常出て行く方をメインにするためdefault-routeエントリを0にauto、1をnoneに設定しておく。
この時点で再起動なりして、ifconfigでpppoe0、pppoe1ともに
IPアドレスが取得できているか確認した方がいいかな。
2.ソースルーティングの設定
マスカレードの設定に、ソースルーティングしたいアドレスの範囲を記述する。
たとえば192.168.1.251~254に設定したい場合、service nat rule 2辺りに
outbound-interface pppoe1、source address 192.168.1.251-192.168.1.254、type masquerade
の3つのエントリを登録しておく。
rule 1の方はoutbound-interface pppoe0、type masqueradeのみで十分だと思う。
3.rootでの作業
たぶんここの作業が肝だと思う。
rootでログインしてifconfigして、pppoe1のinet addrもしくはP-t-Pで
出てくるIPアドレスをコピってくる。そのアドレスをaaa.bbb.ccc.dddとすると
ip rule add from 192.168.1.251 table 1 prio 10000
ip route add table 1 default via aaa.bbb.ccc.ddd
ip rule add from 192.168.1.252 table 2 prio 10001
ip route add table 2 default via aaa.bbb.ccc.ddd
といった感じでtable 4までコマンドを実行して、最後に/etc/init.d/networking restartで
設定を適用する。この辺はシェルスクリプト辺りで書いておくとコマンド1個でできて楽ちん。
あとは適当なマシンでIPを192.168.1.251~254に設定すれば、サブのプロバイダで
やり取りできるようになっているはず。
うちの環境は以上の作業でソースルーティングできてる、うまくいくか試してみてくれ。