- PR -

特殊アプリからのルーティング

1
投稿者投稿内容
ゆうぼく
会議室デビュー日: 2004/08/17
投稿数: 3
投稿日時: 2004-08-17 22:54
会社でサーバ・クライアント型のアプリを使っています。
そのアプリはクライアントの作りがいまいちで、プログラム内にコーディングされた
固定的なIPアドレス(192.168.1.2)にあるサーバとしか通信できません。
元々は、クロスケーブルによる対向接続を想定して作ったのもなのでその当時は問題
無かったのですが、やはり会社の基幹LANでも使えないと不便ということになり運用
方法を検討しています。
とりあえず、
(1)クライアントに対象IP:192.168.1.2、GW:XX.XX.XX.Xでルーティング設定
(2)サーバに実IP:XX.XX.XX.Xと仮想IP:192.168.1.2設定
することで1組は通信できるようになったのですが、サーバを複数台設置すると、
IPアドレス衝突のいエラーメッセージが出てしまいました。
複数台のサーバは仮想IPは全て192.168.1.2ですが実IPは別々です。
また、サーバを複数設置したい理由は、1:nのサーバクライアントのグループ
を複数作りたかったからです。(クライアントA,B,CはサーバXに、クライアント
D,E,FはサーバYに、クライアントG,H,IはサーバZにアクセスするような組み合わせ)

ルーティングに拘りませんが、うまくシステムを組む方法をご存知ないでしょうか?

本当はアプリを改造するほうが良いとは思うのですが、古いアプリで、ソースも
設計者もいなくなっているので非常に困難なのです。

よろしくお願いいたします。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-08-18 00:26
よく「仮想IP」とか言われますが、IPアドレスが振られていることに
仮想も実もないとゆーか、すべてが実とゆーか、そんなわけで
ひとつのネットワークに同じIPアドレスがあれば、そりゃーやっぱり
衝突するです。

どうしてもプログラムを変えないのであれば...
クライアントのグループごとに、NAT をかましてサーバに繋ぐように
する、とか。 手間はかかるし機材は調達しなきゃだし、その後も
ネットワークをいじるたびに多大な労力を費やすことになるだろうし、
で、プログラムをどうにかすることを考えたほうがよさそうな
気がするです。

条件によっては、ロードバランシングでかわす、という手も
ありそうですが。これが使えるかどうかは状況しだいですね。

もうひとつ追加。
リバースプロキシとなるサーバプログラムを書いて、クライアントの
IPアドレスによってつなぐサーバを変えるようにする、とか。
# やっぱりクライアントを書き換えたほうが早そう...

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-08-18 00:42 ]
きょ〜じゅ
ベテラン
会議室デビュー日: 2003/07/31
投稿数: 66
投稿日時: 2004-08-18 08:27
引用:

ゆうぼくさんの書き込み (2004-08-17 22:54) より:

ルーティングに拘りませんが、うまくシステムを組む方法をご存知ないでしょうか?



お金に拘らなければ、L4SWを使用し192.168.1.2宛の通信をソースアドレスを元に複数サーバに振り分けできます。

後はぽんすさんの書かれているとおりにソースアドレス毎に条件を引っかけて宛先をNATするかですね。

# 逆コンパイル等でソースを起こす方が手っ取り早いかも
ゆうぼく
会議室デビュー日: 2004/08/17
投稿数: 3
投稿日時: 2004-08-24 23:43
ゆうぼくです。
ぽんすさん、きょ〜じゅさん、アドバイスありがとうございました。
やはり、アプリを書き直すのは早道なのですね。

お礼が遅くなって申し訳ありませんでした。
1

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