Acessando o convidado do VirtualBox via VPN

3

Eu pesquisei e tentei algumas sugestões, mas ainda não consegui fazer isso funcionar ...

Meu host está executando o Ubuntu. Eu instalei o VirtualBox, criei um adaptador somente para host, configurei o IP do host para 192.168.15.1 e desliguei o servidor DHCP do adaptador. Então eu criei o guest (Win XP), e configurei o IP para 192.168.15.101/24 e configurei o DG para 192.168.15.1 Eu posso pingar do Host para o Guest e vice-versa.

Então eu instalei o OpenVPN no host. Criei minha própria CA, servidor certs / key e client cert / key. Defina o conf do servidor OpenVPN para PUSH a rota 192.168.15.0/24 para qualquer cliente VPN. Configurei meu roteador para encaminhar o UDP 1194 para o servidor OpenVPN e testei a conexão.

O cliente OpenVPN é o Debian rodando em outro laptop. Depois que o túnel VPN é estabelecido, o cliente VPN (10.8.0.6) pode executar ping no host VPN (10.8.0.1) e vice-versa. O cliente também pode executar ping no IP dos hosts somente para host em 192.168.15.1 sem problemas.

Meu problema é obter o Open VPN Client (10.8.0.6) conversando com o VM Guest (192.168.15.101). Eu não acho que o VM Guest (XP) está ciente de que o cliente VPN existe, não tem como encaminhar o tráfego / respostas para 10.8.0.6.

Você pode 1) me dizer qual o passo (s) que está faltando e 2) como consertar isso?

Obrigado.

Saída IPTABLES do servidor OpenVPN / host VirtualBox ...

root@xxxxxxxxxxxx:~# iptables -L -nv
Chain INPUT (policy ACCEPT 48 packets, 53304 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 35 packets, 2992 bytes)
 pkts bytes target     prot opt in     out     source               destination

SOLUÇÃO A peça que faltava era o encaminhamento de ip. Eu precisava editar o /etc/sysctl.conf e mudar isso:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

para isso

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Obrigado Hauke Laging!

    
por user3474267 29.03.2014 / 15:20

1 resposta

1

Você precisa verificar se a configuração do firewall permite o encaminhamento:

iptables -L -nv

Mas não é suficiente configurar o firewall para permitir o roteamento. O próprio recurso de roteamento deve estar ativado no kernel. Se o kernel não tentar rotear, não importa se o firewall permitiria a passagem dos pacotes ou não. Você pode verificar o estado de roteamento com

cat /proc/sys/net/ipv4/ip_forward

Isso retorna 1 (roteamento ativado) ou 0 (roteamento desativado), sendo o último o padrão. Você pode alterar essa configuração com

echo 1 >/proc/sys/net/ipv4/ip_forward

Uma mudança permanente pode ser feita, e. via /etc/sysctl.conf .

    
por 29.03.2014 / 23:38