1つのIPv4を使用して2つのVMにアクセスする

1つのIPv4を使用して2つのVMにアクセスする

2つの仮想マシンがあります。最初のVMはDebian 8.2を実行し、2番目のVMはUbuntu Server 14.04.2 LTSを実行しています。パブリックIPv4もあります。

IPv4 は一度に 1 台のサーバーにのみ割り当てられます。同じIPで両方のサーバーにアクセスするには、NATを作成する必要があるとします。

ダッシュボードからプライベートネットワークを作成できます。それで私の質問はどうすればいいですか?

ベストアンサー1

主にIPv4アドレスからアクセスするサービスによって異なります。

次のように表現してみましょう。

  • 90.90.90.90はパブリックIPv4(app.domain.org / app2.domain.org)です。
  • 192.168.1.1はDebianサーバーです
  • 192.168.1.2はUbuntuサーバーです。

最初に念頭に置く必要があるのは、port forwardingメカニズムを使用することです。要求された宛先ポートに基づいてパケットを正しいサーバー/ポートにリダイレクトします。

iptables -t nat -A PREROUTING -i wan0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -A PREROUTING -i wan0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.2:80

利点は、SSHからRDP、そしてもちろんHTTPまですべてのサービスを提供できることです。ただし、一部の標準サーバー/プロトコルポートを削除する必要があります。

別のオプションは、サーバー名ベースのリバースプロキシ(Apacheのmod_proxyなど)を使用することです。

<VirtualHost *:80>
   ServerName app.domain.org
   ProxyPass / http://192.168.1.1:80/
   ProxyPassReverse / http://192.168.1.1:80/
</VirtualHost>

<VirtualHost *:80>
   ServerName app2.domain.org
   ProxyPass / http://192.168.1.2:80/
   ProxyPassReverse / http://192.168.1.2:80/
</VirtualHost>

これは主にHTTPプロトコルに適用されます。

オプションがあります。より正確な回答を得るには、公開したいサービスの詳細を提供する必要があります。ちなみに、次の内容の一部をお読みください。 http://www.systutorials.com/816/port-forwarding-using-iptables/ https://httpd.apache.org/docs/trunk/en/vhosts/examples.html

おすすめ記事