KVM Bridge com ip externo com windows server 2012 guest

1

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.

    
por Tom Widdowson 05.09.2014 / 16:05

1 resposta

0

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.

    
por 05.09.2014 / 16:07