我使用的是 Mac 笔记本电脑,当我连接到 CISCO VPN 时,所有流量都通过隧道路由。但是,我需要运行虚拟机(VirtualBox,Ubuntu 作为客户机)来提供某些服务。虚拟机通过仅主机网络 (192.168.56.0/24) 连接到主机。当 VPN 连接时,即使到此地址范围的流量也会发送到 VPN,因此我无法再连接到虚拟机。
我尝试过使用 route 命令。当我尝试
route change -net 192.168.56.0/24 192.168.56.1
设置路线,sendto: Permission denied
当我尝试ping
VM 地址时我得到了该信息。
什么是正确的路由设置,以便我可以连接到虚拟机(通过vboxnet1
接口)同时让所有其他流量通过 VPN?
答案1
最后我找到了“sendto:权限被拒绝”错误的原因。
路由表已正确添加。问题出在 Cisco AnyConnect VPN 客户端会通过修改主机上的防火墙 (ipfw) 规则来自动阻止任何其他流量,添加一行如下
01200 667 136583 deny ip from any to any
删除此规则
sudo ipfw delete 01200
会做。
答案2
尝试使用 sudo 重新运行该命令。由于您正在系统级别修改路由表,因此您需要使用管理员/root 权限来执行该操作。
此外,Cisco VPN 客户端会创建一个虚拟网络设备,所有流量都会通过该设备路由,因此您需要在该接口网络和 VM 之间添加路由。抱歉,我不知道完整的命令。
答案3
尝试这个
sudo /sbin/route add -net 192.168.56 -interface 你的接口名称
您可以通过 ifconfig 获得 Interface_name,然后选择行中第一个出现的名称(例如 en1)。您可以使用虚拟框接口。
高血压