web-dev-qa-db-ja.com

単純なポート転送

リバースプロキシと2台目のサーバーをセットアップしようとしているので、少し問題があります。私の考えは、ファイアウォールがhttpsをリバースプロキシに、ポート29418(gerrit ssh)を2番目のサーバーに転送するようにすることでした。今、私の協力するIT担当者は、「できません!両方のポートがサーバー1に行くか、両方のポートがサーバー2に行きます。

OK、回避策として、ポート29418-> server2:29418のリバースプロキシでポート転送を設定しようとしました

詳細:

  • Server1 IP:Ubuntu 12.04.2 LTS上の10.0.0.132および192.168.10.2
  • Server2 IP:Ubuntu 12.04.2 LTS上の10.0.0.133および192.168.10.3

これで、httpsとポート29418の両方がファイアウォールから10.0.0.132に移動し、ITがそれが唯一の方法であると言います。 :(

10.0.0.132:29418-> 192.168.10.3:29418または10.0.0.133:29418から転送する方法を教えてください

10.0.0.132で作業している場合、10.0.0.133:29418と192.168.10.3:29418の両方に接続できるため、ポートが開いています。

-更新-

私のiptables -t nat -Lは次のようになります。

 root @ dev:/ root#iptables -t nat -L 
 Chain PREROUTING(policy ACCEPT)
 target prot opt source destination 
 DNAT tcp-どこでもdev .example.com tcp dpt:29418 to:10.0.0.133 
 
 Chain INPUT(policy ACCEPT)
 target prot opt source destination 
 
 Chain OUTPUT(ポリシーACCEPT)
 target prot opt source destination 
 
 Chain POSTROUTING(policy ACCEPT)
 target prot opt source destination 
 root @ dev:/root#cat /proc/sys/net/ipv4/ip_forward
1
16
uncletall

他の誰かが実際に機能する方法を探している場合に備えて。 @HorsePunchKidは彼の提案にぴったりですが、欠落しているステップを埋めるこのチュートリアルを見つけました。

http://www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/

本質的に:

IP転送を有効にします。

sysctl net.ipv4.ip_forward=1

転送ルールを追加します(n.n.n.n:portを使用):

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.132 --dport 29418 -j DNAT --to-destination 10.0.0.133:29418

IPtablesにマスカレードを依頼:

iptables -t nat -A POSTROUTING -j MASQUERADE

以上です!いずれにせよそれは私のために働いた:)

31
Brendon Muir

10.0.0.132にiptablesがインストールされている場合、これは非常に簡単だと思います。

iptables -t nat -A PREROUTING -j DNAT -d 10.0.0.132 -p tcp --dport 29418 --to 10.0.0.133

これは、10.0.0.132が試行する他のルーティングの前に、ポート29418で10.0.0.132に着信するトラフィックを同じポートで代わりに10.0.0.133に送信することを意味します。このコマンドを実行して問題が発生した場合は、-Aフラグを-Dに置き換えて削除してください。

10.0.0.132の起動時にこのルールを自動的に実行したい場合は、上記のコマンドを「ポストアップ」ルールとして/ etc/network/interfacesに追加することを検討してください。

7
HorsePunchKid

一時的なメソッドを検索する場合は、以下の解決策を試してください。

    ssh -L 192.168.0.10:8080:10.0.0.10:80 [email protected]

上記のコマンドは、ベースマシンのポート8080へのすべての接続を仮想マシンの80ポートにリダイレクトします。 Webページ http://192.168.0.10:808 にアクセスして、動作をテストできます。ゲストマシンのWebページが表示されます。

これはすべてのポートに適用されます:)

5
common_man

最終的には、Ubuntuで動作させることができなかったため、トラフィックを別のVMにルーティングするために、ESXiサーバー内にルーターとしてpfSenseをインストールする必要がありました。

0
uncletall