domU에서 여러 개의 서로 다른 IP 범위를 허용하려면 Xen을 어떻게 구성해야 합니까?

domU에서 여러 개의 서로 다른 IP 범위를 허용하려면 Xen을 어떻게 구성해야 합니까?

domU가 dom0과 완전히 다른 IP를 갖는 설정(동일한 네트워크 범위에 있지 않음)에서 Xen을 실행하려고 합니다.이 답변모든 것이 동일한 /24 범위 내에서 작동하지만 완전히 관련되지 않은 IP에서는 작동하지 않습니다.

dom0의 /etc/network/interfaces:

# The primary interface.
# The configuration is done in the bridge.
auto eth0

# The bridge for Xen to use.
auto xenbr0
iface eth0 inet static
        bridge_ports eth0
        address 188.165.X.Y
        netmask 255.255.255.0
        network 188.165.X.0
        broadcast 188.165.X.255
        gateway 188.165.X.254

dom0의 브리지( brctl show):

bridge name     bridge id               STP enabled     interfaces
eth0            8000.00259022aab2       no              peth0
                                                        vif1.0

domU의 /etc/network/interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 188.165.X.254
    netmask 255.255.255.0

domU 구성에서도 다른 넷마스크를 사용해 보았습니다. domU가 작동하는 방식으로 네트워크에 연결되도록 하려면 어떻게 구성해야 합니까?

답변1

91.121.xx가 인터넷을 통해 게이트웨이 188.165.X.254의 게이트웨이로 라우팅된다고 가정하겠습니다.

그런 다음 게이트웨이는 188.165.XY의 VM 호스트로 이동하기 위해 91.121.xx에 대한 경로가 필요합니다.

이는 91.121.xx에 도달하려는 모든 트래픽이 Xen 서버에서 종료된다는 의미입니다.

이전 질문에서는 모든 인터페이스가 동일한 네트워크에 있었기 때문에 모든 것이 기본 인터페이스에 연결될 수 있었습니다. 이는 레이어 2 연결입니다.

그러나 이 경우 게스트는 호스트와 다른 네트워크에 있습니다. 레이어 3(라우팅) 연결이 필요합니다.

호스트에서 두 가지 일이 일어나야 합니다.

1) 91.121.xx 네트워크의 인터페이스가 필요합니다. 2) 라우터가 되어야 합니다.

(1)의 경우 이전과 유사한 네트워크 설정이 있지만 물리적 인터페이스는 브리지 외부에 유지됩니다. 가상 머신이 연결할 브리지 인터페이스를 생성하지만 eth0 인터페이스와는 별도로 자체 주소를 제공합니다.

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports none
        address 91.121.x.1
        netmask 255.255.255.0

iface eth0 inet static
       address 188.165.X.Y
       netmask 255.255.255.0
       network 188.165.X.0
       broadcast 188.165.X.255
       gateway 188.165.X.254

이 문제가 발생하면 서버는 두 개의 인터페이스를 갖게 되며 라우터 역할을 할 수 있습니다. 이는 기본적으로 꺼져 있습니다. 변경 /etc/sysctl.conf하고 다음 줄의 주석 처리가 해제되었는지 확인하세요.

 net.ipv4.ip_forward=1

다음을 사용하여 명령줄에서 이를 일시적으로 활성화할 수 있지만 재부팅 후에도 유지하려면 위의 변경이 필요합니다.

 sysctl -w net.ipv4.ip_forward=1

이제 서버는 91.121.xx로 향하는 eth0에 도착하는 패킷을 br0 인터페이스 외부로 라우팅합니다. 이제 VM을 이 인터페이스에 연결해야 합니다. 이것은 일반적으로 수행하는 것과 똑같습니다. 완전성을 위해 여기에 넣습니다.

.cfg에서:

 vif = ['bridge=br0, mac=00:16:3E:12:16:19']

domU 인터페이스 파일에서:

auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 91.121.x.x (this is the dom0 br0 interface address)
    netmask 255.255.255.0

91.121.x.xdomU에서 ping dom0으로 ping을 보내고 91.121.x.254dom0에서 ping domU로 ping 하여 브리지를 건너 모든 것이 올바르게 작동하는지 테스트할 수 있습니다 . 그런 다음 domu에서 dom0 외부 인터페이스를 ping합니다.188.165.X.Y

첫 번째 핑은 브리지가 작동 중임을 증명하고 두 번째 핑은 라우팅이 작동 중임을 증명합니다.

관련 정보