centos下安装sniproxy实现非网关模式科学上网

作者: 阿伟 分类: linux, shadowsocks, 技巧分享 发布时间: 2015-11-07 11:16 ė 浏览数 6 没有评论

对于家庭用户,只要在openwrt等开源固件的路由器上运行科学上网的软件。通过配置,即可实现科学上网。算是在智能网关上做手脚。
但是对于企业来说。openwrt等固件虽然有x86版本。但始终不如思科 H3C等硬件路由器的包转发速度快。还有稳定性和一些高级路由策略。
对于企业来说,科学上网对于企业的需求远没有稳定性重要。那么对于企业来说,用sniproxy和dnsmasq配合一台外网vps和一台内网dns服务器即可满足大部分需求。

原理解释:

sniproxy负责中转科学上网的数据。dnsmasq负责把需要科学上网的域名人为的污染(指向)我们的sniproxy服务器。

centos下安装sniproxy(参考文章:http://www.linuxboy.net/?p=809)

安装一些开发工具

yum –y install unzip wget

yum –y groupinstall “Development tools”

yum –y install pcre–devel pcre

安装辅助包libev4:

wget http://dist.schmorp.de/libev/Attic/libev-4.19.tar.gz

tar zxvf libev-4.19.tar.gz
cd libev-4.19
./configure –prefix=/usr/local/libev4
make
make install

安装辅助包udns,不装这个的话,sniproxy无法对*泛域名解析.

wget http://archive.ubuntu.com/ubuntu/pool/universe/u/udns/udns_0.4.orig.tar.gz
tar zxvf udns_0.4.orig.tar.gz
cd udns-0.4
./configure
make
cd ..
mv udns-0.4 /usr/local/udns

装sniproxy,注意,autogen.sh的时候会报错,那是debian的错,忽略

wget https://github.com/dlundquist/sniproxy/archive/master.zip
unzip -x master.zip
cd sniproxy-master/
export CFLAGS=’-I/usr/local/libev4/include -I/usr/local/udns’
export LDFLAGS=’-L/usr/local/libev4/lib -L/usr/local/udns’
export LD_LIBRARY_PATH=/usr/local/libev4/lib:$LD_LIBRARY_PATH
./autogen.sh
./configure –prefix=/root
make
make install

这样sniproxy就装到了/root/sbin/sniproxy,建立一个配置文件:

vi /etc/sniproxy.conf

user nobody
listen 80 {
proto http
table http_hosts
}
table http_hosts {
.* *:80
}
listen 443 {
proto tls
table https_hosts
}
table https_hosts {
.* *:443
}

/root/sbin/sniproxy启动。
输入ps -A|grep sniproxy 看一下,进程在就说明启动成功了,注意,以后要再启动sniproxy,一定要把那三句export执行一下,否则找不到库,无法启动;当然为了方便也可以写一个.sh文件。

如果开启了iptables。记得开启80和443端口。
#开放80和443端口给sniproxy用。

iptables -I INPUT -p tcp –dport 443 -j ACCEPT
iptables -I INPUT -p tcp –dport 80 -j ACCEPT

当然测试成功的话。记得保存防火墙规则。

然后在hosts中把需要科学上网的地址指向我们的sniproxy服务器。
使用dnsmasq在企业内部署Local DNS服务器把域名指向科学上网的服务器将在下篇文章中说明。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

本文出自阿伟的博客,转载时请注明出处及相应链接。

本文永久链接: https://blog.awei.me/centos-sniproxy/

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部