月下博客

Debian 编译安装 SNI Proxy 反向代理教程(可用于Hosts/DNS服务器)

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

我以前曾经写过一个SNI Proxy代理的安装教程,但是当时只写了Ubuntu的,Debian作为我的本命系统,没有教程怎么行,所以我就去Github看了看研究了一下。

Ubuntu安装SNI Proxy代理教程:一个 反代无需证书 适用于DNS/Hosts的小工具 —— SNI Proxy代理 安装教程


目前 SNI Proxy 代理效果不如以前,防火墙针对性更强,如非必须,不推荐使用!

系统要求

本教程只适用于 Debian7 / 8 系统,其他系统都不适用。

安装SNI Proxy依赖需要 最少150MB大小的空间,所以请确保你的系统硬盘空闲空间有 300MB。

简单说明

SNI Proxy 简单的来说是一个 反向代理软件,可以把你的请求原封不动的发送给指定网站,然后再把指定网站返回的数据原封不动的返回给你,目前网上可以 科学上网的Hosts和DNS,都是通过把 谷歌等域名指向 SNI Proxy代理的IP来实现“直连”访问谷歌的,所以在某种程度上,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 && wget -N --no-check-certificate -O "/etc/apt/sources.list" https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list

注意:这个更换 镜像源的步骤,Debian 8、Debian 9 不需要执行,可以直接跳过,Debian 7 必须执行!

然后我们更新软件包列表,并开始安装依赖

apt-get update
apt-get install autotools-dev cdbs debhelper dh-autoreconf dpkg-dev gettext libev-dev libpcre3-dev libudns-dev pkg-config fakeroot devscripts build-essential unzip -y
# 安装依赖会很大,可能会有 100-300MB大小,所以一开始的镜像源一定要选近的,否则会很慢。
# 在安装过程中可能会提示如下内容,选择 Yes 即可。
======================== Configuring libc6:amd64 ========================
 x .......                                                              x 
 x .......                                                              x 
 x Restart services during package upgrades without asking?             x  
 x                                                                      x  
 x             《Yes》                            《No》                 x  
 x                                                                      x  
=========================================================================

安装SNI Proxy

mkdir sniproxy && cd sniproxy
# 新建一个 SNI Proxy文件夹并进入

wget -N --no-check-certificate https://github.com/dlundquist/sniproxy/archive/master.zip
# 下载 SNI Proxy 最新软件包

unzip master.zip && cd sniproxy-master
# 解压 SNI Proxy 软件包并进入解压后的文件夹

./autogen.sh && dpkg-buildpackage
# 开始构建 deb 包

sniproxy_deb=$(ls ..|grep "sniproxy_.*.deb") && echo ${sniproxy_deb}
# 获取构建后的 deb 包的文件名,正常情况下会返回一个类似于 sniproxy_0.X.X_amd64.deb 这样的文件名

[[ ! -z ${sniproxy_deb} ]] && dpkg -i ../${sniproxy_deb}
# 判断获取的文件名是否为空,如果不为空就 安装 deb 包。

最后安装完毕,我们可以用 sniproxy -V 来查看是否安装成功,正常情况下会返回版本号。

安装完毕之后,还需要配置一下配置文件,才能使用,具体看这个教程:一个 反代无需证书 适用于DNS/Hosts的小工具 —— SNI Proxy代理 安装教程

DNS服务搭建教程:

  1. 『原创』快速自建DNS服务器以 科学上网+屏蔽广告 —— dowsDNS 一键脚本
  2. Linux 使用 dowsDNS 快速自建DNS服务器以 科学上网+屏蔽广告
  3. Linux 自建DNS 并使用SNI Proxy实现科学上网 —— DNSmasq配置教程

使用说明

启动:/etc/init.d/sniproxy start(如果运行无反应并没有启动,那么请直接使用 sniproxy 来启动试试)

停止:/etc/init.d/sniproxy stop

重启:/etc/init.d/sniproxy restart

查看状态:/etc/init.d/sniproxy status

配置文件:/etc/sniproxy.conf

通过 dpkg -S sniproxy 命令可以查询 SNI Proxy 的所有安装文件。

运行优化说明

建议在运行 SNIProxy前,执行一下这个命令,作用是提高系统的文件符同时打开数量,对于TCP连接过多的时候系统默认的 1024 就会成为速度瓶颈。

ulimit -n 51200

这个命令只有临时有效,重启后失效,如果想要永久有效,请执行:

echo "* soft nofile 51200
* hard nofile 51200" >> /etc/security/limits.conf

然后最后再执行一下 ulimit -n 51200 即可。

添加开机启动

update-rc.d -f sniproxy defaults

取消开机启动

update-rc.d -f sniproxy remove

卸载SNI Proxy

apt-get remove --purge sniproxy

其他系统的SNI Proxy教程,我会看情况写的。

转载请超链接注明:月下博客 » Debian 编译安装 SNI Proxy 反向代理教程(可用于Hosts/DNS服务器)
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!