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 vm02

Espere alguns segundos e controle com xm list que vm01 e vm02 foram desligados. Então reinicie o sistema:

shutdown -r now

Se 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.sxp

Agora 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:25

Se 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/iptables

Sempre 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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.