동일한 호스트에 동일한 (게스트) IP를 가진 여러 가상 머신을 가질 수 있습니까?

동일한 호스트에 동일한 (게스트) IP를 가진 여러 가상 머신을 가질 수 있습니까?

내가 달성하려는 것 :

Debian 호스트의 여러 가상 머신(virtualbox)은 다른 서버와 통신합니다(서로 또는 호스트 머신과 통신하지 않음). 모든 가상 머신은 동일한 정적 네트워크 설정을 가져야 합니다(게스트에서 설정을 변경하지 않고 복제하고 사용할 수 있도록). 가상 머신의 모든 네트워크 시도는 위 서버로 리디렉션되어야 합니다.

내 현재 설정:

  1. 호스트의 각 VM에 대한 탭을 생성하고 브리지 네트워킹을 사용하여 VM을 해당 탭에 연결합니다.
  2. 모든 탭은 브리지로 연결됩니다. 브리지에는 IP 주소가 있으며 가상 머신에 대한 게이트웨이입니다.
  3. 호스트는 서버에 대한 전용 인터페이스 역할을 합니다. 이 인터페이스는 브리지에도 연결됩니다.
  4. 이 인터페이스의 iptables SNAT 규칙은 가상 머신을 서버에 연결하는 데 사용됩니다.
  5. iptables DNAT 규칙은 모든 트래픽을 브리지에서 서버로 리디렉션합니다.

이것은 지금까지 작동합니다. 하지만 이 설정을 사용하면 가상 머신이 브리지를 통해 연결되기 때문에 동일한 IP 주소를 가질 수 없습니다. 수도꼭지에서 IP 주소를 SNATing하려고 시도했지만 성공하지 못했습니다.

답변1

할 수 있다개인 네트워크의 각 게스트에 대해 NAT를 설정합니다. 먼저, 모든 네트워크 인터페이스를 함께 브리징하는 것을 중단해야 합니다(결국 모두 동일한 스위치에 있는 경우 자체 개인 네트워크에 있는 경우가 거의 없습니다).

그런 다음 NAT 규칙을 설정해야 합니다.아마도작동합니다. 그러나 아마도 그렇지 않을 것입니다. 나가는 경로는 작동해야 하지만 돌아오는 경로에는 문제가 있습니다. NAT 시스템은 응답 패킷을 수신하고 이를 소스 192.168.0.2(또는 기타)로 다시 NAT합니다. 그런 다음 이를 경로로 전달합니다. 경로는 이를 어디로 보내나요? 모든 게스트는 동일한 IP 주소를 가지며 모든 인터페이스는 동일한 주소/서브넷 마스크를 갖습니다.

그래서 우리는 라우팅을 수정해야 합니다. 다행히도 이는 정책 라우팅을 통해 가능합니다.

-t manglevnet0 또는 기타 포트와 같은 소스 포트를 기반으로 각 게스트에 대한 규칙을 추가하면 연결에 태그를 지정할 수 있습니다. 그런 다음 ip rule해당 태그를 기반으로 응답을 다시 라우팅 할 수 있습니다 .

구성이 많지만 일단 작동하게 되면 스크립트가 가능해집니다. 효과가 있을 수도 있습니다. 아직 테스트하지 않았습니다. 제정신인지 아닌지에 관계없이 음...저는 개인적으로 DHCP가 작동하도록 노력하겠습니다. 그 일을 해야 할 다음 사람이 어떻게 생각할지 생각해 보십시오. (일단 그것이 어떻게 작동하는지 잊어버리면 아마도 몇 달 안에 그 사람이 될 것입니다.)

답변2

대답은 간단합니다. 아니요. 네트워크 관점에서 보면 동일한 IP를 사용하는 여러 물리적 호스트를 보유하려는 것과 동일합니다. 이것은 작동하지 않습니다.

관련 정보