<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="快速自建DNS服务器以 科学上网+屏蔽广告 —— dowsDNS 一键脚本">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2017-04-25 16:39<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
快速自建DNS服务器以 科学上网+屏蔽广告 &mdash;&mdash; dowsDNS 一键脚本

系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +


首先你需要一个 国内的VPS(云服务器)，否则你用海外VPS搭建DNS服务器会被墙拦截并伪造(DNS污染)。



推荐 Debian 7 x64，这个是我一直使用的系统，我的脚本在这个系统上面出错率最低。

脚本版本
Ver: 1.0.0

安装步骤
执行下面的代码下载并运行脚本。

wget -N --no-check-certificate https://softs.pw/Bash/dowsdns.sh &amp;&amp; chmod +x dowsdns.sh &amp;&amp; bash dowsdns.sh
 
# 如果上面这个脚本无法下载，尝试使用备用下载：
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/dowsdns.sh &amp;&amp; chmod +x dowsdns.sh &amp;&amp; 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代理 IP（如果没有就直接回车）
(默认: 219.76.4.3):
	================================================
	SNI代理 IP :  219.76.4.3 
	================================================
 
[信息] 开始安装/配置 依赖...
...
...
[信息] 所有步骤 安装完毕，开始启动...
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 
 请在你的设备中设置DNS服务器为：
 IP : xxx.xxx.xxx.xxx ,端口 : 53
 
 注意：如果设备中没有 DNS端口设置选项，那么就只能使用默认的 53 端口
 
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;



使用说明
进入下载脚本的目录并运行脚本：

./dowsdns.sh

然后选择你要执行的选项即可。

  DowsDNS 一键安装管理脚本 [vx.x.x]
  -- Toyo | doub.io/dowsdns-jc3 --
  
 0. 升级脚本
 &mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 1. 安装 DowsDNS
 2. 升级 DowsDNS
 3. 卸载 DowsDNS
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 4. 启动 DowsDNS
 5. 停止 DowsDNS
 6. 重启 DowsDNS
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 7. 设置 DowsDNS 配置
 8. 查看 DowsDNS 信息
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 
 当前状态: 已安装 并 已启动
 
 请输入数字 [0-8]:

其他操作
启动：service dowsdns start

停止：service dowsdns stop

重启：service dowsdns restart

查看状态：service dowsdns status

安装目录：/usr/local/dowsdns

配置文件：/usr/local/dowsdns/conf/config.json

其他说明
提示wget: unknown host &ldquo;softs.pw&rdquo; 之类的错误
这是无法解析我的域名，多半是DNS的问题，请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

echo -e &quot;nameserver 8.8.8.8
nameserver 8.8.4.4&quot; &gt; /etc/resolv.conf

提示 wget: command not found 的错误
这是你的系统精简的太干净了，wget都没有安装，所以需要安装wget。

# CentOS系统:
yum install -y wget
 
# Debian/Ubuntu系统:
apt-get install -y wget

升级脚本
升级脚本只需要运行脚本，然后选择并输入 0 回车即可，会自动检测最新版本并下载，当然重新下载脚本文件也可以，会自动覆盖原文件。

更新日志
2017年04月24日，版本 v1.0.0
1. 推出 正式版。

 Debian 编译安装 SNI Proxy 反向代理教程（可用于Hosts/DNS服务器）

我以前曾经写过一个SNI Proxy代理的安装教程，但是当时只写了Ubuntu的，Debian作为我的本命系统，没有教程怎么行，所以我就去Github看了看研究了一下。

Ubuntu安装SNI Proxy代理教程：一个 反代无需证书 适用于DNS/Hosts的小工具 &mdash;&mdash; SNI Proxy代理 安装教程


系统要求
本教程只适用于 Debian7 / 8 系统，其他系统都不适用。

安装SNI Proxy依赖需要 最少150MB大小的空间，所以请确保你的系统硬盘空闲空间有 300MB。

简单说明
SNI Proxy 简单的来说是一个 反向代理软件，可以把你的请求原封不动的发送给指定网站，然后再把指定网站返回的数据原封不动的返回给你，目前网上可以 科学上网的Hosts和DNS，都是通过把 谷歌等域名指向 SNI Proxy代理的IP来实现&ldquo;直连&rdquo;访问谷歌的，所以在某种程度上，SNI Proxy承担一个流量数据搬运工的作用。

因为 Hosts和DNS科学上网，都必须使用 https 来访问，所以过程都是加密的，而SNI Proxy只会原封不动的把流量转发过去，所以不会去解密（也不能），也就不需要担心安全问题了。

SNI Proxy Github项目：https://github.com/dlundquist/sniproxy

安装步骤
安装依赖
首先为了确保依赖安装正常、完整，我们需要更换系统 软件包源为最新的稳定源 jessie（本步骤必做，否则很容易出错）。

默认下面的代码是 美国的镜像源，可以更换下面代码 us.sources.list 中的 us，具体可以看这里 逗比云

rm -rf /etc/apt/sources.list &amp;&amp; wget -N --no-check-certificate -O &quot;/etc/apt/sources.list&quot; &quot;https://softs.pw/Bash/sources/us.sources.list&quot;

然后我们更新软件包列表，并开始安装依赖

apt-get update
# 安装依赖会很大，可能会有 100-300MB大小，所以一开始的镜像源一定要选近的，否则会很慢。
apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev libudns-dev pkg-config fakeroot devscripts unzip

安装SNI Proxy
mkdir sniproxy &amp;&amp; cd sniproxy
# 新建一个 SNI Proxy文件夹并进入
wget -N --no-check-certificate https://github.com/dlundquist/sniproxy/archive/master.zip
# 下载 SNI Proxy 最新软件包
unzip master.zip &amp;&amp; cd sniproxy-master
# 解压 SNI Proxy 软件包并进入解压后的文件夹
./autogen.sh &amp;&amp; dpkg-buildpackage
# 开始构建 deb 包
sniproxy_deb=$(ls ..|grep &quot;sniproxy_.*.deb&quot;) &amp;&amp; echo ${sniproxy_deb}
# 获取构建后的 deb 包的文件名，正常情况下会返回一个类似于 sniproxy_0.X.X_amd64.deb 这样的文件名
[[ ! -z ${sniproxy_deb} ]] &amp;&amp; dpkg -i ../${sniproxy_deb}
# 判断获取的文件名是否为空，如果不为空就 安装 deb 包。

最后安装完毕，我们可以用 sniproxy -V 查看是否安装成功，正常情况下会返回版本号。

安装完毕之后，还需要配置一下配置文件，才能使用，具体看这个教程：一个 反代无需证书 适用于DNS/Hosts的小工具 &mdash;&mdash; SNI Proxy代理 安装教程

DNS服务搭建教程：

    『原创』快速自建DNS服务器以 科学上网+屏蔽广告 &mdash;&mdash; dowsDNS 一键脚本

    Linux 使用 dowsDNS 快速自建DNS服务器以 科学上网+屏蔽广告

    Linux 自建DNS 并使用SNI Proxy实现科学上网 &mdash;&mdash; DNSmasq配置教程


使用说明
启动：service sniproxy start

停止：service sniproxy stop

重启：service sniproxy restart

查看状态：service sniproxy status

配置文件：/etc/sniproxy.conf

通过 dpkg -S sniproxy 命令可以查询 SNI Proxy 的所有安装文件。

添加开机启动
update-rc.d -f sniproxy defaults

取消开机启动
update-rc.d -f sniproxy remove

卸载SNI Proxy
apt-get remove --purge sniproxy
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
