当我们搭建OpenVpn服务端后,用OpenVpn客户端连接到服务端后,客户端可以访问服务端的vpn地址(如10.8.0.1),可以访问服务端的内网地址(如192.168.0.28)。服务端可以访问客户端的vpn地址(如10.8.0.6),但是无法访问客户端的内网地址(如192.168.1.10)。本文将在 这篇 文章的基础上,让服务端可以访问客户端的内网地址,实现不同网段的两台机器无感互通。
如下图所示:
在 这篇 文章中,我们已经能从vpn客户端访问vpn服务端的内网ip地址、vpn ip地址,以及内网其他机器的内网ip地址(通过在vpn服务端开启ip转发并设置iptables的SNAT转发),以及从vpn服务端访问vpn客户端的vpn ip地址(如果无法访问,请在客户端和服务端都添加防火墙规则,允许这些ip地址以及相应协议的访问,比如ping的icmp协议)。
现在我们要实现从vpn服务端访问vpn客户端的内网地址 192.168.1.10,从而打通vpn服务端和客户端的跨网段访问。
下面将用Ubuntu22.04作为vpn服务端以及vpn客户端。