系统相关
首页 > 系统相关> > linux – 通过VPN访问VirtualBox guest虚拟机

linux – 通过VPN访问VirtualBox guest虚拟机

作者:互联网

我已经搜索并尝试了一些建议,但我还没有能够让它工作,但……

我的主机正在运行Ubuntu.我安装了VirtualBox,创建了一个仅限主机的适配器,将主机IP设置为192.168.15.1,然后我关闭了适配器的DHCP服务器.然后我创建了guest(Win XP),并将IP设置为192.168.15.101/24并将DG设置为192.168.15.1我可以从主机ping到Guest,反之亦然.

然后我在主机上安装了OpenVPN.创建了我自己的CA,服务器证书/密钥和客户端证书/密钥.将OpenVPN服务器conf设置为推送到任何VPN客户端的192.168.15.0/24路由.我将路由器设置为将UDP 1194转发到OpenVPN服务器并测试连接.

OpenVPN客户端是在另一台笔记本电脑上运行的Debian.建立VPN隧道后,VPN客户端(10.8.0.6)可以ping VPN主机(10.8.0.1),反之亦然.客户端还可以在192.168.15.1上ping主机的“仅主机”IP,没有任何问题.

我的问题是让Open VPN Client(10.8.0.6)与VM Guest(192.168.15.101)对话.我不认为VM Guest(XP)知道VPN客户端存在,它无法将流量/响应路由到10.8.0.6.

你可以1)告诉我我缺少哪些步骤以及2)如何解决这个问题?

谢谢.

来自OpenVPN服务器/ VirtualBox主机的IPTABLES输出……

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


丢失的部分是ip转发.我需要编辑/etc/sysctl.conf并更改它:

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

对此

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

感谢Hauke Laging!

解决方法:

您必须检查防火墙配置是否允许转发:

iptables -L -nv

但仅配置防火墙以允许路由是不够的.必须在内核中启用路由功能本身.如果内核甚至没有尝试路由,那么防火墙是否允许数据包通过并不重要.您可以使用检查路由状态

cat /proc/sys/net/ipv4/ip_forward

返回1(启用路由)或0(禁用路由),后者通常是默认值.您可以使用更改此设置

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

可以进行永久性的改变,例如通过/etc/sysctl.conf.

标签:linux,virtualbox,openvpn,route
来源: https://codeday.me/bug/20190815/1661012.html