» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[电脑] 彻底解决DNS解析问题, 和强说再见

本主题由 System 于 2024-4-18 05:00 解除限时高亮
https://bbs.tgfcer.com/thread-8361647-1-1.html
之前一贴有人开启了DOH就上不了网站了, 因为墙把那些google 等提供的DNS解析的服务器IP和域名给封了.  8.8.8.8 和 1.1.1.1 基本都是不可用状态 可以用该网站测试 https://www.itdog.cn/http/

现在有了mosdns 可以分流国内和国外的域名解析, 可以让国内的网址走国内的DNS解析, 国外的网址走国外的DNS解析.
我测试了全球的DNS服务器列表, 肯定有漏网之鱼,而且还不少. 都放到脚本里面了. 这样也不用在浏览器里面开启DOH, mosdns都支持DOH作为上游DNS服务器

用了mosdns 后 除了google twitter 这种IP也被墙了的网站 其他网站都不用开代理直接上 例如github 非常快

教程可以直接看github 链接 不要看下面写了很多, 就是在路由器上装一下mosdns 就可以了 很简单。
https://github.com/jinwyp/one_cl ... aster/DNS.md#mosdns


1. 建议有条件的请用脚本再国外服务器搭建 AdGuardHome DNS服务器 还可以去广告. 然后再安装mosdns 进行DNS分流. 没有条件搭建DNS服务器也不用担心, 本脚本已经内置多个DNS服务器地址

2. 通过使用mosdns 或 mosdns-cn 可以让国内的网址走国内的DNS解析, 国外的网址走国外的DNS解析.   安装mosdns 分为 Openwrt X86版本, linux 版本 或 windows 版本. 建议有软路由的直接在软路由安装Openwrt X86版本.

3. 如果使用x86 openwrt 软路由, 可以直接使用 SSH登录到软路由上 使用如下脚本安装mosdns
复制内容到剪贴板
代码:
wget --no-check-certificate https://raw.githubusercontent.com/jinwyp/one_click_script/master/dsm/openwrt.sh && chmod +x ./openwrt.sh && ./openwrt.sh
4. 使用上面脚本在软路由安装 luci-app-mosdns 完毕后, 请进入OpenWRT管理菜单: 服务-> MosDNS -> MosDNS 配置文件选择 下拉框选择 自定义配置. 然后勾选 启用 复选框后, 点击 保存&应用 按钮 就可以启动 MosDNS. 注意:如果mosdns启动失败, 请先关闭ssr 或 passwall 插件, 因为这些插件内置的PDNSD也运行在5335端口导致冲突. 或者更换mosdns的启动端口.


如果已经安装过mosdns 可以先删除mosdns
在openwrt里面 系统 -> 软件包 -> 过滤器  里面 搜索 mosdns 有两个结果 一个是mosdns 一个是 luci-app-mosdns  2个都点击移除 然后用我脚本重新安装就可以了

5. 然后在 OpenWRT管理菜单: 网络-> DHCP/DNS -> DNS 转发 填入 127.0.0.1#5335, 因为mosdns运行在软路由的5335端口, 如果mosdns不是运行在软路由而是用下面的脚本运行在其他linux上,则填入对应IP和端口即可. 然后在第二个tab "HOSTS 和解析文件" 勾选 忽略解析文件. 最后点击右下角 保存&应用 按钮完成设置.  注意: 如果没有正确填写转发就勾选了 "忽略解析文件" 会导致无法上网, 忽略解析文件的意思就是在dnsmasq 添加 no-reslov 指令不再使用原有的上游DNS解析. 最后在 ShadowSocksR Plus+ 设置 -> DNS解析方式 -> 使用本机端口为5335的DNS服务. 注意: 默认使用PDNSD TCP查询并缓存, 该项的PDNSD的也运行在5335端口, 所以会导致冲突, 如果mosdns启动失败, 请先关闭ssr 然后选择"使用本机端口为5335的DNS服务"后再启动ssr , 或者更换mosdns的启动端口.





6. 如果 linux系统 可以使用如下脚本在linux 系统上安装 mosdns 或 mosdns-cn. 安装完成后按照上面的步骤在路由器中设置DNS即可.
复制内容到剪贴板
代码:
wget --no-check-certificate https://raw.githubusercontent.com/jinwyp/one_click_script/master/trojan_v2ray_install.sh && chmod +x ./trojan_v2ray_install.sh && ./trojan_v2ray_install.sh
7. 如果是 windows 系统, 可以从 [mosdns-cn 官方网站](https://github.com/IrineSistiana ... n-windows-amd64.zip) 下载 mosdns-cn 压缩包直接解压后放到一个目录中.
再下载 [geosite文件](https://github.com/Loyalsoldier/ ... ownload/geosite.dat) [geoip文件](https://raw.githubusercontent.co ... p/release/geoip.dat)  [cnip文件](https://raw.githubusercontent.co ... eoip/release/cn.dat)  放到mosdns-cn解压的同一个目录中.
最后运行
复制内容到剪贴板
代码:
mosdns-cn -s :53 --blacklist-domain "geosite.dat:category-ads-all" --local-upstream https://223.5.5.5/dns-query --local-domain "geosite.dat:cn" --local-ip "geoip.dat:cn" --remote-upstream https://8.8.8.8/dns-query --remote-domain "geosite.dat:geolocation-!cn"
即可.


8. 如果是 windows 系统, 也可以直接下载打包好的 [mosdns-cn](https://wws.lanzout.com/i7pYR05e80eh) 解压后运行 run.bat 或
复制内容到剪贴板
代码:
mosdns-cn --config ./my-config.yaml
9. 在 OpenWRT中可以在DHCP给客户端分配IP时, 直接给客户端赋予与路由器IP不同的DNS服务器, 这样无论通过上面方法架设好mosdns后, 把mosdns机器的IP填入下图.客户端就不用手动设置DNS了. OpenWRT管理菜单: 网络 -> 接口 -> LAN 点击"修改" 按钮 进入页面下部 "DHCP 服务器" 部分, 点击第二个tab "高级设置" -> DHCP 选项 填入6,192.168.1.5, 其中192.168.1.5改为mosdns的机器IP就可以了.  这样所有客户端会默认使用mosdns作为DNS服务器, 同时也不需要上面的设置 DHCP/DNS -> DNS 转发 的修改方法了.


10. 具体参数可以参考官方网站 https://github.com/IrineSistiana/mosdns-cnhttps://github.com/IrineSistiana/mosdns


如果是arm版本的硬路由器 openwrt 可以到这里下载对应的ipk 安装mosdns
https://github.com/sbwml/luci-app-mosdns/releases


随着以后科技的发展 ESNI 等 墙基本上作用越来越弱. 当然以后屏蔽的方法也可能越来越简单,禁止下载新版浏览器.

[ 本帖最后由 jinwyp 于 2022-7-10 04:03 编辑 ]
附件: 您所在的用户组无法下载或查看附件


本帖最近评分记录
  • homeworld 激骚 +1 最骚 Rated by wap 2022-5-26 10:40
  • hit_alf 激骚 +1 最骚 Rated by wap 2022-5-25 14:57
  • 道克斯 激骚 +1 恭喜发财 2022-5-25 14:26

TOP

posted by 论坛助手, platform: iPhone
别折腾了,墙迟早改成白名单模式,或者以后街坊大妈和派出所民警上门给你手机电脑安装假证书,都是为了你们好



TOP

posted by wap, platform: Android
假证书,你是说12306么?


TOP

posted by wap, platform: iPhone
很详细了,感谢分享。

TOP

posted by wap, platform: Samsung
这个跟SmartDNS是不是差不多功能

TOP

posted by wap, platform: Android
AdGuardHome就能做dns分流,还能自动更新网站列表,何苦再装一个

TOP

posted by wap, platform: Chrome
自建服务器已经有ssl证书还需要申请免费证书这一步吗?
openwrt上装了mosdns,怎么卸载?

TOP

posted by wap, platform: Android
收动激骚

本帖最后由 neppo 于 2022-5-25 09:42 通过手机版编辑

TOP

mark之。

TOP

posted by wap, platform: Samsung
好帖留个记号

TOP

感谢分享。
现在查个资料是真的麻烦

TOP

引用:
原帖由 夏多南纳特 于 2022-5-25 08:25 发表
posted by wap, platform: Samsung
这个跟SmartDNS是不是差不多功能
对, 但比smartDNS 更好, smartDNS 有些问题,而且很多人设置的也不对,起不到效果

mosdns-cn 直接用ip判断 配置简单 功能更多

TOP

用的软路由,FQ正常,还要设么

TOP

引用:
原帖由 vany 于 2022-5-25 09:26 发表
posted by wap, platform: Chrome
自建服务器已经有ssl证书还需要申请免费证书这一步吗?
openwrt上装了mosdns,怎么卸载?
1 已经有了证书就不用申请了, 主要是给adguard home 提供DOH 解析,必须有证书,我的脚本还做了一些简单配置,例如增加了更多的上游DNS和去广告的规则。

2 在openwrt里面 系统 -> 软件包 -> 过滤器  里面 搜索 mosdns 有两个 一个是mosdns 一个是 luci-app-mosdns  2个都点击移除用我脚本重新安装就可以了

TOP

引用:
原帖由 Crazylife 于 2022-5-25 08:51 发表
posted by wap, platform: Android
AdGuardHome就能做dns分流,还能自动更新网站列表,何苦再装一个
AdGuardHome 没有dns分流的功能 ,

如果 AdGuardHome 想做到真正的分流 需要装两个 AdGuardHome 一个负责国内解析一个负责国外解析 , 或者写一大堆规则分流, 很麻烦

而使用mosdns 其实就可以不用自建 AdGuardHome 了。

TOP

发新话题
     
官方公众号及微博