我尝试通过 Windows PC 上的云中继服务器连接到远程网络 10.0.4.0/24,但没有成功。整个设置如下所示: 在此处输入图片描述
Windows 客户端位于 192.168.150.0/24 本地远程网络,我想要访问的位于 10.0.4.0/24
我的 openvpn server.conf
local 161.xx.xx.xxx
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 67.207.67.2"
push "dhcp-option DNS 67.207.67.3"
push "block-outside-dns"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify
client-config-dir ccd
client-to-client
route 10.0.4.0 255.255.255.0 10.8.0.2
route 192.168.150.0 255.255.255.0 10.8.0.4
适用于 Windows2 和客户端的客户端 ccd 文件。
客户
iroute 10.0.4.0 255.255.255.0
push "route 192.168.150.0 255.255.255.0"
窗户2
iroute 192.168.150.0 255.255.255.0
push "route 10.0.4.0 255.255.255.0"
我可以看到路由被添加到两个客户端,并且我已经将路由添加到主 ubuntu 服务器(云),但仍然无法访问...我做错了什么?
答案1
我的第一个猜测是本地 LAN 不了解 VPN 网络。鉴于 Alma 的路由表包含一个default via 10.0.4.1
条目,看来 Alma 不是本地 LAN 的默认网关。
为此,当 Windows 服务器通过 VPN ping 本地 LAN 时,目标计算机不知道如何处理源地址10.8.0.4
,因此它将答案转发到默认路由器,而默认路由器也不知道 VPN 网络,因此答案永远不会到达 Windows 计算机。
网络中的计算机10.0.4.0/24
需要能够正确地将包裹路由到10.8.0.0/24
。因此,它们要么需要一个route
条目来告诉它们10.8.0.0/24
要通过 Alma 服务器路由,要么您需要将 VPN 客户端从 Alma 移动到本地 LAN 的默认网关。
也有可能(如果在本地 LAN 上正确设置了路由),Alma 服务器不允许两个网络之间的路由。检查 Alma 服务器上的路由和防火墙设置,看是否存在任何禁止 LAN 和 VPN 之间路由的内容。
答案2
将此命令添加到Alma修复了这个问题
sudo iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
其中 enp1s0 是连接到 10.0.4.0/24 的接口。快乐的日子