teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/03/24 12:03

投稿

TaichiYanagiya
TaichiYanagiya

スコア12218

answer CHANGED
@@ -1,4 +1,16 @@
1
1
  DNAT でサーバーB にパケットを転送することは出来ますが、サーバーB に届くパケットの送信元IPアドレスは PC ですので、サーバーB からの戻りパケットは PC の IPアドレス宛に送ろうとします。
2
2
  このとき、戻りパケットがサーバーA を経由しないと DNAT の逆ができず、正しく通信できません。
3
3
 
4
- サーバーB のルーティング設定で、PC のネットワークセグメント宛(AAA.AAA.AAA.AAA のネットワーク宛)をサーバーA にすれば可能かもしれませんが、サーバーA にリバースプロキシーを導入した方が簡単ではないでしょうか。
4
+ サーバーB のルーティング設定で、PC のネットワークセグメント宛(AAA.AAA.AAA.AAA のネットワーク宛)をサーバーA にすれば可能かもしれませんが、サーバーA にリバースプロキシーを導入した方が簡単ではないでしょうか。
5
+
6
+ ### (2019/03/24 20:53) 追記
7
+
8
+ > サーバーB のルーティング設定で、PC のネットワークセグメント宛(AAA.AAA.AAA.AAA のネットワーク宛)をサーバーA にすれば可能かもしれませんが、
9
+
10
+ サーバーA の eth0 とサーバーB の eth0 が同じネットワークセグメントじゃないので、ルーティングは無理ですね。
11
+ リバースプロキシーを導入するか、サーバーA → サーバーB に SSH できるのであれば、`SSH LocalFoward` が利用できると思います。
12
+ サーバーA の 80 番ポートを開けるので、サーバーA 側は root ユーザーで ssh を実行する必要があります。
13
+
14
+ ```
15
+ [root@サーバーA]# ssh -f -N -L 192.168.0.30:80:172.16.0.1:80 (サーバーBの任意のユーザー)@YYY.YYY.YYY.YYY
16
+ ```