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 게스트를 만들 때 virsh다음과 같이 가상 네트워크 이름과 가상 네트워크의 MAC 주소를 지정했습니다.

--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로 SSH를 연결할 수 없습니다.

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아직 무리가 있습니다.

누군가 이에 접근하는 올바른 방법을 제안할 수 있습니까?

관련 정보