Assumirei que 91.121.x.x é roteado pela Internet para o gateway no gateway 188.165.X.254
O gateway, em seguida, precisa de uma rota para 91.121.x.x para ir para o host da VM em 188.165.X.Y
Isso significa que qualquer tráfego que tente chegar ao 91.121.x.x terminará no seu servidor Xen.
Na pergunta anterior, todas as interfaces estavam na mesma rede e, portanto, tudo poderia ser conectado à interface principal - essa é uma conexão de camada 2.
No entanto, neste caso, os convidados estão em uma rede diferente do host. Precisamos de uma camada 3 - conexão roteada.
Duas coisas precisam acontecer no host
1) Ele precisa de uma interface na rede 91.121.x.x 2) Ele precisa se tornar um roteador
Para (1), temos uma configuração de rede semelhante a anterior, mas a interface física é mantida fora da ponte. Criamos uma interface de ponte para as máquinas virtuais se conectarem, mas fornecemos a ela o seu próprio endereço separado da interface eth0:
auto lo br0 eth0
iface lo inet loopback
iface br0 inet static
bridge_ports none
address 91.121.x.1
netmask 255.255.255.0
iface eth0 inet static
address 188.165.X.Y
netmask 255.255.255.0
network 188.165.X.0
broadcast 188.165.X.255
gateway 188.165.X.254
Quando isso ocorrer, o servidor terá duas interfaces e poderá atuar como um roteador. Isso está desativado por padrão. Altere /etc/sysctl.conf
e certifique-se de que a linha a seguir não esteja comentada:
net.ipv4.ip_forward=1
Você pode ativar isso temporariamente na linha de comando com o seguinte, mas a alteração acima é necessária para sobreviver a uma reinicialização:
sysctl -w net.ipv4.ip_forward=1
Agora o servidor irá rotear os pacotes que chegam na eth0 destinados a 91.121.x.x fora da interface br0. Então, agora precisamos unir a vms a essa interface. Isto é exatamente como você normalmente faz, apenas colocando aqui para completar:
No .cfg:
vif = ['bridge=br0, mac=00:16:3E:12:16:19']
No arquivo de interfaces domU:
auto eth0
iface eth0 inet static
address 91.121.A.B
gateway 91.121.x.x (this is the dom0 br0 interface address)
netmask 255.255.255.0
Você pode testar se tudo está funcionando corretamente na ponte fazendo ping de 91.121.x.x
de domU para ping dom0 e ping 91.121.x.254
para pingar domU de dom0. Em seguida, execute ping na interface externa do dom0 a partir de domu: 188.165.X.Y
O primeiro ping prova que a ponte está funcionando e a segunda prova que o roteamento está funcionando.