我使用以下命令设置了一个 OpenVPN 服务器:
sudo openvpn --config OpenVPN/England-TCP.ovpn
如果我随后使用此命令检查我的 IP:
curl ifconfig.me
我可以看到 IP 确实已更改。我还可以看到,当我告诉 Telegram“使用系统代理设置”时,Telegram(在我的国家/地区受到审查)可以正常工作。
如果我在 DuckDuckGo 中搜索“我的 IP”,或者从以下网站查找https://whatismyipaddress.com/,可以看到IP已经改变。
但我仍然无法访问 Twitter、YouTube 等网站(这些网站在我国受到审查)
Twitter 可以打开,但是保持如下状态:
Firefox 在 YouTube 上显示如下内容:
我怎样才能解决这个问题?
的内容England-TCP.ovpn
包含certificate keys
,所以我不确定是否应该在线分享,但这些行可能是相关的:
client
dev tun
remote uk.ovadd.com 443 tcp
persist-key
persist-tun
resolv-retry infinite
route-metric 1
nobind
pull
verb 3
auth-user-pass
我使用 Arch Linux,我的系统使用192.168.1.1
:
╰─ nmcli dev show | grep DNS
IP4.DNS[1]: 192.168.1.1
另外,这是的输出ip addr
:
╰─ ip addr ─╯
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 54:42:49:ec:36:64 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 4c:0f:6e:df:2e:3e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp2s0
valid_lft 75921sec preferred_lft 75921sec
inet6 fe80::5aed:4888:9ec5:ce88/64 scope link noprefixroute
valid_lft forever preferred_lft forever
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/none
inet 10.7.2.146 peer 10.7.2.145/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::341b:f484:9cd1:a004/64 scope link stable-privacy
valid_lft forever preferred_lft forever
我将我的网络的 DNS 设置更改为8.8.8.8
(甚至1.1.1.1
)如下:
并重新连接以便:
╰─ cat /etc/resolv.conf
# Generated by NetworkManager
search Home
nameserver 192.168.1.1
nameserver 8.8.8.8
但一切还是老样子。
答案1
问题很可能出在您的 DNS 上。指定的 DNS 服务器位于您的 LAN 上,并且很可能位于您的路由器上。到您路由器的流量不会通过您的 VPN,并且很可能从您的 ISP 获取其 DNS 答案,而 ISP 可能不会返回正确的结果。
解决方案是将您的 DNS 服务器更改为非本地服务器 - 例如 1.1.1.1(Cloudflare)或 8.8.8.8(Google)。
我不用 Arch,所以你可能需要谷歌一下,但许多 Linux 发行版允许你在 /etc/resolve.conf 中指定 DNS(在任何其他名称服务器条目上方插入一行“nameserver 8.8.8.8”,然后以 root 身份编辑文件)。但 YMMV 可能会被 DHCP 覆盖。
另一种可能性是更改路由器分配给 DHCP 客户端的 DNS 服务器(许多路由器都支持此功能)或更改为使用计算机上的静态 IP 地址,以便 DNS 服务器不会被覆盖 - 或者使用特定于发行版的解决方法。