Xen Setup · 2 min read · Feb 10, 2026
A Configuração Perfeita do Xen 3.0.3 Para Debian Sarge - Página 5
4.5 Criar Uma Rede Local Virtual A Partir Das Máquinas Virtuais (Opcional)
(Este capítulo é opcional. O que é descrito aqui funciona apenas se você instalou o Xen a partir das fontes.)
Neste capítulo, quero criar uma rede virtual com minhas máquinas virtuais, ou seja, uma rede que é diferente da rede do dom0.
Você pode encontrar um desenho do que quero fazer aqui: http://wiki.xensource.com/xenwiki/XenNetworkingUsecase#head-7f23d0f2248cb0c70458f9339b4405e2b1bfc271
Eu fiz o mesmo com o Xen 2.0.7 aqui: https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p6. No entanto, a maneira de conseguir isso com o Xen 3 mudou completamente. O Xen 3 configura todas as regras de firewall, gateways, etc. automaticamente. Além disso, não precisamos mais de nenhuma interface de rede fictícia para nossa rede virtual. É importante saber que o Xen 3 atribui gateways da rede 10.x.x.x às nossas máquinas virtuais, então é uma boa ideia também atribuir endereços IP da rede 10.x.x.x às nossas máquinas virtuais. Se você lhes der endereços IP da rede 192.168.3.x (como fizemos com o Xen 2.0.7 em https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p6), então suas máquinas virtuais não terão acesso à internet.
Então, daremos ao vm01 o endereço IP 10.0.0.1 e ao vm02 o endereço IP 10.0.0.2.
Primeiro, editamos /etc/xen/xend-config.sxp e desabilitamos o bridging e habilitamos o NAT (tradução de endereço de rede) em vez disso:
vi /etc/xen/xend-config.sxp| [...] #(network-script network-bridge) #(vif-script vif-bridge) (network-script network-nat) (vif-script vif-nat) [...] |
Então, mudamos os arquivos de configuração do vm01 e vm02:
/etc/xen/vm01-config.sxp:
vi /etc/xen/vm01-config.sxp| name="vm01" kernel="/boot/vmlinuz-2.6-xenU" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm01.img,hda1,w','file:/vserver/images/vm01-swap.img,hda2,w'] vif=[ 'ip=10.0.0.1' ] dhcp="off" hostname="vm01.example.com" ip="10.0.0.1" netmask="255.0.0.0" gateway="10.0.0.254" extra="3" |
/etc/xen/vm02-config.sxp:
vi /etc/xen/vm02-config.sxp| name="vm02" kernel="/boot/vmlinuz-2.6-xenU" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm02.img,hda1,w','file:/vserver/images/vm02-swap.img,hda2,w'] vif=[ 'ip=10.0.0.2' ] dhcp="off" ip="10.0.0.2" netmask="255.0.0.0" gateway="10.0.0.254" hostname="vm02.example.com" extra="3" |
Depois, desligue vm01 e vm02:
xm shutdown vm01
xm shutdown vm02Espere alguns segundos e controle com xm list que vm01 e vm02 foram desligados. Então reinicie o sistema:
shutdown -r nowSe vm01 e vm02 não forem iniciados automaticamente na inicialização, inicie-os agora:
xm create /etc/xen/vm01-config.sxp
xm create /etc/xen/vm02-config.sxpAgora você deve ser capaz de pingar vm02 a partir de vm01 e vice-versa, e também deve ser capaz de pingar dom0 e hosts na internet!
Agora vamos supor que temos um servidor web na porta 80 em vm01 e um servidor de e-mail na porta 25 em vm02. Como eles estão em sua própria rede (10.x.x.x), não podemos acessá-los do exterior, a menos que encaminhemos essas portas para a vm apropriada. Podemos criar as regras de encaminhamento de porta necessárias no dom0 com a ajuda do iptables:
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.1:80
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to 10.0.0.2:25Se nos conectarmos ao dom0 agora na porta 80, seremos encaminhados para vm01. O mesmo vale para a porta 25 e vm02.
Claro, as regras de encaminhamento são perdidas quando reiniciamos o dom0. Portanto, colocamos as regras em /etc/network/if-up.d/iptables, que é executado automaticamente quando o sistema inicializa:
vi /etc/network/if-up.d/iptables| #!/bin/sh ### Encaminhamento de Porta ### iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.1:80 iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to 10.0.0.2:25 |
Agora temos que tornar esse script executável:
chmod 755 /etc/network/if-up.d/iptablesSempre que você precisar de regras adicionais de encaminhamento de porta, execute-as no shell do dom0 e, em seguida, anexe-as a /etc/network/if-up.d/iptables para que fiquem disponíveis mesmo após uma reinicialização.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.