CentOS下配置SS5(SOCKS5)代理服务器
方案:使用开源的SS5( Socks Server 5 )
官网:http://ss5.sourceforge.net/ (点击左侧的Software在右侧的Server处进入下载地址)
CentOs版本:CentOS 7.3.1611 x64
以下操作如果没有特别指明,均在root目录下(/root)
1、从官网下载源码
# wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
直接从官网下载压缩包到当前目录,我下载的是最新版。
你也可以在windows上下载后,使用FlashFxp上传至服务器。
2、配置编译环境及安装编译SS5依赖组件
# yum -y install gcc automake make
# yum -y install pam-devel openldap-devel cyrus-sasl-devel openssl-devel
3、解压、编译、安装
# tar xvf ss5-3.8.9-8.tar.gz
# cd ss5-3.8.9-8
# ./configure && make && make install
4、修改SS5配置文件
①修改认证方式 /etc/opt/ss5/ss5.conf
,查找取消下面两行注释
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
安装后这两行是注释的(当时弄的时候没注意,后面用客户端通过代理服务器连接测试时一直显示错误的认证方式,找了好久)。
默认的是:无用户认证。
如果想要使用 username/password
用户认证方法,需要将上面两行修改成下面这样:
auth 0.0.0.0/0 - u
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
②添加用户名及密码 /etc/opt/ss5/ss5.passwd
,每行一个用户+密码(之间用空格)
test1 12345
test2 56789
③修改ss5启动的参数,自定义代理端口 /etc/sysconfig/ss5
(如果不设置,默认是1080)
此文件ss5启动时会主动加载,将
#SS5_OPTS=” -u root”
取消注释,修改成下面这样
SS5_OPTS=" -u root -b 0.0.0.0:10808"
④给bash文件增加可执行权限 /etc/rc.d/init.d/ss5
# chmod 755 /etc/rc.d/init.d/ss5
5、启动ss5
一定要在root用户目录下,执行
# /etc/rc.d/init.d/ss5 restart
也可以用
# service ss5 start
启动完成后,可以使用以下命令查看连接情况
# netstat -an | grep 10808
查看日志
more /var/log/ss5/ss5.log
6、关闭ss5
# /etc/rc.d/init.d/ss5 stop
也可以用
# service ss5 stop
7、将ss5加入开机自动启动(可选)
# chkconfig --add ss5
# chkconfig --level 345 ss5 on
8、至此,在centos下安装socks5代理服务器已完成,接下来开始配置客户端(以widows7为例)
9、如何测试服务器是否能访问某个网站
比如测试是否能访问百度
# wget https://www.baidu.com/
查看是否能下载百度的首页到本地
10、有哪些客户端代理软件
比较出名的有:
Shadowsocks
proxifier
sockscap
这些软件都可以全局代理,也可以设置局部代理。
使用方法大同小异,都先需要设置代理服务器的信息:
ip,端口,用户名及密码(如果需要认证的话)。
但是经过测试发现,这些本地socks5代理软件效果都不太好,访问网页基本都是超时或无法连接(也可能有些参数我没有使用对)
如果服务器采用的是windows系统,一种比较常用的搭配是CCProxy(ss5代理服务器)+proxifier(客户端)。
11、windows常用软件自带的sock5代理设置
测试发现采用软件自带的代理功能效果比较好
一般搭建ss5代理服务器最好使用用户认证的方式(用户名密码),但大多数客户端软件都没有此功能,比如ie浏览器、360安全浏览器、火狐浏览器等。所以如果想要使用这些软件设置sock5代理的话,ss5代理服务器需保持默认的无认证模式。
QQ和遨游浏览器支持用户认证
下面是一些常用软件的sock5代理设置方法:
windows系统自带的ie浏览器(我本机装的ie10,低版本的可能不支持)
设置-Internet选项-连接-局域网设置-代理服务器(勾选为LAN使用代理服务器)-高级-在套接字一栏中填写对应的代理服务器ip和端口确定(其它留白)。
勾选对本地地址不使用代理服务器(即对本地地址127.0.0.1、A段私有地址10.0.0.0-10.255.255.255、B段私有地址172.16.0.0-172.31.255.255、C段私有地址192.168.0.0–192.168.255.255不进行代理)
chrome浏览器
谷歌浏览器使用的系统的默认代理方式(即ie浏览器的代理设置)
360安全浏览器
工具-代理服务器(下面有3个选项,代理服务器设置、使用IE代理设置、不使用代理服务器,默认使用IE代理设置)-代理服务器设置,在弹出的窗口中的代理服务器列表编辑框中按如下格式填写:
ip:端口号@socks#名称
火狐浏览器
在地址栏中,输入 about:config ,按确认,修改里面的一项数值,将 network.proxy.socks_remote_dns改成true(在页面中双击即可)。然后,打开FireFox浏览器,选择菜单栏的“工具/选项…”。选择“高级/网络”,点设置,就可以在弹出的窗口中进行代理服务器的设置了,选中“手动配置代理”,然后在SOCKS主机上,填写相应的代理服务器地址和端口,SOCKS类型选择“SOCKS V5”。
遨游浏览器
在设置页面中,支持用户认证(可以选填用户名和密码)
QQ客户端
在登陆界面中点击设置三角按钮就可以进入网络设置界面,支持用户认证(可以选填用户名和密码)
备注
如果netstat看不到端口了,到makefile目录中make uninstall卸载再make install重装以下。
/etc/rc.d/init.d/ss5(shell脚本)
#!/bin/sh # # chkconfig: # description: This script takes care of starting \ # and stopping ss5 # OS=`uname -s` if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = [ -f /usr/sbin/ss5 ] || exit fi # Test custom variables test -f /etc/sysconfig/ss5 && . /etc/sysconfig/ss5 # See how we were called. case "$1" in start) # Start daemon. echo -n "Starting ss5... " if [ $OS = "Linux" ]; then daemon /usr/sbin/ss5 -t -u root -b ip: touch /var/lock/subsys/ss5 else if [ $OS = "SunOS" ]; then /usr/sbin/ss5 -t touch /var/lock/subsys/ss5 else /usr/local/sbin/ss5 -t fi fi echo "done" ;; stop) # Stop daemon. echo "Shutting down ss5... " if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then killproc ss5 rm -f /var/lock/subsys/ss5 else killall ss5 fi rm -f /var/run/ss5/ss5.pid echo "done" ;; reload) # Reload configuration if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then echo -n "Reloading ss5... " killproc ss5 - else pkill -HUP ss5 fi echo "done reload" ;; restart) # Restart daemon echo -n "Restarting ss5... " $ stop $ start ;; status) if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then status ss5 fi ;; *) echo "Usage: ss5 {start|stop|status|restart|reload}" exit ;; esac exit
如果出现以下错误
Can’t create pid file /var/run/ss5/ss5.pid
Can’t unlink pid file /var/run/ss5/ss5.pid
需要先创建 /var/run/ss5 目录后再启动 ss5
好像每次重启电脑后会文件夹会被删除。
有时候访问谷歌时,会自动断开链接(会持续一段时间)
查看日志,显示以下错误
[ERRO] ReceivingDataReceivingData
: (Connection reset by peer).
百度了一下说,可能
客户端被关闭,或浏览器点了stop
服务器并发数超载,会主动断开一些链接。
没看代码,具体不太清除,不过发现
每次访问
http://www.google.com/就会出现(其它国外网站类似)
访问https://www.google.com/就正常
CentOS下配置SS5(SOCKS5)代理服务器的更多相关文章
- Centos下配置php环境
Centos下配置php环境 目录[-] 环境: GD2 2 安装PHP 5.2.14(FastCGI模式) 1)编译安装PHP 5.2.14所需的支持库: 2)编译安装MySQL 5.5.3-m ...
- centos下配置gitosis服务器遇到的困难
这篇博客主要讲的是在centos下配置gitosis遇到的问题. 背景:centos7.2 64 :gitosis2.0 1.困难1 1)产生的问题及原因.gitosis没有安装成功,没有出现fini ...
- CentOS下配置防火墙 配置nat转发服务
CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network 这里可以更改主机 ...
- CentOS下配置jdk
CentOS下配置jdk 1.在jdk官网上下载最新版本的jdk 2.将jdk放到相应的位置,使用如下命令来解压. .0_181 /opt/data/ tar -zxf jdk-8u181-linux ...
- CentOS下配置iptables防火墙 linux NAT(iptables)配置
CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/syscon ...
- CentOS下配置LVM和RAID
1.CentOS配置LVM http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html http://ww ...
- Windows下配置Squid反向代理服务器
Squid是一款类Unix系统下非常流行的服务器软件,其最重要的功能就是在客户端和服务端之间建立缓存.因而Squid可以用作反向代理,部署多级缓存或者搭建CDN等,无论名称是什么,本质上都是一样的.目 ...
- CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)
原文地址:http://blog.csdn.net/tjcyjd/article/details/46553361 版权声明:本文为博主原创文章,未经博主允许不得转载. 同一服务器部署多个tomcat ...
- 转载:分布式文件系统 - FastDFS 在 CentOS 下配置安装部署(2)
原文:http://blog.mayongfa.cn/193.html 一.安装 Nginx 和 fastdfs-nginx-module 安装 Nginx 请看:从零开始学 Java - CentO ...
随机推荐
- [福大软工] Z班 第13次成绩排行榜
注:本次成绩排行榜是针对华为软件云评测博客 作业要求 http://www.cnblogs.com/easteast/p/7772637.html 评分细则 (1)寻找软件的bug,功能的评测与黑箱测 ...
- 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装
三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308 开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...
- 用于文本分类的多层注意力模型(Hierachical Attention Nerworks)
论文来源:Hierarchical Attention Networks for Document Classification 1.概述 文本分类时NLP应用中最基本的任务,从之前的机器学习到现在基 ...
- Difference between BeanFactory and FactoryBean in Spring Framework (Spring BeanFactory与Factory区别)
参见原文:http://www.geekabyte.io/2014/11/difference-between-beanfactory-and.html geekAbyte Codes and Ran ...
- vue组件详解——使用slot分发内容
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 一.什么是slot 在使用组件时,我们常常要像这样组合它们: <app& ...
- (七)JavaScript 函数
带有返回值的函数 JavaScript 变量的生存期 JavaScript 变量的生命期从它们被声明的时间开始. 局部变量会在函数运行以后被删除. 全局变量会在页面关闭后被删除.
- 微信接入arduino
https://blog.csdn.net/liudongdong19/article/details/81072857 一.准备工作. 1.微信公众号,个人的就可以了,不用企业号什么的. ...
- Java关键字(六)——super
在 Java关键字(五)——this 中我们说 this 关键字是表示当前对象的引用.而 Java 中的 super 关键字则是表示 父类对象的引用. 我们分析这句话“父类对象的引用”,那说明我们使用 ...
- 使用ssh登录kali
SSH为Secure Shell的缩写,SSH为建立在应用层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题 ...
- jenkins+svn安装
参考资料: http://blog.csdn.net/wuxuehong0306/article/details/50016547 https://www.ibm.com/developerworks ...