- PR -

NIC2枚差しで異なる2つのゲートウェイを同時に使用するには?

1
投稿者投稿内容
well done
会議室デビュー日: 2002/12/27
投稿数: 2
投稿日時: 2002-12-27 17:23
こんにちは。@ITでは、いつもいろいろ勉強させていただいております。

LinuxRedHat7.2のサーバーに割り当てている固定IPが
変更になる過程で、NICを2枚挿しにし、異なるネットワークに所属させ、
どちらのIPを使用しても、ウェブやメールのアクセスが
出来るようにしたいと思っております。
(厳密には、IPxxx.xxx.xxx.xxx へ向けて来たアクセスに関しては、
IPxxx.xxx.xxx.xxxの所属しているネットワークのゲートウェイを通じて通信
し、IPyyy.yyy.yyy.yyyへ向けて来たアクセスに関しては
IPyyy.yyy.yyy.yyyの所属しているネットワークのゲートウェイを通じて通信
させたい)。

実際に実験してみましたところ、両方のIPでのアクセスとも、
routeコマンドにて現れるDefaultGatewayのみを使用して
通信がおこなわれます(tracerouteにて確認しました)。

経路情報を加えたら上記の条件で通信するかと思い、
route addコマンドにて経路情報を追加しました。
しかし、依然として、DefaultGatewayを通じてしか
通信しません。 また、/etc/sysconfig/static-routesに
継続的な経路の追加をしてみたものの、結果は同じです。

この件についてインターネットで検索をしてみますと、
”DefaultGatewayはあくまで一つであり、追加した
Gatewayは、DefaultGatewayが使用できないときに
使用される”という答えばかりでした。

上記の条件で通信を行うためには、何か特殊な
アプリケーション(たとえばルータ用のアプリケーション)
等を入れる必要があるのでしょうか。

私のような初心者が皆様のお時間をいただきたく思い
大変に恐縮なのですが、なにとぞ助言をお願い致します。

どうぞ宜しくお願いいたします。

ニックネーム well done
よう
会議室デビュー日: 2002/09/20
投稿数: 7
投稿日時: 2002-12-29 15:59
自信ないですけど、VRRP対応のルータを利用されてみてはどうでしょう。
そういう私は使ったことないので言い切れないかもしれませんが、、、。(^-^;
MyTime
ベテラン
会議室デビュー日: 2002/01/03
投稿数: 83
投稿日時: 2002-12-29 21:25
 route addを実行するときにデバイスは指定したのでしょうか? 

例:(こんなんでいいのかな? )
デバイス:eth0(yyy.yyy.yyy.2/24)
ゲートウェイ:yyy.yyy.yyy.1/24
IPxxx.xxx.xxx.0/24への接続をeth0を使用して行う。
route add -net xxx.xxx.xxx.0 netmask 255.255.255.0 gw yyy.yyy.yyy.1 dev eth0

 DefaultGatewayは、定義したルーティングルールが適用できない場合に、フレームを最終的にどこに送るかということですから、1つしかないのは当然といえば当然です。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2002-12-30 06:59
固定IPが変更になる、とは、ISPの乗り換えか何かですよね? で、一時的に
2つのプロバイダへ同時に接続したい、ということですよね?
(もっとも、同じドメイン名を使うなら、DNSを変更した時点で自動的に外部からの
 アクセスが切り替わるので、あまり気にする必要はないのでしょうけれども)

IPパケットには、どこのIPアドレスから来たかという情報は入っていますが、
どこのルータやインターフェイスを通過してきたかという情報は入っていません。
ですので、ルートテーブルだけで、もとのインターフェイスへパケットを返したい、
と思っても不可能です。
また、どこのIPアドレス宛へ送られたパケットによって、送出(応答)するインターフェイス
を切り替えることは不可能ではないですが、一般的なアプリケーションはインターフェイスを
意識して作られていない(はず)ですので、これも不可能かと思います(同一インターフェイス
しかないのであれば、ますます不可能ですし)。

手っ取り早く解決するには、リバースProxyや、リバース(逆方向)のNAT/NAPT(IPマスカレード)
などを使って、どちらかのIPを、もう一方のIPアドレス(もしくは内部LANがあるなら、
そのIPアドレス)に変換してやればよいのではないでしょうか。
トラフィックや使用しているアプリケーションなどにもよりますが、
適当なルータかPCなどを使って、古い方のIPアドレスを変換すればいいと思います。


[ メッセージ編集済み 編集者: Uchiko 編集日時 2002-12-30 07:08 ]

[ メッセージ編集済み 編集者: Uchiko 編集日時 2002-12-30 07:11 ]
BASE
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 178
投稿日時: 2003-01-09 20:44
解決にはwell doneさんがどのようなStaticRouteを追加したかを、
書いてもらうのが一番だと思いますが、推測こめて書きます。

well doneさんのやりたいことの確認ですが
・メールの送信/受信、Webブラウジングが両方のNICからできる。
で、良いですかね?

で、あるならば、
どちらのNICからも、メールの送信/受信、Webブラウジングができてしまうのであれば、
デフォルトゲートウェイが優先されてもう片方が使われないのは当然ではないでしょうか?

通常スタティックルートは、
”デフォルトゲートウェイからは行けないけど、別のゲートウェイからだと行けるよ”
という場合に使われると思います。

ですので、今回の場合、例えば
”負荷分散のために、WebブラウジングはXのゲートウェイから、
メール送受信はYのゲートウェイから”
とかいうのでなければ、Xが使えない時の予備ゲートウェイになってしまうのではないでしょうか?
2501
会議室デビュー日: 2003/01/09
投稿数: 1
投稿日時: 2003-01-09 23:57
Redhat7.2をお使いでしたら、iprouteによるソースルーティングが可能すので、"ip route"と"ip rule"によるソースルーティングの設定を行えば対応可能です。

もしかしたら、インストール時のパッケージ選択次第でiprouteがインストールされないかもしれませんので、

rpm -qa | grep iproute

でインストールされている事を確認されてみて下さい。

ポイントは、
・Default G/Wは設定しない
・eth0から「Dst:0/0へ出て行く」パケットはeth0の上位ルータへ、
eth1から「Dst:0/0へ出ていく」パケットはeth1の上位ルータへ流す
 ルーティングを作成する
かと思います。

論点がずれていたら申し訳ありません。
hawkmoon
ベテラン
会議室デビュー日: 2002/09/10
投稿数: 80
投稿日時: 2003-01-10 17:14
山本です。

well doneさんがやりたいことそのままのことが下記のサイトに出ています。

http://www.hyperdyne.co.jp/~oohashi/work/redhat/iproute2/02.shtml
1

スキルアップ/キャリアアップ(JOB@IT)