zypper
(zypper)
1
大家好,我是 opensuse 新人。刚用上滚动更新版。刚刚入门,在 dnscrypt 的使用上遇到了困难。论坛大神很多,希望在这里能够获得解答
我按照 修改 dns 的说明 ,从官网下载了 http://software.opensuse.org/download.html?project=server%3Adns&package=dnscrypt-proxy 版本的 dnscrypt,并且点击安装了。
然后用 rpm -ql dnscrypt-proxy | grep systemd
检索得到服务名称为 /usr/lib/systemd/system/dnscrypt-proxy@.service,于是我运行了如下几条命令启用 dnscrypt 服务:
sudo systemctl enable dnscrypt-proxy@.service
sudo systemctl start dnscrypt-proxy@default.service
运行后,我用 sudo systemctl status
检查之,显示服务已经运行,似乎没有什么异常。
于是,我着手把 resolv.conf 改为 nameserver 127.0.0.1
,结果,仍然不能成功打开被 dns 干扰的网站。
并且还有一个严重的问题,/etc/resolv.conf 在每次网络状况变化后都会被重置,不能储存永久性的变化。
我猜我的问题在于没有正确地指定 dns 为 127.0.0.1 所致。搜索了很久,都没有在网上找到解决办法。
请问我遗漏了什么配置操作吗?
————————————————
附:
还有一个比较神奇的现象,我第一次装的是官网的 ymp 版本,然后有一次运行 zypper dup
的时候,提示说目前安装的 dnscrypt 版本冲突,解决办法是降级。我降级了再尝试了很久,都没法使得 dnscrypt 正常运行起来。目前已经 remove 掉较低版本,重新安装了 ymp 的版本
zzndb
(zzndb)
2
关于第二个问题,这里有一个略显 Hack 的 tip:
resolv.conf
默认是一指向别处的链接,前段时间上车 smartdns
也需要配置为本地,机缘巧合之下我的 resolv.conf
变成了一个正常文本文件,并且网络变化之后也并没有继续变成链接文件,所以你只需要建立同名文本文件,即可不被网络环境变化重置,若需要恢复也直接 sudo netconfig update -f
即可。
1赞
zzndb
(zzndb)
3
另外 dnscrypt-proxy
在默认 oss 源里有,而且和 wiki 指向的 server:dns
库貌似版本是一样的?
zypper
(zypper)
4
已经尝试您的提示。现在 /etc/resolv.conf 是一个普通文件了,在写入 nameserver 127.0.0.1
后,整个网络连接都罢工了。正常网站和被 dns 干扰的网站都打不开,执行 ping baidu.com 结果:
ping: baidu.com: 域名解析暂时失败
——————
更正:我在这种情景下回复了此帖。suse 论坛的访问似乎没有被影响,很奇怪
zzndb
(zzndb)
5
没有用过 dnscrypt-proxy
是不是还需要另外的配置,比如上游 dns 什么的?那篇中文 wiki 上次变动已经是 14 年了,去参考一下其他教程可能靠谱一点。
这个会不会是你一直打开着网页,不需要重新进行 dns 请求
其实 Firefox 的 DoH 就能满足需求,没必要去改系统级别
看一下 dnscrypt-proxy 的 log,它可能根本没有连上适合的服务器
学习一下 systemd 的 instantiated service。正确的用法是:
systemctl enable/start dnscrypt-proxy@ 配置名
你连 /etc/dnscrypt-proxy.conf.d 下面的配置都没有吧。
题外话:不知道为什么已经出来几年的功能没人知道;不知道为什么发行版遍地都是的做法在 Archlinux 就是 brilliant idea,在 openSUSE 就叫 user experience killer;不知道为什么为啥一个服务器软件会期望装上直接就能用(以前我也这么想,我曾经认为 nginx 装上我的 wordpress 就应该能访问)…
1赞
zzndb
(zzndb)
10
友情提醒楼主:
尝试楼上正统方案之前先跑跑 sudo netconfig update -f
才能恢复链接文件
之后再修改 /etc/resolv.conf
不迟
zzndb
(zzndb)
11
再次友情提醒楼主:
配置 NETCONFIG_DNS_POLICY=""
之后,sudo netconfig update -f
不会强制覆盖 resolv.conf
了,并且重启之后会将 resolv.conf
链接源文件清空,即你在这种配置下,若你的 /etc/resolv.conf
为那个链接文件,内容也会为空。
(然后我还是继续用我的文本文件 Hack 好了。
大神们,我想问下,这个和 git 上那个 tcp dns proxy 有啥区别?这个我整不了