我跟着Synology 官方文档我创建了一个 OpenVPN 服务器来远程连接到 NAS,该 NAS 位于 LAN 中NAS_LOCAL_IP_ADDRESS
。VPN 服务器配置如下:
现在,我尝试通过 Tunnelblick 从我的 Mac 进行连接,如下所示他们的指示。他们特别指出:
使用 TextEdit 打开导出的文件 openvpn.ovpn,并将 YOUR_SERVER_IP 替换为您的 Synology NAS 的公共 IP 地址。如果您希望通过 VPN 发送所有流量,请从 #redirect-gateway def1 中删除 #。
这是我的VPNConfig.ovpn
:
dev tun
tls-client
remote YOUR_SERVER_IP 1194
pull
# If you want to connect by Server's IPv6 address, you should use
# "proto udp6" in UDP mode or "proto tcp6-client" in TCP mode
proto udp
script-security 2
comp-lzo
reneg-sec 0
cipher AES-256-CBC
auth SHA512
auth-user-pass
我不想将所有流量重新路由到 VPN,我只是想将请求路由到我的NAS_LOCAL_IP_ADDRESS
。
如果我留下#redirect-gateway def1
评论,VPN 似乎会以这种方式工作。这就是我想要的,但我不明白为什么会发生这种情况,因为我从未NAS_LOCAL_IP_ADDRESS
在配置文件中的任何地方指定过。
你们能帮助我了解事情背后是如何运作的吗?
答案1
最有可能的是,您已经选择了Allow clients to access server's LAN
NAS 端的选项。
这意味着在连接时,服务器(NAS)会推送类似的路由NAS_LOCAL_NETWORK is reachable via NAS_VPN_IP_ADDRESS
。
因此,当您尝试联系时,NAS_LOCAL_IP_ADDRESS
您的客户端会将其识别为 的一部分NAS_LOCAL_NETWORK
并将其发送到NAS_VPN_IP_ADDRESS
。在隧道的另一端,您的 NAS 知道NAS_LOCAL_IP_ADDRESS
不需要路由,而是一个本地 IP 地址,即直接回答请求。