我已经成功安装并正在配置 dnscrypt-proxy 以在 ubuntu 13.10 x64 上使用。但是我遇到了一些权限问题。
我使用以下命令添加了一个用户:
sudo adduser --system --quiet --home /run/dnscrypt --shell /bin/false --group --disabled-password --disabled-login dnscrypt
并发出dnscrypt-proxy --daemonize --user=dnscrypt
,但没有成功。所以我尝试了 just--daemonize
和 finally just dnscrypt-proxy
,结果导致 UDP 绑定权限错误。运行它根错误消失。 dnscrypt-proxy --user=dnscrypt
导致错误再次出现。我猜是因为某些权限导致失败,但目前还不知道从哪里开始或要更改什么。
我也想在网络启动时或登录后运行它。我想我可以做到,但如果你有什么建议,那只会节省我的时间。我不明白为什么我不能运行它,--user=dnscrypt
但 root 可以正常工作。
编辑:只是为了进一步澄清,我实际上正在运行基于 ubuntu 13.10 的 elementary OS luna 0.2(我相信)
答案1
有一个由 Sergei Schnatsel 维护的 PPA,它可以让事情变得更容易...OS luna 基于 ubuntu 12.04。
更多内容请见:链接至 PPA
答案2
开始之前,请转到面板下拉菜单中的“编辑连接”。单击当前连接并选择“编辑”,然后选择 ipv4 选项卡。对于“方法”,仅选择自动 DHCP 地址。然后,在“附加 DNS 服务器”旁边分别输入 127.0.0.1 或 127.0.0.2。选择 ipv6 选项卡,对于“方法”,选择“忽略”,然后单击保存并执行以下命令。
sudo service network-manager restart
通常,dnscrypt-proxy 必须与 sudo 一起使用。使用该选项时看不到 UDP 绑定错误的原因--daemonize
不是因为没有错误,而是因为该--daemonize
选项(非详细)不会显示任何输出,因此不会显示错误。我将在这里详细解释。
第一的, 你必须杀死 dnsmasq释放 127.0.0.1 否则您将遇到您所说的 UDP 绑定权限错误。
sudo killall dnsmasq
现在,在 127.0.0.1 上使用以下命令启动 dnscrypt-proxy
sudo dnscrypt-proxy --daemonize --resolver-name=opendns
以下命令执行相同的操作(输入的内容少很多)。
sudo dnscrypt-proxy -d -R opendns
或者,你可以使用 127.0.0.2 代替 127.0.0.1无需关闭 dnsmasq以避免您所说的UDP绑定错误。
sudo dnscrypt-proxy -d -R opendns -a 127.0.0.2
对于详细模式,在打开的终端中运行以下命令。关闭终端将终止正在运行的实例。
首先,终止所有 dnscrypt-proxy 实例,这样您就不会遇到 UDP 绑定错误。
sudo killall dnscrypt-proxy
然后你可以运行
sudo dnscrypt-proxy -R opendns
或者
sudo dnscrypt-proxy -R opendns -a 127.0.0.2
最后,验证是否使用了加密,(仅限 opendns)...
drill txt debug.opendns.com
或者
dig txt debug.opendns.com
. . . “dnscrypt enabled” 应该显示在输出的某处
要查看启用 dnscrypt-proxy 的解析器的列表,请访问此页面:https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv
资料来源:http://dnscrypt.org/