[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:29751] Re: Multi Routing



川辺と申します。

>>>>> ChanChan KO <chanchan@xxxxxxxxxxxxxxxxxxxx> writes:

>   という経路制御(勿論、Destination IPでの経路制御も含む)を行なおうかと
> 思っているのですが、適切な設定ができるソフトや解説したドキュメントについ
> ての知識がないのでお教え頂けないでしょうか?

カーネル(2.4.x)に
CONFIG_IP_ADVANCED_ROUTER=y
を加えて、

iproute2 パッケージをインストールして、ルーティングを全てこれで行えば
出来るんじゃないかと思います。
# ifup/ifdownで使う network ファイルのディフォルトルーティングは外し
# た方がいいと思います。(ちょっとトラブった。)

>   要は、Policy Routingでパケットを振り分けたいのです…それも同じPortの
> InとOutで違う経路制御が必要そうなのです

私の場合、自宅と会社で複数の経路を持っていますが、それぞれプロバイダか
らもらったIPアドレスなので、別のIPをソースに持つパケットが通りませんで
した。その結果、外へのコネクション要求は、速い方の経路にして、こちらに
来るコネクションに対して、来た側のインターフェイスに返すってだけの設定
です。

先日、Linux users ML にもおんなじことを書いたのですが、参考までにその
時書いたネットワーク構成と ip route の指定方法を書きます。

【自宅】

   XXX.xxx.aaa.bbb  YYY.yyy.ccc.ddd
   Flets ADSL       Flets ISDN
      |               |
      |PPPoE          |PPP
      |<ppp0>         |<ppp1>
      |               |
  +-(eth1)---------(ttyS1)-+
  |       Linux PC         |
  +--------(eth0)----------+
             |
             |
          自宅LAN

  ※ ISDN側は、固定IPアドレスサービスを利用しています。

ifupから起動されるスクリプトで、以下の様にしています。

ip route del dev ppp0 table 10
ip route del dev ppp0 table 20
ip rule del 
ip route add dev ppp0 table 10
ip route add dev ppp1 table 20

ip rule del from YYY.yyy.ccc.ddd table 20 pref 32810
ip rule add from YYY.yyy.ccc.ddd table 20 pref 32810

ip rule del pref 32990 table 10
ip rule add pref 32990 table 10

【会社】

   X.x.a.b/28         Y.y.c.d/28
     SDSL            OCN Economy
      │                │
  ┌─┴─┐        ┌─┴─┐
  │ROUTER│        │ROUTER│
  └─┬─┘        └─┬─┘
      │                │
  ──┴─┬─────────┬────── SDSL側へのLAN
          │            │    │
          │            │    │
  ───────┬───┴─────┬─── OCN側へのLAN
          │    │            │    │
   X.x.a.1│    │     X.x.a.2│    │
          │    │Y.y.c.1     │    │Y.y.c.2
      ┌─┴──┴─┐    ┌─┴──┴─┐
      │DNS server  │    │Web Server  │
      │            │    │            │
      └──┬───┘    └──┬───┘
            │                  │
    ────┴─────────┴───── 内部LAN

ifupから起動されるスクリプトで、以下の様にしています。

DNS server 上の設定スクリプト

ip route add 0/0 via X.x.a.1 table 10
ip route add 0/0 via Y.y.c.1 table 20

ip rule add from X.x.a.b/28 table 20 pref 32801
ip rule add from Y.y.c.d/28 table 10 pref 32800
ip rule add from 0/0 table 10 pref 32900

Web server 上の設定スクリプト

ip route add 0/0 via X.x.a.2 table 10
ip route add 0/0 via Y.y.c.2 table 20

ip rule add from X.x.a.b/28 table 20 pref 32801
ip rule add from Y.y.c.d/28 table 10 pref 32800
ip rule add from 0/0 table 10 pref 32900

と言った感じです。

以上です。
--------
  Kawabe,Yoshihiro <ripula@xxxxxxxxxxxxxxx>. 
  There's a Victory for ME! by L. I.