Tanto quanto eu entendo que você quer quase a mesma configuração que eu, então vou tentar descrevê-lo:
Meu servidor KVM com 2 NICs executa o Ubuntu 13.10 Server com KVM + Libvirt. Um NIC serve como ponte na LAN e o outro é passado diretamente do ISP para o firewall virtual (executando o Vyatta).
Meu ISP atribui IPs com o DHCP vinculado ao endereço MAC. O firewall virtual manipula as chamadas do cliente DHCP para o ISP para que o IP seja atribuído diretamente a ele.
No servidor / host KVM, tive que definir um endereço local estático no NIC voltado para o ISP para impedir que ele fizesse chamadas do cliente DHCP (já que meu ISP só concederá um IP)
Este é o / etc / network / interfaces no host (eth0 conectado ao switch LAN, eth1 diretamente de / para o ISP):
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 10.0.0.2
netmask 255.255.255.0
gateway 10.0.0.1
network 10.0.0.0
broadcast 10.0.0.255
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
dns-nameservers 10.0.0.4
dns-search lan
auto eth1
iface eth1 inet static
address 10.0.99.1
netmask 255.255.255.252
Esta é a configuração da interface para a máquina virtual:
<interface type='direct'>
<mac address='52:54:00:b6:58:85'/>
<source dev='eth1' mode='vepa'/>
<target dev='macvtap0'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='52:54:00:88:94:6e'/>
<source bridge='br0'/>
<target dev='vnet1'/>
<model type='virtio'/>
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>
A configuração das interfaces Vyatta é assim (eth1 vai para LAN / bridge e eth0 é a conexão ISP voltada para eth1 no host):
interfaces {
ethernet eth0 {
address dhcp
duplex auto
firewall {
in {
name wan2lan
}
local {
name wan2gw
}
}
hw-id 52:54:00:b6:58:85
smp_affinity auto
speed auto
}
ethernet eth1 {
address 10.0.0.1/24
duplex auto
hw-id 52:54:00:88:94:6e
smp_affinity auto
speed auto
}
loopback lo {
}
}
Desta forma eu recebo o endereço DHCP do meu provedor diretamente no firewall virtual, e o roteamento no host passa pelo firewall virtual como eu quero.
Espero que isso ajude: -)