(초보자의 질문입니다.)
전용 서버(Hetzner)에 두 개 이상의 가상 머신(KVM qemu 기반)을 갖고 싶습니다.
IPv4 주소는 몇 개나 필요합니까?
기본 IPv4 주소가 있습니다. 내가 이해한 바로는 가상 머신에 브리지된 네트워크를 설정하려면 추가 IPv4 주소가 필요합니다. 각 가상 머신에 IPv4 주소를 할당해야 합니까?
내 사용 사례는 데이터베이스 서버와 웹 서버를 서로 다른 가상 머신에 두는 것입니다. 따라서 가상 머신은 서로 통신할 수 있어야 하며 외부 세계(인터넷)와도 통신할 수 있어야 합니다.
즉, SSH를 통해 호스트와 VM으로 연결하고 싶지만 :80 및 :443 트래픽은 HTML-vm으로 이동해야 하고 (로컬) 데이터베이스는 MYSQL-vm을 수신해야 합니다.
답변1
네가 말했지"가상 머신은 서로 통신할 수 있어야 하며 외부 세계(인터넷)와도 통신할 수 있어야 합니다.". 이는 NAT를 통해 달성할 수 있습니다. 실제 질문은 이러한 시스템이 외부 세계에서 직접 액세스할 수 있어야 하는지 여부입니다.당신이 보여줬어요그 너"포트 80/443에 대한 트래픽을 제외하고 외부 세계에서 VM에 액세스할 필요가 없음을 확인했습니다.".
이를 바탕으로 호스트의 단일 공용 IP 주소 뒤에 모든 VM을 숨기고 내부 호스트/VM 브리지 네트워크를 사용하여 호스트와 두 VM이 서로 직접 통신할 수 있다고 말할 수 있습니다.
- 호스트는 SSH 트래픽을 허용합니다(포트 22에서 반드시 그럴 필요는 없음).
- 호스트는 포트 80/443의 웹 트래픽을 VM 웹 서버로 전달합니다.
- SNAT(호스트 매스커레이딩) 가상 머신에서 인터넷으로의 기타 아웃바운드 트래픽
호스트에는 공용 인터페이스와 내부 전용 인터페이스라는 두 가지 인터페이스가 있어 두 가상 머신에 브리징을 제공합니다. 가상 머신은 내부 호스트 인터페이스를 기본 아웃바운드 경로로 사용하며, 호스트는 새 트래픽을 외부로 전달하지만 선택된 트래픽 인바운드를 프록시합니다.