我遵循了Synology 的官方文档,并创建了一个 OpenVPN 服务器来远程连接到 NAS,该 NAS 位于具有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
在配置文件中指定任何位置。
你们能帮我理解事情的背后是如何运作的吗?
很可能,您已经选择
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 地址,即直接响应请求。