KVM: 서로 다른 NAT 네트워크 간의 격리

KVM: 서로 다른 NAT 네트워크 간의 격리

KVM에서 여러 개의 격리된 NAT 네트워크를 설정하려고 하는데 작동하지 않습니다. 설명할 수 없는 동작이 발생했는데 이에 대한 명확한 설명이 필요합니다.

IP 범위 192.168.122.0/24, 192.168.123.0/24 및 192.168.124.0/24의 NAT 네트워크 3개를 설정하고 순서대로 시작하면 122의 가상 머신이 122의 가상 머신을 ping할 수 없습니다. 123 또는 124 머신(제가 원하는 동작)인 경우 123의 VM은 122는 ping할 수 있지만 124는 ping할 수 없지만 124의 VM은 122와 123을 ping할 수 있습니다.

시작 순서는 iptables 규칙 순서를 암시하므로 중요한 것 같습니다. 이것이 동작의 이유라고 생각합니다.

나는 이것을 읽었다문서:

이 단계에서는 이 가상 네트워크 내에서 사용할 IP 주소 범위를 선택합니다. 이 가상 네트워크를 사용하는 모든 게스트에게 표시되지만 NAT로 인해 가상 네트워크 외부에는 표시되지 않습니다.

그리고 이것에지도 시간:

호스트 운영 체제와 공용 네트워크는 NAT 네트워크의 게스트에 대한 연결을 시작할 수 없지만 다른 NAT의 KVM 게스트는 이에 액세스할 수 있습니다.

겉보기에는 모순되는 정보입니다.

나는 실제 동작을 이해하고 내가 원하는 것을 달성할 수 있는 방법이 있는지 알고 싶습니다.

편집: 전체 설정은 GNS3 레이어를 포함하므로 약간 복잡합니다.

내가 시도한 것:

  1. virt-manager다양한 IP 범위에 다양한 가상 NAT 네트워크를 생성합니다. 예를 들어 virsh net-dumpxml두 네트워크의 결과는 다음과 같습니다.
# Note : This one is the default one
<network>
  <name>default</name>
  <uuid>5506b439-c3f6-4d8a-b901-66736c18c976</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:9c:bf:07'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>
# Note : This one is one I created through virt-manager
<network>
  <name>nat-network1</name>
  <uuid>dca96cc1-b4bd-44ac-b1b9-9f581219fa94</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:2e:7d:d5'/>
  <domain name='defaul1'/>
  <ip address='192.168.123.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.123.2' end='192.168.123.254'/>
    </dhcp>
  </ip>
</network>
  1. GNS3의 특수 인터페이스("클라우드" 인터페이스)를 사용하면 가상 머신을 이러한 NAT 가상 네트워크에 연결할 수 있습니다. 예를 들어 VM1을 에 default, VM2를 에 연결했습니다 nat-network1. 두 가상 머신 모두 DHCP를 통해 정의한 범위의 IP를 얻고 둘 다 인터넷에 액세스할 수 있습니다.

내가 기대한 것:다른 NAT 네트워크를 사용하도록 설정된 가상 머신은 통신할 수 없을 것으로 예상됩니다. 처음에 설명했듯이, 그렇지는 않은 것 같습니다.

답변1

게시한 튜토리얼에서 언급한 내용은 다음과 같습니다.

"dev" 속성을 물리적 네트워크 장치나 브리지로 설정하지 않으면 바로 가기를 사용하고 내부 인터페이스를 사용하여 한 KVM 네트워크에서 다른 KVM 네트워크로 직접 트래픽을 전달할 수 있으므로 예기치 않은 동작이 발생합니다.

이것이 문제의 원인인 것 같습니다.

변화:

  <forward mode='nat'>

도착하다:

  <forward mode='nat' dev='<network interface example: eth0>' >

나는 이것을 테스트했고 iptables 규칙이 작동하도록 했습니다.

관련 정보