VPN 子网路由:目标端口不可达

VPN 子网路由:目标端口不可达

我通过 VPN 连接到充当虚拟机管理程序的 Ubuntu 服务器,该服务器运行 1 个虚拟机。我可以从服务器上的命令行 ping 虚拟机,但无法通过计算机上的 VPN 连接 ping 虚拟机。所有 ping 都返回“目标端口无法访问”

我有一个virbr1这样的:( virbr1 Link encap:Ethernet HWaddr 52:54:00:cb:4d:9b inet addr:10.0.100.1 Bcast:10.0.100.31 Mask:255.255.255.224 由 Libvirt 创建)

我在虚拟机管理程序上运行了 1 个 VM 10.0.100.16,我可以从虚拟机管理程序 ping 该 VM,但不能通过 VPN ping 该 VM。

我的 openvpn server.conf 有: server 10.0.1.0 255.255.255.240 push "route 10.0.100.0 255.255.255.224"

在我的客户端上,我可以 ping 通10.0.100.1,但不能 ping 通10.0.100.16 PING 10.0.100.16 (10.0.100.16) 56(84) bytes of data. From 10.0.1.1 icmp_seq=1 Destination Port Unreachable

看起来10.0.100.16ping 响应不包含10.0.1.1

当我tun1在虚拟机管理程序上运行 tcpdump 时,我看到: IP 10.0.1.6 > 10.0.100.16: ICMP echo request, id 26073, seq 1, length 64 IP 10.0.1.1 > 10.0.1.6: ICMP 10.0.100.16 protocol 1 port 43991 unreachable, length 92

由于某种原因,10.0.1.1它被用来代替10.0.100.16ICMP 回复。

知道哪里出错了吗?路由错误,缺少 iptables?

答案1

您没有提到与 virbr0 设备关联的 libvirt 虚拟网络的配置。libvirt 的默认配置是设置基于 NAT 的连接。在这样的设置中,libvirt 具有将 NAT 应用于出站连接的防火墙规则。入站连接仅从主机操作系统本身接受 - 没有来自主机外网络的路由,我认为这可能包括您的 VPN 连接。

相关内容