저는 XEN 4.1과 함께 Debian wheezy를 사용하고 있습니다. 두 개의 네트워크 브리지 xenbr0과 xenbr1이 있습니다.
xenbr0은 real-eth0-nic에 연결되어 있어 domU가 외부 세계와 통신할 수 있으며 이는 잘 작동했습니다.
xenbr1은 domU와 dom0 간의 통신을 위한 내부 네트워크 브리지로 사용되었습니다.
문제는 xenbr1인데 이유를 모르겠습니다. domU 사이에 핑을 보낼 수 있기 때문에 domU는 xenbr1에 성공적으로 연결되었습니다. 따라서 브리지는 어떻게든 작동하지만 dom0의 xenbr1과의 트래픽은 불가능합니다.
/etc/network/interfaces의 내 xenbr1 설정:
auto xenbr1
iface xenbr1 inet static
pre-up brctl addbr $IFACE
up ip link set $IFACE up
post-down brctl delbr $IFACE
down ip link set $IFACE down
address 10.0.0.1
netmask 255.255.255.0
hwaddress ether MAC
brctl 쇼:
bridge name bridge id STP enabled interfaces
xenbr0 8000.mac no eth0
vif1.0
vif2.0
xenbr1 8000.mac no vif1.1
vif2.1
네트워크 연결:
dom0
xenbr1 - 10.0.0.1
/ \
/ \
domU-1 domU-2
vif1.1 - 10.0.0.2 vif2.1 - 10.0.0.3
domU-1은 domU-2를 ping할 수 있고 그 반대도 가능합니다.
dom0은 어떤 domU에도 연결할 수 없고 domU도 dom0에 연결할 수 없습니다.그래서 dom0에서 뭔가가 차단된 것 같아요.
내 첫 번째 생각은 iptables에 문제가 있을 수 있다는 것이었지만 xen이 필요한 규칙을 만든 것 같습니다.
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -m physdev --physdev-out vif2.1 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-in vif2.1 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-out vif2.0 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-in vif2.0 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-out vif1.1 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-in vif1.1 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-out vif1.0 --physdev-is-bridged -j ACCEPT
-A FORWARD -m physdev --physdev-in vif1.0 --physdev-is-bridged -j ACCEPT
누구든지 나를 도울 수 있거나 어디에서 볼지 시작할 수 있기를 바랍니다.
답변1
나는 이것이 트래픽이 실제로 dom0에 도달하기 위해서는 실제로 Lonux dom0의 브리지 이외의 인터페이스가 필요하기 때문이라고 생각합니다. 브리지는 단지 브리지일 뿐이며 dom0에 대한 인터페이스를 제공하지 않습니다. dom0에 더미 인터페이스를 설정하고 이를 브리지나 탭 인터페이스에 추가해 볼 수 있습니다. 이것이 무슨 일이 일어나고 있는지 확실하지 않지만 확실히 시도해 볼 가치가 있습니다.