二级proxy部署
shadowsocks:
apt-get update
apt-get install -y python-pip python-m2crypto
pip install shadowsocks
Debian / Ubuntu:
apt-get install python-pip
pip install shadowsocks
CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks
启动:
ssserver -p 3000 -k password -m aes-128-cfb -d start
停止:
ssserver -d stop
二级COW架设源码:https://github.com/cyfdecyf/cow
安装过程:
curl -L git.io/cow | bash
配置文件路径:
vim ~/.cow/rc
手工安装:
http://dl.chenyufei.info/cow/0.9.6/cow-linux64-0.9.6.gz
配置文件:
https://raw.github.com/cyfdecyf/cow/0.9.6/doc/sample-config/rc /root/.cow/rc
二级proxy部署 第二篇
上面写的是shadowsocks+cow实现二级proxy,接下来用一种简单的方式来实现二级proxy:
首先,一级proxy开启ssh服务。
二级proxy上用SSH端口转发:
ssh -N -f -D 0.0.0.0:8888 username@ssh.malu.me
输入密码,这段命令意思是连接远程主机ssh.malu.me,然后在本地0.0.0.0地址、端口8888上开启socket5监听。
这样只要访问二级proxy上的socket5代理就能穿过两层代理了。
二级proxy部署 自动脚本
相关参数根据实际修改
二级proxy部署 - 直连windows
windows下安装openssh
下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases
1.解压OpenSSH-Win64.zip到C:\Program Files\OpenSSH目录下,在DOS窗口进入OpenSSH目录
2.安装SSH host keys
.\ssh-keygen.exe -A
3.打开防火墙22端口
4.安装SSHD服务并在服务窗口找到名为“SSHD”的服务,右键将其启动,并设置为随操作系统自动启动
.\sshd.exe install
也可以直接启动:
.\sshd.exe
5.查看启动端口,如果需要监听外网,可以修改当前目录sshd_config文件
netstat -ant
sshd_config:
ListenAddress 0.0.0.0
内网穿透
根据二级proxy的原理,实质上是在两台服务器之间实现端口转发。
那么对应内网的服务器,只要能访问外网,那么利用SSH隧道端口映射就能实现内网穿透。
首先需要一台能远程登录的外网服务器。
然后内网服务器上执行:
ssh -gCNfR 80:localhost:8080 ssh.malu.me -l root -p 22
g:在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
(-g参数如果不生效,其实这是ssh默认的安全策略所致,需要在服务端/etc/ssh/sshd_config 添加 gatewayports yes 重启sshd即可)
C:压缩数据传输。
N:不执行脚本或命令,通常与-f连用。
f:后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-R 本地端口:目标IP:目标端口
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-L 本地端口:目标IP:目标端口
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-D IP:port
指定一个本地机器 “动态的’’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.
二级proxy部署 - 轻量级SSH安装
下载地址:https://matt.ucc.asn.au/dropbear/
dropbear的编译安装:
# ./configure --prefix=/usr/local/dropbear --sysconfdir=/etc/dropbear --disable-pam
# make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
# make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install
加入环境变量:
export PATH=/usr/local/dropbear/bin:/usr/local/dropbear/sbin:$PATH