Você redireciona TODOS os pacotes para as portas 80 e 443 para seu convidado, incluindo seus próprios pacotes. Adicione um
-i eth0
condição para suas regras DNAT.
Atualmente, estou configurando meu servidor. Eu uso proxmox
, semelhante a vmware
.
O importante é saber que eu só tenho um endereço IP externo. No meu servidor, eu encaminhar as portas 80 e 443 para o host virtual apache
usando este comando:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.0.43.113
iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to 10.0.43.113
Minha rede também está vinculada a:
iptables -t nat -D POSTROUTING -s '10.0.43.0/24' -o eth0 -j MASQUERADE
Agora, o problema é que, se eu redirecionar a porta 80 & 443 Desta forma, o apt-get gera 404 Erro quando eu uso de uma VM (atrás do meu portão).
Como posso redirecionar a porta para minha VM tendo o apt-get funcionando? O que estou fazendo errado?
Obrigado,
Você pode verificar (com tcpdump) o que acontece no servidor? Eu suponho que tal regra está faltando (supondo que eth1 é sua interface interna):
iptables -t nat -A PREROUTING -i eth1 -o eth1 -j SNAT --to $INTERNAL_GATEWAY_IP
Sem isso, o cliente tenta se conectar a 1.2.3.4, o gateway desvia o pacote para 10.0.43.113, o servidor da Web vê uma conexão do cliente (por exemplo, 10.0.43.112) e envia sua resposta para 10.0.43.112, e o cliente tendo enviado para 1.2.3.4 e recebendo uma resposta de 10.0.43.113 apenas vai "WTF?" ... Mas com SNAT o servidor responde ao gateway, o gateway reescreve o endereço de origem e de destino e todo mundo está feliz.
Tags apt port-forwarding iptables