为了尽量减少 DNS 泄漏,确实可以通过 Tor 解析 DNS。
为此,添加到您/etc/tor/torrc的行:
DNSPort 9053
Run Code Online (Sandbox Code Playgroud)
并使用以下命令重新启动tor服务:
service tor restart
Run Code Online (Sandbox Code Playgroud)
要测试它,请执行以下操作:
$nslookup
set port=9053
server 127.0.0.1
www.cnn.com
Run Code Online (Sandbox Code Playgroud)
如果使用 resolvconf/dnsmasq,请更改您的/etc/dnsmasq.conf:
no-resolv
server=127.0.0.1#9053
listen-address=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
如果只是使用/etc/resolv.conf它没有被 DHCP 配置更改,请更改/etc/resolv.conf为:
nameserver 127.0.0.1#9053
Run Code Online (Sandbox Code Playgroud)
或BIND在/etc/bind/named.conf.options:
options {
forwarders {
127.0.0.1 port 9053;
}
}
Run Code Online (Sandbox Code Playgroud)
dnscrypt原则上,使用信誉良好的服务比将 DNS 解析交给 Tor 网络链中的某个元素更安全;请参阅仅将 BIND 配置为转发器(无根提示),一起加密 + RPZ 黑名单/白名单。
另请注意,通过 Tor 网关解析 DNS 的速度明显较慢,强烈建议使用本地缓存,例如dnsmasq或BIND。
我将在这里保留我从中获取dnsmasq配置的文章的来源。通过 Tor 解析 DNS
有趣的是,作为一种补充/替代方法,redsocks用于处理 UDP DNS 请求的策略是对任何 UDP DNS 请求给出无效答案,dnstc以强制通过 TCP 操作 DNS,从而促进通过 Tor 进行 DNS 代理。