Você não pode fornecer a duas máquinas o mesmo endereço IP e esperar que elas funcionem.
Dê ao convidado do Windows um endereço IP diferente.
Atualmente, estou configurando um servidor windows convidado com o kvm / qemu em um host 14.04 unbuntu e uma conexão de rede em ponte para permitir que o servidor seja exposto pela internet.
Estou tentando dar ao meu servidor windows o mesmo ip do meu servidor host linux, esse ip é o endereço ip externo do servidor.
Eu sou muito novo nisso, então eu configurei minha bridge usando este comando no Ubuntu 14.04
virsh iface-bridge eth0 br0
Minha ponte atual que criei é a seguinte (edite o ip do servidor externo, substituído por letras).
br0 Link encap:Ethernet HWaddr 38:60:77:26:4a:b3
inet addr:aaa.bb.ccc.137 Bcast:aaa.bb.ccc.255 Mask:255.255.255.0
inet6 addr: aaaa:bbbb:8:e89::1/128 Scope:Global
inet6 addr: aaaa::bbbb:cccc:fe26:4ab3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1607000 errors:0 dropped:42 overruns:0 frame:0
TX packets:1458574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3860135693 (3.8 GB) TX bytes:164453268 (164.4 MB)
eth0 Link encap:Ethernet HWaddr 38:60:77:26:4a:b3
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5629010 errors:0 dropped:0 overruns:0 frame:0
TX packets:2998492 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8133304283 (8.1 GB) TX bytes:446483217 (446.4 MB)
Interrupt:20 Memory:fe500000-fe520000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:50169 errors:0 dropped:0 overruns:0 frame:0
TX packets:50169 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12576653 (12.5 MB) TX bytes:12576653 (12.5 MB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:402 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:67355 (67.3 KB) TX bytes:50853 (50.8 KB)
E aqui está o meu / etc / network / interfaces que foi criado com o comando acima.
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address aaa.bb.ccc.137
netmask 255.255.255.0
gateway aaa.bb.ccc.254
bridge_ports eth0
bridge_stp on
bridge_fd 0
iface br0 inet6 static
address aaaa:bbbb:8:E89::1
netmask 128
Aqui está meu show de brctl mostrando que meu convidado está sendo adicionado à ponte que eu atribuí ao meu convidado usando o virt-manager. vnet0 é meu convidado.
root@ns388356:~# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.386077264ab3 yes eth0
vnet0
virbr0 8000.000000000000 yes
Agora eu acesso este nic através dos drivers virtio que estão instalados corretamente no sistema operacional convidado.
Não consigo receber nada do convidado, perdi algo importante aqui? Eu tenho um endereço ipv6 também, é possível usar isso para o guest so só talvez?
ATUALIZAÇÃO:
No final, acabei mantendo a interface de rede padrão e, depois, usando o iptables para encaminhar conexões externas em portas específicas para o equivalente interno. Nada extravagante e estou muito envergonhado com a simplicidade.
Aqui estão os comandos que eu usei.
iptables -t nat -A PREROUTING -p tcp -d (external ip) --dport 3389 -j DNAT --to-destination 192.168.122.202:3389
Isso adicionou a regra ao firewall
iptables -t nat -D PREROUTING -p tcp -d (external ip) --dport 3389 -j DNAT --to-destination 192.168.122.202=:3389
Isso foi removido se necessário (o dhcp atribui um novo ip interno)
Então eu apenas libero o iptables
iptables --flush
Agora, eles precisam ser salvos, pois são perdidos quando ocorre uma reinicialização.