我有 OpenVPN 服务器,客户端的 IP 为静态 IP(192.168.1.0/24)。当我访问连接到 VPN 的另一台设备时,我得到的是所需的 192.168.1.2 静态 IP,但是当我通过 DNS 访问同一台机器上的代理服务器时,我得到的是机器的真实 IP,而无需 VPN。更简单:我将笔记本电脑连接到 example.com 上的 VPN,尝试访问 sub.example.com,从 sub.example.com 看到的不是我的 VPN 静态 IP,而是我的真实 IP(由 ISP 提供)。如何修复这个问题,以便我能从该子域站点看到我的 VPN 静态 IP?
这是我的 openvpn.conf:
server 192.168.1.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/...
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/...
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
client-to-client
client-config-dir ccd
topology subnet
proto udp
port 22
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
comp-lzo no
route 192.168.0.0 255.255.0.0
route 10.0.0.0 255.0.0.0
route 172.16.0.0 255.240.0.0
push "topology subnet"
push "comp-lzo no"
push "dhcp-option DNS 10.1.0.3"
push "route 10.0.0.0 255.0.0.0"
push "route 192.168.0.0 255.255.0.0"
push "route 172.16.0.0 255.240.0.0"
答案1
通过配置我的 DNS 服务器以将所需查询路由到本地代理地址来解决,例如10.1.0.2 sub.domain.com
,这使得请求的流量通过 VPN 的本地 IP 进入本地服务器,所以我的代理认为它是从 VPN 服务器的 IP 访问的。仅供参考,也可以通过修改您机器上的文件10.1.0.4
来完成。hosts