背景
最近公司的网络不稳定,本地电脑访问公司内网的环境老是超时,请教了下组内的老前辈,得知可以通过使用ssh的socket5代理,通过隧道的方式走通。
如图,我本机机器到ServerA的延时较低,但是直接访问ServerB延时较高(A和B之间网络结构关系不明),这样可以在A与B通过ssh实现socket5代理,实现隧道转发功能。我只要在浏览器配上A提供的Socket5代理,即可以轻松访问B。
操作过程
帮助
ssh隧道相关的命令参数:
-f : 输入密码后进入后台模式
-N:不执行任何命令,用于端口转发
-D:使用socket5代理
-L: 转发tcp协议数据,需要指定host和port
-C:使用数据压缩,在网络慢的时候能提高上网速度;在网络快的时候会影响网速
建立ssh隧道
在A与B之间建立ssh互信(比较简单,此处省略)
我们在A机器上执行:
#执行此命令
ssh -f -N -D bindaddress:bindport username@address #bindaddress:指的是serverA对外开放可访问的ip,比如serverA机器的ip为192.168.20.22(本地电脑可以ping通此ip) #bindport:指的是serverA对外开放可访问的ip,随意填一个即可(比如7070) #username@address:serverA的用户名和地址,这里写root@127.0.0.1(ServerA要和自身建立互信)
所以执行命令为:ssh -f -N -D 192.168.20.22:7070 root@127.0.0.11
这样就建立了SOCKS5代理。
浏览器配置SOCKS5代理
打开firefox设置界面,如下设置:
配置A机器的socket5连接,相当于是A机器为代理,访问B机器。
这样重新打开B服务器上的网站地址,速度明显提升了。
博主:测试生财
座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务*。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374