最近公司的网络到国外vps的路由丢包严重,国外vps上的shadowsocks无法使用
我就从公司阿里云服务器上面测试下到国外的vps路由是否正常,经测试可以访问。
然后我就想用阿里云做通道,公司到国外vps之间到通道。

实现步骤:
### 1.云主机启用通道
[root@monitor ~]# ssh -qTNf -D 0.0.0.0:12345 root@xo.xo.xo.xo
root@xo.xo.xo.xo’s password:
查看监控端口
[root@monitor ~]# netstat -lutnp |grep 12345
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN 19633/ssh
添加防火墙策略
[root@monitor ~]# vim /etc/sysconfig/iptables
-A INPUT -s xx.xx.xx.xx -p tcp –dport 12345 -j ACCEPT
[root@monitor ~]# iptables -nL |grep 12345
ACCEPT tcp – xx.xx.xx.xx 0.0.0.0/0 tcp dpt:12345
注:xo.xo.xo.xo为vps地址,xx.xx.xx.xx为云主机地址
参数详解:
-q表示该命令进入安静模式
-T是指该命令不占用sh
-N是指该命令不执行远程命令
-f是指该命令在后台运行
-D是该命令重要参数,他的后面跟着socks5服务器的地址与端口
最后就是远程服务器用户名和地址
也可以使用端口映射
ssh -N -f -L 127.0.0.1:12345:10.21.0.34:22 test@12.3..4.5
其中-N,-f作用上面已经讲了,这里最重要的是-L命令,它作用是做本地映射,使得远程服务器的端口相当于本地某自定义的端口,如上面的命令,本地的12345端口就相当于10.21.0.34的22端口,以后我只需要使用ssh user@127.0.0.1 -p 12345命令就能登录10.21.0.34了,注意user是10.21.0.34的用户,最后就是我们所使用的中间服务器,这个地址需要是我们直接访问到的。其实上面所说的A主机就是127.0.0.1,B主机就是12.3.4.5,C主机就是10.21.0.34。当然了,有本地映射肯定有远程映射,就是把-L换成-R,这样我们访问远程主机的端口就相当于访问本地的端口,但我没发现该功能的更多用途。
如果你没有什么中间服务器,只是想做个端口映射,那也很简单,如下:
ssh -N -f -L 12345:12.3.4.5:22 test@12.3.4.5
2.本地Chrome浏览器设置
首先需要插件SwitchyOmega,可以chrome—>更多工具—>扩展程序—>更多扩展程序里获取
也可以直接点击:https://chrome.google.com/webstore/category/extensions?hl=zh-CN
添加完成后,选项里设置新建情景模式
测试下效果