여러 가상 호스트와 외부 IP 공유

여러 가상 호스트와 외부 IP 공유

일부 LAMP 가상 머신을 호스팅하는 Centos 서버에 대한 외부 IP가 있습니다(VirtualBox 사용). 이 단일 호스트의 외부 IP를 사용하여 VM의 주소를 지정할 수 있기를 원합니다. 외부에서 특정 시스템으로 포트를 전달하는 것과 같습니다.

2.2.2.2 > external IP [WAN]
10.0.0.1 > host IP (tiger) [LAN]
10.0.0.2 > virtual client #1 (zebra)
10.0.0.3 > virtual client #1 (mouse)

그래서 외부 IP는 라우터를 거쳐 호스트 IP(호랑이)로 전달되고, 호스트 IP(호랑이)는 그 포트를 보고 이를 얼룩말이나 마우스에게 보낸다. 두 개의 가상 클라이언트가 Apache 등에 동일한 포트를 사용할 수 있습니다(사용해서는 안 됩니다).

라우터 자체에 액세스할 수 없으므로 호스트 컴퓨터에서 라우팅 솔루션을 수행하는 것이 가장 좋습니다(그러나 관리자가 수행할 수 있는 경우 특정 설정을 요청할 수 있음).

내가 분명히 밝혔기를 바랍니다.

답변1

2.2.2.2의 다른 포트를 다른 VM으로 라우팅하려는 경우 다음을 사용할 수 있습니다.iptables. 보다CentOS 가이드다음을 포함한 자세한 내용을 알아보세요.규칙을 지속적으로 만드는 방법( iptables다음 재부팅까지 설정만 변경됩니다.) 포트 13080에서 들어오는 TCP 요청을 포트 80의 10.0.0.1로 지정하려면 다음을 수행하세요.

iptables -t nat -A PREROUTING -p tcp --dport 13080 -j DNAT --to 10.0.0.1:80

HTTP 요청의 호스트 이름을 기반으로 VM을 선택하려면 HTTP 서버가 스케줄러 역할을 해야 합니다. Apache를 사용할 수 있지만 이렇게 빠르고 쉬운 작업을 수행하려면nginx매우 인기가 있습니다.

관련 정보