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