
Em um servidor raiz decidido com 1+X endereços IP públicos em um ambiente hospedado, executando Debian Lenny com Xen 3.2, desejo instalar vários domUs. A rota de rede em ponte não é uma opção devido aos requisitos da empresa de hospedagem. Eles recomendam a configuração roteada, mas, pelo que entendi, isso exige o gasto de dois IPs públicos no dom0, o que não posso pagar.
Na minha configuração, X domUs terá um endereço IP público e deverá ser acessível pela rede. Outros domUs devem estar em sub-redes privadas (por exemplo, 10.0../ 192.168..) e não acessível do exterior. Os domUs nas mesmas sub-redes privadas devem poder se comunicar, mas não os domUs em outras sub-redes privadas. Uma vantagem seria se todo o tráfego (incluindo os domUs com endereços IP públicos) fosse roteado através do dom0, que poderia atuar como firewall (iptables?).
Existe alguém que tenha uma configuração semelhante à minha e esteja disposto a compartilhar alguns arquivos de configuração e dicas?
Responder1
Você deve configurar duas pontes no dom0. Você pode usar as entradas padrão /etc/network/interfaces
para isso. Vamos supor que sua placa real seja eth0 (e haja um servidor DHCP por trás dela) e que você a tenha bridge-utils
instalado. O arquivo poderia ficar assim:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 0
auto br1
iface br1 inet static
bridge_ports none
bridge_maxwait 0
address 192.168.0.1
netmask 255.255.255.0
Você configura /etc/xen/xend-config.sxp
com network-brigde e vif-bridge. Em cada arquivo de configuração do domU, você seleciona se deseja que ele tenha acesso externo direto (via br0) ou se deve ter acesso apenas via br1. Para isso você pode usar linhas vif como estas:
vif = ['bridge=br0']
vif = ['bridge=br1']
Claro, você ainda precisa configurar o NAT/mascaramento sobre br1 e a configuração de rede do domU deve corresponder (ou seja, aqueles em br0 devem usar DHCP e aqueles em br1 devem ter um IP estático no meu exemplo acima).
Responder2
Eu configurei exatamente a mesma coisa. O que fizemos foi NAT. Definitivamente é isso que você está procurando. Você precisa ter um script no dom0 fazendo NAT do tráfego dos IPs públicos para os IPs privados apropriados. Obviamente, você pode aplicar regras de firewall no processo.
Para o NATing dos IPs públicos uma única linha é suficiente:
iptables -t nat -A PREROUTING -i eth0 -d PUBLICIP -j DNAT --to-destination INTERNALIP
Repita este processo para cada IP público e adicione regras de firewall, se desejar.
Mascarando as VMs:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Responder3
A rota de rede em ponte não é uma opção devido aos requisitos da empresa de hospedagem.
Só estou pensando, não tenho ideia se isso vai funcionar, mas você investigou a possibilidade de usar umarp proxyabordagem?