Acredito que meu problema é semelhante a essa pergunta em como acessar o convidado do VirtualBox via VPN , mas não completamente. Eu estou tentando ir para o outro lado: estou tentando chegar a um destino que é acessível para o host via OpenVPN, do convidado.
Meu convidado do VirtualBox tem uma rede somente de host ( vboxnet0
) onde o convidado é 192.168.56.101
e o host é 192.168.56.1
. O host é um cliente em uma rede OpenVPN que leva a 10.44.55.55
através de seu gateway virtual tun1
em 10.9.0.1.
OpenVPN. A conectividade do cliente para o remoto é bem conhecida.
No convidado, defini uma rota: route add -host 10.44.55.55 gw 192.168.56.1 dev enp0s8
... para que a tabela de roteamento tenha esta aparência:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 enp0s3
10.44.55.55 192.168.56.1 255.255.255.255 UGH 0 0 0 enp0s8
Isso, como você vê, é o endereço IP do lado do host da rede somente host e o adaptador de rede virtual que leva a ele.
No convidado, tentei agora ping 10.44.55.55
. Não houve resposta, e eis como tentei sistematicamente diagnosticar o problema:
tcpdump -nn icmp
no host mostra que os pacotes estão sendo emitidos pelo endereço do cliente para o destino: 192.168.56.101 > 10.44.55.55
. O problema é que eles não chegam lá. Embora o host conheça uma rota para 10.44.55.55
e possa executá-lo, e embora os pacotes possam ser vistos por tcpdump
no host, eles não passarão pelo túnel até o destino, assim como os pacotes emitidos pelo mesmo comando o host.
tcpdump -nn icmp
executado no lado remoto mostra que os pacotes de ping não estão chegando, se o tráfego é originado na máquina virtual. (Claro, se o host emite ping 10.44.55.55
, os pacotes do chegam.)
O host é o Mac OS / X (El Capitan) e ocorreu-me que "talvez este seja um problema de encaminhamento de pacotes no host." Referindo-se agora a este tópico no encaminhamento de pacotes no OS X , Eu encontrei o comando sysctl
apropriado e habilitei o encaminhamento de pacotes conforme descrito lá, mas não tenho alegria.
Veja como eu sei que o encaminhamento de porta foi ativado no host do OS / X, embora não tenha sido útil:
$ sysctl -a | grep forw
net.inet.ip.forwarding: 1
Estou confiante de que estou bastante perto de uma solução aqui, mas não consigo encontrar o mojo de rede adequado. Agradecemos antecipadamente ...
Nota adicional: Ainda mexendo com isso, tentei definir uma rota para 10.9.0.1
(o portal OpenVPN em questão) com resultados negativos semelhantes.