月下博客

『原创』快速自建DNS服务器以 科学上网+屏蔽广告 —— dowsDNS 一键脚本

本文最后更新于 2018年10月16日 01:11 可能会因为没有更新而失效。如已失效或需要修正,请留言!

照例,一个手动安装教程,一个一键脚本安装脚本

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 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!