Permitir que os convidados do KVM na rede virtual virsh acessem a rede interna real

3

Eu tenho uma rede doméstica 192.168.1.0 atrás de um roteador 192.168.1.1. Um conjunto de hosts Linux e Windows existentes está nessa rede, a maioria em conexões Ethernet com fio. Estou configurando um novo servidor que executa um hypervisor KVM e 3 convidados Debian. O novo servidor usa wifi para conectividade de rede.

No hipervisor, usei virsh para configurar uma rede virtual como esta:

<network>
  <name>virtual</name>
  <forward mode='route'/>
  <ip address='192.168.2.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.2.2' end='192.168.2.255'/>
      <host mac='52:54:00:00:00:01' ip='192.168.2.2'/>
      <host mac='52:54:00:00:00:02' ip='192.168.2.3'/>
      <host mac='52:54:00:00:00:03' ip='192.168.2.4'/>
    </dhcp>
  </ip>
</network>

Em seguida, criei uma rota estática em meu roteador de 192.168.2.0/24 para o endereço IP do hipervisor 192.168.1.41.

Quando eu criei os convidados Debian, eu especifiquei o nome da rede virtual e os endereços MAC da rede virsh virtual, assim:

--network network=virtual,mac=52:54:00:00:00:01

Isso resulta em /etc/network/interfaces assim em cada convidado:

iface eth0 inet static
   address 192.168.2.2
   netmask 255.255.255.0
   network 192.168.2.0
   broadcast 192.168.2.255
   gateway 192.168.2.1

Com essa configuração, as coisas funcionam principalmente. Eu posso:

  • Conecte-se dos hosts em 192.168.1.0 aos dois endereços IP do hypervisor (.2.1 e .1.41)
  • Conecte-se dos hosts em 192.168.1.0 a cada convidado
  • Conecte-se do hipervisor a cada convidado
  • Conecte-se de cada convidado ao hipervisor (.2.1) e a outro convidado
  • Conecte-se de cada convidado à internet pública
  • Encaminhe conexões externas (internet) do roteador para convidados individuais

No entanto, eu não posso conectar os convidados a nenhum host na rede 192.168.1.0. Por exemplo, eu não posso ssh de 192.168.2.2 para 192.168.1.31.

Um traceroute mostra algo assim:

traceroute to 192.168.1.31 (192.168.1.31), 30 hops max, 60 byte packets
 1  sol (192.168.2.1)  0.295 ms  0.252 ms  0.243 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *

Não tenho certeza se minha configuração está incorreta ou se estou tendo problemas com o ponto de acesso sem fio.

Eu tentei adicionar a configuração ebtables (conforme discutido aqui ) para fazer a tradução do MAC, mas isso não fez diferença. Eu tentei adicionar um dispositivo de rede ponte separado fora de virsh , mas os dispositivos virtuais existentes não podem ser anexados a nenhuma outra ponte. Eu considerei outras opções, como um filtro virsh ou talvez algumas regras do iptables, mas eu estou me agarrando a palhas.

Alguém pode sugerir o caminho certo para abordar isso?

    
por Ken Pronovici 30.10.2016 / 01:18

0 respostas