Estou conectado via VPN a um servidor Ubuntu que atua como um hipervisor, executando 1 VM. Posso executar ping na VM a partir da linha de comando no servidor, mas não consigo executar o ping na VM através da minha conexão VPN no meu computador. Todos os ping retornam "Porta de destino inacessível"
Eu tenho virbr1
assim:
virbr1 Link encap:Ethernet HWaddr 52:54:00:cb:4d:9b
inet addr:10.0.100.1 Bcast:10.0.100.31 Mask:255.255.255.224
(criado por Libvirt)
Eu tenho 1 VM em execução no hipervisor com IP, 10.0.100.16
que posso executar ping no hipervisor, mas não via VPN.
Meu openvpn server.conf possui:
server 10.0.1.0 255.255.255.240
push "route 10.0.100.0 255.255.255.224"
no meu cliente, posso executar ping, 10.0.100.1
mas não consigo 10.0.100.16
:
PING 10.0.100.16 (10.0.100.16) 56(84) bytes of data.
From 10.0.1.1 icmp_seq=1 Destination Port Unreachable
Parece que em vez da 10.0.100.16
resposta ping contém 10.0.1.1
.
Quando tcpdump tun1
no hypervisor, vejo:
IP 10.0.1.6 > 10.0.100.16: ICMP echo request, id 26073, seq 1, length 64
IP 10.0.1.1 > 10.0.1.6: ICMP 10.0.100.16 protocol 1 port 43991 unreachable, length 92
por algum motivo, 10.0.1.1
é usado em vez da 10.0.100.16
resposta do ICMP.
Alguma idéia do que pode estar errado? Roteamento incorreto, faltando iptables?
Respostas:
Você não menciona qual configuração você tem para a rede virtual libvirt associada ao dispositivo virbr0. A configuração padrão que libvirt faz é configurar a conectividade baseada em NAT. Nessa configuração, a libvirt possui regras de firewall que aplicam o NAT às conexões de saída. As conexões de entrada são aceitas apenas no próprio sistema operacional host - não há roteamento de redes fora do host, o que eu acho que provavelmente incluirá sua conexão VPN.
fonte