我通常使用 VPN(通过客户端)连接到互联网openvpn
,同时配置我的 DNS 以使用我的 VPN 的私有 DNS 服务器。但是我图书馆的公共 wifi 只能连接到我的 VPN,而不能连接到 VPN 的私有 DNS 服务器。
例如,连接到我的 VPN 后,该命令nslookup google.com 10.4.0.1
在我的家庭/工作/咖啡店 wifi 上成功执行,但它在我的图书馆 wifi 上无限期挂起。
这意味着当我使用文件nameserver 10.4.0.1
中的配置时/etc/resolv.conf
,我可以在家里/工作场所/咖啡店上网,但我必须将其更改为类似nameserver 8.8.8.8
在图书馆上网的方式。
这是怎么回事?是不是图书馆的 wifi 阻止我连接到我的 VPN 的私有 DNS 服务器,还是我的 VPN 的 DNS 服务器阻止了图书馆的 IP 地址?似乎只有后者才有可能。
以下是有关我的 VPN 及其 DNS 规格的一些信息: https://airvpn.org/specs/
请注意,图书馆的 wifi 不安全,需要点击基于浏览器的登录屏幕才能访问 wifi。我正在打开我的 VPN后我通过了登录屏幕。
答案1
这对网络基础知识来说是一次有趣的探索——感谢大家的帮助!
我可以确认 Frank Thomas 的上述第一条评论是正确的。当我连接到图书馆的 wifi 时,我的 VPN 不起作用,分配给我的 wifi 设备的 IP 地址在 10.xxx 范围内。由于我的 VPN 的 DNS 服务器位于 10.4.0.1,因此本地 LAN 和我的隧道网络的地址范围之间存在重叠。所以这就是为什么发送流量nslookup google.com 10.4.0.1
不起作用的原因 - 这些数据包被发送到本地 LAN 而不是我的 VPN 隧道。
我使用该命令确认了本地 LAN 的地址范围ip addr
,该命令对于我的 wifi 接口返回类似以下内容(wlp4s0
):
...
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 18:5e:0f:cc:b2:ad brd ff:ff:ff:ff:ff:ff
inet 10.184.178.50/8 brd 10.255.255.255 scope global dynamic noprefixroute wlp4s0
valid_lft 86323sec preferred_lft 86323sec
...
我相信inet 10.184.178.50/8 brd 10.255.255.255
摘录表明它与我的 VPN 的 DNS IP 重叠,位于10.4.0.1
。
请注意,在其他 wifi 网络上,该 IP 通常类似于192.168.0.0/x
。我认为图书馆使用10.0.0.0/x
CIDR 作为其本地 LAN 的情况非常不寻常,这可能就是为什么我只在图书馆的网络上看到此问题的原因。