我生活在一个受到许多制裁的国家。内部制裁(政府对人民)和外部制裁(美国对我们人民)。
在我们国家,YouTube、Twitter、Facebook 和许多其他网站默认被屏蔽,我们只能通过 VPN 访问它们。
但是有一件事应该起作用:DNS。如果我将我的 DNS 设置为8.8.8.8
,理论上它应该返回正确的 IP 地址,www.youtube.com
并且该 IP 地址应该被 ISP 阻止。
但事实并非如此。看起来我们的政府正在操纵 DNS 服务器,甚至是公共服务器。
我有 Ubuntu 18.04 (Bionic Beaver),并且我禁用了Network Manager DNS。我已禁用resolvconf
and systemd-resolve
,我的意思是我自己系统中的任何实体都无法更改该文件/etc/resolv.conf
。
我将内容更改/etc/resolv.conf
为:
nameserver 8.8.8.8
并且只有这个名称服务器。所以现在每个应用程序都默认使用这个服务器,他们应该向这个服务器查询网站的 IP 地址,但不幸的是他们没有这样做!
kasra@ubuntu:~$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 216.58.214.110
Name: google.com
Address: 2a00:1450:4001:812::200e
kasra@ubuntu:~$ nslookup youtube.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: youtube.com
Address: 10.10.34.35
Name: youtube.com
Address: 10.10.34.35
kasra@ubuntu:~$ nslookup twitter.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: twitter.com
Address: 10.10.34.35
Name: twitter.com
Address: 10.10.34.35
kasra@ubuntu:~$ █
10.10.34.35
是过滤权限的内网IP地址。
ISP 是如何做到这一点的?他们真的是在窃取和MITM-ing的流量8.8.8.8
吗?是某种BGP劫持吗?
如果没有 VPN,我该如何解决这个问题?