我已经安装DNS加密, 它是开放DNS适用于 Ubuntu 和其他 Linux 用户的加密 DNS 补丁,运行良好。
我如何知道我的 DNS 是否已加密?我在 Google 上搜索过,但没有找到任何内容。
地位
one@onezero:~$ status dnscrypt
dnscrypt start/running, process 1013
one@onezero:~$ sudo netstat -atnlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.2:53 0.0.0.0:* LISTEN 1013/dnscrypt-proxy
更新
Wireshark
@Alvar
不使用 DNSCrypt
答案1
Wireshark
您可以通过监听网卡来检查,只需按照以下步骤操作:
sudo apt-get install wireshark
(将其粘贴到终端)- 从终端启动它
sudo wireshark
(你需要须藤能够监听你的网卡。 - 然后开始聆听并过滤掉除您自己的 IP 之外的所有内容。
现在只需检查域名系统协议是加密的。
- 使用过滤器仅显示
dns
- 停止扫描。
- 点击列表项,内容为域名系统并且来自你的 IP。
- 现在点击传输协议,看看它是否加密。
答案2
如果您使用 OpenDNS 作为支持 dnscrypt 的 DNS 服务器,可以使用以下命令之一来检查其是否正常运行:
drill txt debug.opendns.com
dig txt debug.opendns.com
答案文本应该包含一行“dnscrypt enabled”:
;; ANSWER SECTION:
debug.opendns.com. 0 IN TXT "server 11"
debug.opendns.com. 0 IN TXT "flags 22 2 222 2"
debug.opendns.com. 0 IN TXT "id 6666666"
debug.opendns.com. 0 IN TXT "source 209.6.69.160:44444"
debug.opendns.com. 0 IN TXT "dnscrypt enabled (...)"
答案3
我在 Ubuntu 12.10 上安装了 dnscrypt 1.1。
我编辑了/etc/NetworkManager/NetworkManager.conf
注释掉
dns=dnsmasq
然后添加/etc/init/dnscrypt.conf
并包含以下内容:
description "dnscrypt startup script"
start on (local-filesystems and started dbus and stopped udevtrigger)
stop on runlevel [016]
script
exec /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d
end script
接下来我将网络设置更改为使用 127.0.0.1 作为 DNS:
然后我重新启动并确保dnscrypt
正在运行并且dnsmasq
不是:
ps aux | grep dns
root 6581 0.0 0.0 16116 720 ? Ss 04:47 0:00 /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d
然后我打开wireshark
验证DNS是否已加密:
看来并非如此。
参观http://www.opendns.com/welcome/验证我正在使用 opendns。
答案4
好的,我明白了!
运行 dnscrypt-proxy --deamonize (它应该已经在运行)
- 转到顶部的网络图标,然后转到网络设置。
- 转到当前连接并单击配置...
- 转到 IPv4 设置选项卡。
- 在 DNS 服务器和搜索域字段下输入:127.0.0.1
- 前往http://opendns.com/welcome
如果你被重定向到http://opendns.com/welcome/oops那么它的设置就不正确。
抱歉。我不想费力地完成所有设置,但这非常简单!好吧,希望你能学到一些东西。我确实学到了!