1 conselho com xen, se você decidir usar o bridge clássico (vs ovs), configure-o manualmente, pois os scripts não acertaram para mim no início (com o único nic sendo bloqueado)
algo assim deve fazer uma ponte para o trabalho:
auto lo br0
iface lo inet loopback
iface br0 inet static
address 192.168.128.7
netmask 255.255.255.128
network 192.168.128.0
broadcast 192.168.128.127
gateway 192.168.128.126
dns-nameservers 172.16.2.200
bridge_ports eth1
bridge_stp off
bridge_fd 0
#bridge_hello 2
#bridge_maxage 12
iface eth1 inet manual
Agora, em todos os hóspedes, você obterá uma interface 'eth0' (rfr. bridge_fd = 0), se você atribuir um endereço IP a essa interface, ela estará na ponte br0 e poderá fazer tudo como o host pode, dado o fato de que nada está bloqueando isso (netfilter etc)
por completo, então edite /etc/sysctl.conf (assumindo debian aqui, sry) e defina como pode ser necessário para sua rede
net.ipv4.conf.eth1.proxy_arp = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
e faça sysctl -p para confirmá-los. Isso desativa o netfilter de intervir na ponte. Alternativamente, você pode usar o iptables para fazer isso também. do topo da minha cabeça, algo assim (eles podem não ser todos necessários), mas como eu não uso isso, é só para dar uma ideia:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
iptables -I FORWARD -m physdev --physdev-in vif1.0 -j ACCEPT
Essa interface vif1.0 (ou talvez denominada um pouco diferente) será mostrada assim que seu guest começar, você pode verificar a rede no host com as ferramentas clássicas (ip, ifconfig etc).