我已经使用 AWS AMI 设置了一个 OpenVPN 访问服务器。我有一个要求,我需要将某个 IP 列入白名单以进行某些数据访问。因此,我将 AWS 的一个 Elastic IP 列入白名单,并将其附加到 OpenVPN 访问服务器。这样,当我连接到 VPN 时,我就可以在本地访问列入白名单的站点。
所有配置均正常,当我连接时,它会显示初始化序列完成。问题是,它适用于一个互联网服务提供商(JIO),但当我连接到另一个 ISP(Asianet)时,它却无法正常工作。我该如何解决这个问题?
这是我连接时看到的日志中的差异:
这个正在工作(JIO):
Thu Jun 18 18:50:40 2020 ROUTE_GATEWAY 192.168.43.1/255.255.255.0 IFACE=wlp3s0 HWADDR=XXXXXXXXXXX
Thu Jun 18 18:50:40 2020 TUN/TAP device tun0 opened
Thu Jun 18 18:50:40 2020 TUN/TAP TX queue length set to 100
Thu Jun 18 18:50:40 2020 /sbin/ip link set dev tun0 up mtu 1500
Thu Jun 18 18:50:40 2020 /sbin/ip addr add dev tun0 192.168.40.7/24 broadcast 192.168.40.255
Thu Jun 18 18:50:45 2020 ROUTE remote_host is NOT LOCAL
Thu Jun 18 18:50:45 2020 /sbin/ip route add X.X.X.X/32 via 192.168.43.1
Thu Jun 18 18:50:45 2020 /sbin/ip route add 0.0.0.0/1 via 192.168.40.1
Thu Jun 18 18:50:45 2020 /sbin/ip route add 128.0.0.0/1 via 192.168.40.1
Thu Jun 18 18:50:45 2020 Initialization Sequence Completed
这不起作用(亚洲网):
Fri Jun 19 09:21:06 2020 ROUTE_GATEWAY 100.110.0.1/255.255.0.0 IFACE=enp2s0 HWADDR=XXXXXXXXXXXX
Fri Jun 19 09:21:06 2020 TUN/TAP device tun0 opened
Fri Jun 19 09:21:06 2020 TUN/TAP TX queue length set to 100
Fri Jun 19 09:21:06 2020 /sbin/ip link set dev tun0 up mtu 1500
Fri Jun 19 09:21:06 2020 /sbin/ip addr add dev tun0 192.168.40.7/24 broadcast 192.168.40.255
Fri Jun 19 09:21:11 2020 ROUTE remote_host is NOT LOCAL
Fri Jun 19 09:21:11 2020 /sbin/ip route add X.X.X.X/32 via 100.110.0.1
Fri Jun 19 09:21:11 2020 /sbin/ip route add 0.0.0.0/1 via 192.168.40.1
Fri Jun 19 09:21:11 2020 /sbin/ip route add 128.0.0.0/1 via 192.168.40.1
Fri Jun 19 09:21:11 2020 Initialization Sequence Completed
(注意:我在这里用 XXXX/32 替换了我的 VPN IP)
我如何才能找出问题所在?任何帮助都将不胜感激。谢谢。
答案1
我的猜测是,这是以下情况的结果:
- 你的电脑仍会尝试使用任何 DNS
- 你
redirect-gateway def1
的 VPN 服务器配置如下
这意味着您的 PC 将尝试从 ISP 网络外部(通过 VPN)访问 DNS 解析器。ISP 可能会允许或不允许这样做。请注意,如果 DNS 解析器位于您的本地网络中,即使连接到 VPN,它仍然可以访问,因为到您本地网络的路由更具体(前缀更长)。
要解决此问题,您有多种选择:
- 使用 Google DNS、Cloudflare DNS 等互联网上的公共解析器
- 静态地放在你的电脑上
- 或者使用 OpenVPN
push "dhcp-option DNS 10.66.0.4"
(非 Windows 客户端上需要额外的脚本)
- 在 VPN 服务器上运行您自己的 DNS 解析器(例如 DNSMASQ)并使用 OpenVPN
push "dhcp-option DNS 10.66.0.4"
(仍然只能在 Windows 上使用)
在 OpenVPN 访问服务器(OpenVPN 的商业 Web 管理 GUI)中,您显然可以在 VPN 设置 -> DNS 设置 -> 让客户端使用这些 DNS 服务器中进行设置。
答案2
如果这对一个 ISP 有效,但对其他 ISP 无效
那么 ISP 就会阻止请求
建议使用VPN对于无法正常工作的 ISP(Asianet)
当您在亚洲网络上时连接到 VPN 并重新检查