DHCP 및 라우팅된 네트워킹을 사용하여 KVM 가상 머신에 공용 IP 주소 할당

DHCP 및 라우팅된 네트워킹을 사용하여 KVM 가상 머신에 공용 IP 주소 할당

나는 가지고있다

  • 물리적 VM 호스트
  • qemu-kvm에는 여러 가상 머신이 있습니다
  • 8개의 공용 IPv4 주소 세트와 IPv6 서브넷뿐 아니라 이를 가상 머신에 쉽게 할당할 수도 있습니다.

이 차트와 같아KVM 가상 머신에서 공용 IP 주소 구성

네트워크 설정 다이어그램

어떻게 하나요?

현재 내가 사용하는가상 브리지어플라이언스는 물리적 네트워크를 모든 가상 머신의 이더넷 포트와 연결하며, 가상 머신에서는 IP만 구성하면 됩니다. 이제 입양하고 싶어요라우팅된 네트워크보안(가상 머신은 다른 가상 머신의 IP 주소를 스푸핑할 수 없음) 및 간편한 구성(각 가상 머신 설치 시 IP 구성 세부 정보를 입력하지 않음)을 위해.

내 호스트에는 더 큰 네트워크(예: IPv4의 경우 /24)가 있지만 내 IP 주소만 스위치 포트로 라우팅하도록 스위치를 구성했습니다. 내 호스트의 MAC 주소에서 VM의 IP 주소를 사용할 수 있음을 표시하려면 프록시 ARP를 활성화해야 합니다.

현재 Debian Linux 9를 사용하고 있습니다.긴장배포 패키지의 모든 소프트웨어가 포함되어 있습니다.

구식 수동 솔루션?

저는 Linux에서 브리지 장치를 생성하고 각 IPv4 주소 및 iptables 규칙에 대해 DHCP 서버를 수동으로 설정하고 각 가상 머신을 브리지 중 하나에 연결할 수 있다고 생각했습니다. 하지만 libvirt는 이를 단순화할 수 있는 능력이 있는 것 같습니다.

비슷한 설정에 대해 내가 찾을 수 있는 가장 좋은 설명은 다음과 같습니다.https://jamielinux.com/docs/libvirt-networking-handbook/routed-network.html

이슈 1

VM의 이더넷 포트의 MAC 주소를 복사하고 네트워크의 XML 파일을 다시 작성하고 네트워크를 다시 시작하는 것이 번거롭다는 것을 알았습니다.모두가상 기기. 대신 가상 머신을 설정할 때 IPv4 주소를 선택하고 싶습니다.

나는 (공용 IP 주소를 사용하여) 같은 이름을 가진 각 IPv4 주소에 대해 1개의 네트워크를 생성하고 static-192.168.1.2해당 주소에 대한 DHCP 범위만 허용한다고 생각합니다. 주소가 더 많으면 확장되지 않을 수 있지만 주소가 8개이면 확장할 수 있을 것 같습니다. 더 나은 해결책이 있습니까?

시즌 2

테스트 설정에서 두 개의 샘플 IPv4 주소를 제공하기 위해 더 짧은 DHCP 범위로 로컬 네트워크를 미러링하는 네트워크를 만들려고 했습니다. 192.168.23.0/24는 로컬 네트워크이고, VM 호스트에는 192.168.23.7이 있습니다 br1.

<network>
  <name>static</name>
  <bridge name="br1" />
  <forward mode="route"/>
  <ip address="192.168.23.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.23.8" end="192.168.23.10"/>
    </dhcp>
  </ip>
</network>

하지만 시작할 수가 없어

# virsh net-create net.xml 
error: Failed to create network from net.xml
error: internal error: Network is already in use by interface br1

해당 인터페이스의 호스트 IPv4가 이를 잠글 것이라고 생각했기 때문에 물리적 인터페이스에 연결된 브리지를 구성했습니다. 로컬 네트워크의 단일 IPv4 주소를 포함하는 DHCP를 사용하여 라우팅된 libvirt 네트워크를 정의하는 방법은 무엇입니까?

나는 libvirt를 실제로 사용한 적이 없고 일부 정보가 누락되었을 수 있으므로 이것이 매우 복잡하다고 생각합니다. 필요에 따라 질문을 업데이트하겠습니다.

관련 정보