virsh 가상 네트워크의 KVM 게스트가 실제 내부 네트워크에 액세스하도록 허용

virsh 가상 네트워크의 KVM 게스트가 실제 내부 네트워크에 액세스하도록 허용

라우터 192.168.1.1 뒤에 홈 네트워크 192.168.1.0이 있습니다. 네트워크에는 기존 Linux 및 Windows 호스트 세트가 있으며 대부분은 유선 이더넷을 통해 연결됩니다. KVM 하이퍼바이저와 3개의 Debian 클라이언트를 실행하는 새 서버를 구성 중입니다. 새 서버는 네트워크 연결을 위해 Wi-Fi를 사용합니다.

하이퍼바이저에서 저는 virsh다음과 같이 가상 네트워크를 구성했습니다.

<network>
  <name>virtual</name>
  <forward mode='route'/>
  <ip address='192.168.2.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.2.2' end='192.168.2.255'/>
      <host mac='52:54:00:00:00:01' ip='192.168.2.2'/>
      <host mac='52:54:00:00:00:02' ip='192.168.2.3'/>
      <host mac='52:54:00:00:00:03' ip='192.168.2.4'/>
    </dhcp>
  </ip>
</network>

그런 다음 라우터에 192.168.2.0/24에서 하이퍼바이저 IP 주소 192.168.1.41까지의 고정 경로를 만들었습니다.

Debian 게스트를 생성할 때 가상 네트워크 이름과 가상 네트워크의 MAC 주소를 virsh다음과 같이 지정했습니다.

--network network=virtual,mac=52:54:00:00:00:01

/etc/network/interfaces각 손님의 결과는 다음과 같습니다.

iface eth0 inet static
   address 192.168.2.2
   netmask 255.255.255.0
   network 192.168.2.0
   broadcast 192.168.2.255
   gateway 192.168.2.1

이 구성을 사용하면 모든 것이 기본적으로 정상입니다. 저 할 수 있어요:

  • 192.168.1.0의 호스트에서 두 하이퍼바이저 IP 주소(.2.1 및 .1.41)에 연결합니다.
  • 192.168.1.0의 호스트에서 각 게스트에 연결합니다.
  • 하이퍼바이저에서 각 게스트에 연결
  • 각 게스트와 다른 게스트의 하이퍼바이저(.2.1)에 연결
  • 모든 손님이 공용 인터넷에 연결
  • 라우터에서 개별 게스트로 외부(인터넷) 연결 전달

하지만 나는할 수 없다게스트에서 192.168.1.0 네트워크의 호스트로 연결합니다. 예를 들어 192.168.2.2에서 192.168.1.31로 이동할 수 없습니다.

A는 traceroute다음과 같은 내용을 표시합니다.

traceroute to 192.168.1.31 (192.168.1.31), 30 hops max, 60 byte packets
 1  sol (192.168.2.1)  0.295 ms  0.252 ms  0.243 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *

내 구성이 잘못된 것인지, 아니면 무선 액세스 포인트에 문제가 발생한 것인지 잘 모르겠습니다.

ebtables구성을 추가해 보았습니다 (설명한 대로).여기)는 MAC 변환을 수행하지만 아무런 차이가 없습니다. 그 외부에 별도의 브리지된 네트워크 장치를 추가해 보았지만 virsh기존 가상 장치는 다른 브리지에 연결할 수 없습니다. 필터나 일부 iptables 규칙 과 같은 다른 옵션도 고려했지만 virsh아직 무리가 있습니다.

누군가 이 문제를 해결하는 올바른 방법을 제안할 수 있습니까?

관련 정보