照例,一个手动安装教程,一个一键脚本安装脚本 
Windows 搭建本地DNS:一个搭建 本地DNS 以科学上网的小工具 —— dowsDNS
DowsDNS 手动安装教程:Linux 使用 dowsDNS 快速自建DNS服务器以 科学上网+屏蔽广告
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
首先你需要一个 国内的VPS(云服务器),否则你用海外VPS搭建DNS服务器会被墙拦截并伪造(DNS污染)。
推荐 Debian 8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
脚本版本
Ver: 1.0.10
安装步骤
执行下面的代码下载并运行脚本。
- wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/dowsdns.sh && chmod +x dowsdns.sh && bash dowsdns.sh
运行脚本后会出现脚本操作菜单,选择并输入 1
就会开始安装。
如果你不懂,那么就一路回车即可,最后只要根据提示修改电脑等设备的DNS即可。
点击展开 查看更多
- [信息] 开始设置 用户配置...
- 请选择并输入 DowsDNS 的远程(上游)DNS解析服务器
- 说明:即一些DowsDNS没有指定的域名都由上游DNS解析,比如百度啥的。
-
- 1. 114.114.114.114 53
- 2. 8.8.8.8 53
- 3. 208.67.222.222 53
- 4. 208.67.222.222 5353
- 5. 自定义输入
-
- (默认: 1. 114.114.114.114 53):
-
- ================================================
- 远程(上游)DNS解析服务器 IP : 114.114.114.114
- 远程(上游)DNS解析服务器 端口 : 53
- ================================================
-
- 请选择并输入 DowsDNS 的本地监听方式
- 1. 127.0.0.1 (只允许本地和局域网设备访问)
- 2. 0.0.0.0 (允许外网访问)
-
- (默认: 2. 0.0.0.0):
-
- ================================================
- 本地监听方式: 0.0.0.0
- ================================================
-
- 请输入 DowsDNS 监听端口 [1-65535]
- 注意:大部分设备是不支持设置 非53端口的DNS服务器的,所以非必须请直接回车默认使用 53端口。
-
- (默认: 53):
-
- ================================================
- 监听端口 : 53
- ================================================
-
- 是否开启 DowsDNS SNI代理功能?[y/N]
- 注意:开启此功能后,任何自定义设置的 hosts或泛域名解析(包括DowsDNS自带的),都指向设置的SNI代理IP,如果你没有SNI代理IP,请输入 N !
- (默认: N 关闭):y
-
- ================================================
- SNI代理开关 : true
- ================================================
-
- 请输入 DowsDNS SNI代理 IP(如果没有就直接回车)
- (默认: 219.76.4.3):
-
- ================================================
- SNI代理 IP : 219.76.4.3
- ================================================
- [信息] 开始安装/配置 依赖...
- ...
- ...
- [信息] 所有步骤 安装完毕,开始启动...
- ————————————————
-
- 请在你的设备中设置DNS服务器为:
- IP : xxx.xxx.xxx.xxx ,端口 : 53
-
- 注意:如果设备中没有 DNS端口设置选项,那么就只能使用默认的 53 端口
-
- ————————————————
使用说明
进入下载脚本的目录并运行脚本:
- ./dowsdns.sh
然后选择你要执行的选项即可。
- DowsDNS 一键安装管理脚本 [vx.x.x]
- -- Toyo | doub.io/dowsdns-jc3 --
-
- 0. 升级脚本
- ————————————
- 1. 安装 DowsDNS
- 2. 升级 DowsDNS
- 3. 卸载 DowsDNS
- ————————————
- 4. 启动 DowsDNS
- 5. 停止 DowsDNS
- 6. 重启 DowsDNS
- ————————————
- 7. 设置 DowsDNS 基础配置
- 8. 设置 DowsDNS 泛域名解析配置
- 9. 查看 DowsDNS 信息
- ————————————
-
- 当前状态: 已安装 并 已启动
-
- 请输入数字 [0-8]:
其他操作
启动:/etc/init.d/dowsdns start
停止:/etc/init.d/dowsdns stop
重启:/etc/init.d/dowsdns restart
查看状态:/etc/init.d/dowsdns status
安装目录:/usr/local/dowsDNS
配置文件:/usr/local/dowsDNS/conf/config.json
自定义泛解析域名文件:/usr/local/dowsDNS/data/wrcd.json
hosts配置文件:/usr/local/dowsDNS/conf/hosts_repository_config.json
其他说明
使用SNI代理说明
注意:新版本的DowsDNS是支持自定义泛域名解析的,可以指向你想要的IP。
但是,如果你开启了 SNI代理功能后(config.json配置文件中的sni_proxy_on参数,true=开启,false=关闭),config.json中的sni_proxy_ip参数,也就是SNI代理IP就会覆盖你目前DowsDNS中任何自定义的域名解析配置(包括自带的泛域名解析和hosts文件里的解析),具体的自己多试几次就懂了。
自定义泛解析域名配置文件:/usr/local/dowsDNS/data/wrcd.json
屏蔽广告
新版本中作者因为一些原因删除了屏蔽广告的hosts在线文件,所以失去了广告屏蔽功能,如果你想要这个功能,那么手动添加上即可。
- vi /usr/local/dowsDNS/conf/hosts_repository_config.json
打开文件后,按 I键
进入编辑模式,添加下面的代码到文件中,添加位置看下面示例,添加后按 ESC键
退出编辑模式,然后输入 :wq
保存并退出。
- "adaway":"https://raw.githubusercontent.com/aoccin/adaway/master/hosts"
- # 把这行代码添加到文件内
示例配置文件(注意逗号):
- {
- "hosts":{
- "racaljk":"https://github.com/racaljk/hosts/raw/master/hosts", # 注意这里因为JSON格式,所以需要添加一个 , 逗号
- "adaway":"https://raw.githubusercontent.com/aoccin/adaway/master/hosts" # 而最后一行则不需要添加 , 逗号
- },
- "wrcd":"https://raw.githubusercontent.com/liuyunbin/dowsDNS/master/data/wrcd.json"
- }
启动失败,查看日志
因为DNS的日志如果请求一多,日志就会爆炸巨多,所以我没有设置写入日志到文件,启动失败也就无法查看日志了,但是也有其他方法,如:
- cd /usr/local/dowsDNS
- # 进入dowsDNS目录
- python start.py
- # 手动运行 dowsDNS,如果有错误就会提示,可以找这个错误来问我解决办法。
日志错误提示:ImportError: No module named requests 解决办法
如果启动失败后,查看日志发现以下报错,那多半就是缺少Python模块 requests。
点击展开 查看更多
- Traceback (most recent call last):
- File “start.py”, line 8, in
- import requests
- ImportError: No module named requests
解决方法就是安装Python模块 requests:
- wget --no-check-certificate -O "requests-2.17.3.tar.gz" "https://pypi.python.org/packages/27/c7/a45641c83c6e28f4922ba6af3d4ae4d79b41932c2f3d77fed9e0bf878149/requests-2.17.3.tar.gz#md5=b1b8e6412e11e00e12adbb7786c3f2a3"
- tar -xzf requests-2.17.3.tar.gz
- cd requests-2.17.3
- python setup.py install
如果最后一步报错
- Traceback (most recent call last):
- File "setup.py", line 9, in
- from setuptools import setup
- ImportError: No module named setuptools
那么是又缺少一个依赖模块,那么安装:
- wget --no-check-certificate -N https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
- tar -xzf setuptools-0.6c11.tar.gz
- cd setuptools-0.6c11
- python setup.py install
- # 这个安装后,继续上面安装模块 requests 的步骤
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。
点击展开 查看更多
- echo -e "nameserver 8.8.8.8
- nameserver 8.8.4.4" > /etc/resolv.conf
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
点击展开 查看更多
- # CentOS系统:
- yum install -y wget
-
- # Debian/Ubuntu系统:
- apt-get install -y wget
升级脚本
升级脚本只需要运行脚本,然后选择并输入 0
回车即可,会自动检测最新版本并下载,当然重新下载脚本文件也可以,会自动覆盖原文件。
更新日志
2018年10月16日,版本 v1.0.10
1. 新增 默认安装 pip 和 requests (python模块)步骤,免得因为缺少模块而报错。
2. 修复 上个版本没修复完全的问题
点击展开 查看更多
2018年10月15日,版本 v1.0.9
1. 修复 提示解压失败的问题。
2018年07月10日,版本 v1.0.8
1. 新增 升级脚本时,将一起升级服务脚本(Service)。
2017年08月04日,版本 v1.0.7
1.更新 脚本内 逗比云地址(旧域名被墙,更换新域名)。
2017年06月15日,版本 v1.0.6
1. 修复 删除泛域名解析后,可能出现无法启动dowsDNS的问题
2. 新增 查看日志选项(需更新dowsDNS服务管理脚本)。
- rm -rf /etc/init.d/dowsdns
- # CentOS 系统
- wget --no-check-certificate "https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/other/dowsdns_centos" -O /etc/init.d/dowsdns
- # Debian/Ubuntu 系统
- wget --no-check-certificate "https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/other/dowsdns_debian" -O /etc/init.d/dowsdns
- chmod +x /etc/init.d/dowsdns
2017年06月15日,版本 v1.0.5
1.修复 添加泛域名解析时,询问是否添加上一级域名选择 N 后,添加泛域名解析错误的问题。
2017年05月22日,版本 v1.0.4
1.修复 添加泛解析域名时,添加成功但判断错误问题(虽然不影响使用)
2017年05月14日,版本 v1.0.3
1.支持 最新DowsDNS版本(文件名称和结构改了不少,请重新安装DowsDNS)。
2.新增 自定义泛域名解析 添加/修改/删除 等功能。
2017年04月29日,版本 v1.0.2
1.修复 部分系统获取最新版本失败的问题。
2.修复 获取最新版本为空时,没有正确终止脚本的问题。
2017年04月26日,版本 v1.0.1
1.更新 dowsDNS等文件下载连接为 逗比云(原为 Github),解决部分国内服务器封锁Github导致无法下载的问题。
2017年04月24日,版本 v1.0.0
1. 推出 正式版。
转载请超链接注明:逗比根据地 » 『原创』快速自建DNS服务器以 科学上网+屏蔽广告 —— dowsDNS 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
这是因为原来 DowsDNS 是从逗比云下载的,而后来逗比云取消代理相关文件,我就改成 Github 了,没做测试,结果文件夹名称不一样导致脚本检测不到以为解压失败了。
netstat -lntp
检查什么程序占用了端口。Facebook无法连接到是不清楚。
根据你提供的唯一信息,提示 DowsDNS下载失败,可能是因为国内服务器对github的干扰/限速/封锁 造成的无法访问github 从而导致 DowsDNS下载失败。
sudo su
(输入后会让你输入当前账号的密码)来临时获取 root管理员权限。然后再重新用脚本安装。