Oh meu, tão velho ... Mas desde que cheguei aqui tentando encontrar uma solução, aqui está uma. Eu acho que seu problema está em "ip = 192.168.1.2" na sua linha vif , mas se eu estiver errado, a resposta é inútil. E mesmo se eu estiver certo, é inútil para pessoas com configurações um pouco diferentes. Portanto, versão longa:
Configuração de rede DomU (tudo o mais não importa):
vif=['bridge=xenbr0']
O Bridge é configurado na interface fictícia, composta dessa forma (esses são comandos executados como root):
# modprobe dummy
# ifconfig dummy0 up
# brctl addbr xenbr0
# brctl addif xenbr0 dummy0
Veja como fica depois de iniciar sua VM (você pode ver o vif16.0 da VM conectado à sua ponte):
# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.1a088b6b402f no dummy0
vif16.0
Eu uso DHCP, mas você pode atribuir IPs manualmente. Para xenbr0 para Dom0 e eth0 em DomU para DomU. Não atribua nenhum IP a seus membros da bridge! Isso é importante.
ifconfig para o Dom0 se parece com isso (estatísticas removidas para torná-lo menos volumoso):
dummy0 Link encap:Ethernet HWaddr 1a:08:8b:6b:40:2f
inet6 addr: fe80::1808:8bff:fe6b:402f/64 Scope:Link
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
vif16.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
xenbr0 Link encap:Ethernet HWaddr 1a:08:8b:6b:40:2f
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::1808:8bff:fe6b:402f/64 Scope:Link
E da DomU é assim:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.21 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::216:3eff:fe25:e843 prefixlen 64 scopeid 0x20<link>
Pingando Dom0:
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.238 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.279 ms
E para o acesso à internet (minha configuração é essencialmente NAT, a sua deve ter acesso à internet nativamente), permitindo que o NAT seja necessário assim:
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 ! -d 192.168.2.0/24 -j MASQUERADE
Para a solução de problemas, use tcpdump -v -i xenbr0
. Isso ajuda muito, já que o Ping bem-sucedido exige que o seu pacote saia e retorne , portanto, não lhe dá nenhuma pista sobre quando é perdido - enquanto sai ou volta.