- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:煮詰まってしまったので質問させて下さい。)
サーバAのIP設定と仮想サーバBへのアクセス転送について
このQ&Aのポイント
- サーバAには本来111.111.111.111というIPがふられていますが、仮想IP(eth0:1)999.999.999.999も持っています。またサーバAには仮想サーバBが入っていて、プライベートネットワークでつながっています。仮にホスト=192.168.0.1、ゲスト=192.168.0.2、とします。ここで、999.999.999.999に来たアクセスを全て仮想サーバB=192.168.0.2にまわしたいのです。
- 仮想サーバBのIPを999.999.999.999に変更することはできません。しかし、サーバAには仮想IP(eth0:1)999.999.999.999が存在しています。仮想サーバBはサーバA内のプライベートネットワークで動作しており、ホストIPが192.168.0.1、ゲストIPが192.168.0.2となっています。サーバAに接続するアクセスのうち、999.999.999.999に対するものをすべて仮想サーバBに転送したいと考えています。
- 質問者のサーバAには本来111.111.111.111というIPが設定されていますが、仮想IP(eth0:1)999.999.999.999も使えます。また、サーバA内には仮想サーバBがあり、プライベートネットワークで接続されています。ホストIPは192.168.0.1、ゲストIPは192.168.0.2です。999.999.999.999に到着するアクセスをすべてゲストIPである192.168.0.2に転送したいのですが、仮想サーバBのIPを999.999.999.999に変えることはできません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
おそらくですが、外に出て行く(戻りの通信)ときにNATをかけていないですよね? 999.999.999.999宛てに来たのだから、999.999.999.999で出て行かないと通信出来ません
その他の回答 (2)
- pakuti
- ベストアンサー率50% (317/631)
回答No.2
リアルとバーチャルが別ネットワークだとうまくいかないような気がしますが・・・ おっしゃるとおり、iptablesのpreroutingでDNATを指定すれば可能かと思われます。
質問者
お礼
ありがとうございます。 iptables -t nat -A PREROUTING -d [グローバルIP] -j DNAT --to [ローカルIP] でいかにもうまく行きそうなんですが、 結果だけ言うとまだ繋がってません。 なんでかなー しばらく考えて(ぐぐって)みます。 ありがとうございました。
- pakuti
- ベストアンサー率50% (317/631)
回答No.1
情報が漠然としすぎています。 ・ホストOS ゲストOSの情報 ・仮想化ソフトとネットワーク情報 ブリッジ?、NAT? ・アドレス体系の情報 111.111.111.111 999.999.999.999とありますが、別ネットワーク?
質問者
補足
失礼いたしました。 ホスト/ゲスト共にCentOS5 ゲスト側ネットワーク=NAT 111.111.111.111、 999.999.999.999はお察しの通り別ネットワークです。 (そのせいでブリッジにできません・・・) 現在iptablesでなんとかなるかもと検討している最中です。 何か良い手がありましたらアドバイスお願いいたします。
お礼
ご回答ありがとうございます。 iptables -t nat -A POSTROUTING -s 111.111.111.111 -j SNAT --to 999.999.999.999 この設定も加えているんですが動いてくれないです・・・ もし何かハマリどころがあれば(実はFORWARDも必要とか?)アドバイスお願いします。 ただもう基本的な考え方は教えていただいたので 自力で頑張りつもりです。 ありがとうごいざます。
補足
上記記述を間違えました。 iptables -t nat -A POSTROUTING -s 192.168.0.2 -j SNAT --to 999.999.999.999 要するに iptables -t nat -A POSTROUTING -s [ローカルIP] -j SNAT --to [グローバルIP] としています。 パケットが[ローカルIP]から出ていく場合は[グローバルIP]に書き換える ということですよね?