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