1개의 IPv4를 사용하여 2개의 VM에 액세스

1개의 IPv4를 사용하여 2개의 VM에 액세스

두 개의 가상 머신이 있습니다. 첫 번째 VM은 Debian 8.2를 실행하고 두 번째 VM은 Ubuntu Server 14.04.2 LTS를 실행하고 있습니다. 공용 IPv4도 있습니다.

IPv4는 한 번에 하나의 서버에만 할당됩니다. 동일한 IP에서 두 서버에 모두 액세스하려면 NAT를 만들어야 한다고 가정합니다.

대시보드에서 개인 네트워크를 만들 수 있습니다. 그래서 내 질문은, 어떻게 해야 합니까?

답변1

주로 IPv4 주소에서 액세스하려는 서비스에 따라 다릅니다.

다음과 같이 표현해 보겠습니다.

  • 90.90.90.90은 공용 IPv4(app.domain.org / app2.domain.org)입니다.
  • 192.168.1.1은 데비안 서버입니다
  • 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

관련 정보