Linux上的Surfshark vpn洩漏
我今天設置了 surfshark vpn,但似乎亞馬遜能夠檢測到它。
您的設備使用 VPN 或代理服務連接到 Internet。請禁用它並重試。如需更多幫助,請訪問 amazon.com/pv-vpn。
我聯繫了客戶支持並手動將我的 resolv.conf 點更改為 surfshark 伺服器,但仍然無法正常工作。
如何檢測洩漏並配置我的 vpn?
更新:似乎我的 dns 正在洩漏。我正在嘗試按照這篇文章來修復我的網路,但還沒有成功。
mengo@mengo-desktop:~$ grep hosts /etc/nsswitch.conf hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname mengo@mengo-desktop:~$ head /etc/resolv.conf nameserver 162.252.172.57 nameserver 149.154.159.92 nameserver 162.252.172.57 nameserver 149.154.159.92 nameserver 127.0.0.53 mengo@mengo-desktop:~$ head /etc/resolvconf/interface-order # interface-order(5) lo.inet6 lo.inet lo.@(dnsmasq|pdnsd) lo.!(pdns|pdns-recursor) lo tun* tap* hso* vpn* mengo@mengo-desktop:~$ cat /etc/NetworkManager/NetworkManager.conf [main] plugins=ifupdown,keyfile [ifupdown] managed=false [device] wifi.scan-rand-mac-address=no
更新 2:
mengo@mengo-desktop:~$ resolvectl status Global ... Current DNS Server: 162.252.172.57 DNS Servers: 162.252.172.57 149.154.159.92 ... // This entry is shown when vpn is active Link 3 (tun0) Current Scopes: none DefaultRoute setting: no LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Link 2 (enp0s25) ... Current DNS Server: 192.168.1.1 DNS Servers: 192.168.1.1 // connect vpn will create a new file `tun0.openvpn` which contains their server address mengo@mengo-desktop:~$ ls /run/resolvconf/interface/ systemd-resolved tun0.openvpn mengo@mengo-desktop:~$ cat /run/resolvconf/interface/tun0.openvpn nameserver 162.252.172.57 nameserver 149.154.159.92 // I don't see vpn related entry here mengo@mengo-desktop:~$ nmcli c show tun0 | grep -i dns connection.mdns: -1 (default) ipv4.dns: -- ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 100 ipv4.ignore-auto-dns: no ipv6.dns: -- ipv6.dns-search: -- ipv6.dns-options: -- ipv6.dns-priority: 100 ipv6.ignore-auto-dns: no // DNSOverTLS seems enabled by default mengo@mengo-desktop:~$ cat /etc/systemd/resolved.conf | grep DNSOverTLS #DNSOverTLS=no
更新 3 似乎有些數據包在 vpn 啟動或關閉時記錄到控制台。這會定期發生。
sudo tcpdump -i any -s0 -Knpvv host 192.168.1.1 and \(tcp port 53 or udp port 53\) 18:00:28.037630 IP (tos 0x0, ttl 64, id 35268, offset 0, flags [DF], proto UDP (17), length 86) 192.168.1.24.42322 > 192.168.1.1.53: 62333+ [1au] AAAA? connectivity-check.ubuntu.com. ar: . OPT UDPsize=512 (58) 18:00:28.049945 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 147) 192.168.1.1.53 > 192.168.1.24.42322: 62333 q: AAAA? connectivity-check.ubuntu.com. 0/1/1 ns: ubuntu.com. SOA ns1.canonical.com. hostmaster.canonical.com. 2018053142 10800 3600 604800 3600 ar: . OPT UDPsize=512 (119) 18:01:56.945889 IP (tos 0x0, ttl 64, id 37261, offset 0, flags [DF], proto UDP (17), length 86) 192.168.1.24.50380 > 192.168.1.1.53: 11200+ [1au] A? connectivity-check.ubuntu.com. ar: . OPT UDPsize=512 (58) 18:01:56.958968 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 118) 192.168.1.1.53 > 192.168.1.24.50380: 11200 q: A? connectivity-check.ubuntu.com. 2/0/1 connectivity-check.ubuntu.com. A 35.222.85.5, connectivity-check.ubuntu.com. A 35.224.99.156 ar: . OPT UDPsize=512 (90)
作業系統:linux mint 20。
您目前有 5
nameserver
個條目/etc/resolv.conf
,其中 2 個是重複的。支持的最大值通常為 3 個條目。這可能不是您洩漏的原因,但它可能會使您的 DNS 解析以未定義的方式執行,從而難以弄清楚發生了什麼。或者額外的條目可能會被忽略……但是系統會使用前 3 個還是後 3 個?您還將 127.0.0.53 列為最後一個條目,這表明
systemd-resolved.service
可能存在;請執行systemctl status systemd-resolved
以查看它是否正在執行,如果是,resolvectl status
請查看它配置為使用哪些 DNS 伺服器;它的配置可能與/etc/resolv.conf
.DNS 洩漏可能與亞馬遜能夠檢測到您的 VPN 無關。正如 MariusMatutiae 評論的那樣,他們可能只是檢測到連接嘗試來自已知 SurfShark 出口點的 IP 地址,並因此拒絕連接。
由於
/etc/resolvconf/interface-order
存在於您的系統上,這意味著resolvconf
可能已安裝。如果這是真的,ls /run/resolvconf/interface
應該顯示一個或多個包含通過 DHCP 和/或其他配置方法接收的 DNS 設置的文件。如果啟動 SurfShark 後又出現了一個文件,則 SurfShark VPN 客戶端可能會繞過 NetworkManager,您可能需要調整resolvconf
設置以使其在 VPN 處於活動狀態時僅使用 SurfShark 的設置。如果只有一個名為
NetworkManager
in 的文件/run/resolvconf/interface/
,那麼 NetworkManager 就是對作業系統級別的 DNS 配置進行全面控制的東西。在這種情況下,一些診斷步驟將是:
- 執行
nmcli c show
以查看 NetworkManager 已知的所有網路連接的名稱。SurfShark VPN 是否在其中列出?- 如果列出了 SurfShark,請記下它列出的名稱,然後啟動 SurfShark VPN 並執行
nmcli c show "place the actual connection name of SurfShark VPN here" | grep -i dns
. 如果 SurfShark VPN 連接為 NetworkManager 提供了任何 DNS 伺服器資訊,則此命令應將其列出。如果這些方法都不會顯示任何與 SurfShark 相關的 DNS 設置,您應該檢查啟用/禁用 SurfShark VPN 時的內容
/etc/resolv.conf
和/或輸出是否會改變。resolvectl status
可能是 VPN 客戶端直接操作其中之一或兩者。如果在任何地方都沒有與啟用/禁用 VPN 相關的明顯 DNS 設置更改,則 SurfShark VPN 客戶端可能會將核心級別的任何 DNS 流量重定向到 SurfShark 伺服器。取決於它是如何完成的,它可能在本地可見也可能不可見;在最棘手的情況下,您可能需要外部流量嗅探器來確認 DNS 流量實際上被重定向到 SurfShark。
另請注意,現代 Web 瀏覽器可能使用 DNS-over-HTTPS 或 DNS-over-TLS。這些技術將繞過整個作業系統級別的主機名解析基礎設施,並直接加密連接到 DoH 或 DoT 提供商。這可能是您的 DNS 洩漏測試正在檢測的內容。
(如果在中啟用了
systemd-resolved
該設置,也可以使用 DNS-over-TLS 。)DNSOverTLS``/etc/systemd/resolved.conf