官方网址:http://ss5.sourceforge.net/
场景描述
在支付项目的开发中,出于安全的考虑,App所部署的网段,不能直接访问公网,所以需要通过技术手段,让其可以访问公网。
尝试了几种方法,各有优缺点:
Nginx转发,缺点是证书传不到第三方,不可接受;
RINETD转发,缺点是只能转发到固定IP,不可接受;
配置路由规则,缺点是会对整个机器路由产生影响,不确定是否安全可靠;
Socket5代理,缺点是要改代码,但是可以代理Http/Https/Ftp等,可以满足要求。
SS5安装
关于SS5的安装过程,网上多有教程,不再赘述,比如,可以参考这个网址:http://lxsym.blog.51cto.com/1364623/769691 。
SS5压力测试
网络监控方法
dstat命令,所代表的receive/send,貌似receive是接收的字节数,*8是带宽,而send并不是机器对外网发送的字节数,故不用它判断收发流量;
iftop命令,在实验场景下(每秒大约4个baidu首页请求,接收流量大约138KB*4),显示的发送和接收的流量,和程序计算的每秒发送接收流量基本一致,故采用这个命令,判断网络流量。
SS5日志
1、STARTED和TERMINATED是配对出现的,代表一次连接的开始和结束
[08/Apr/2015:19:46:57 CST] [1035835136] 10.10.96.106 "" "CONNECT" STARTED 0 0 0 (10.10.96.106:55389 -> 220.181.112.244:80)
[08/Apr/2015:19:48:03 CST] [1035835136] 10.10.96.106 "" "CONNECT