基本所有的机器都有ssh,所以用ssh开隧道是最方便的。
ssh -R:远程->本地->目标
ssh -R [远程主机的监听地址:]远程主机的监听端口:目标主机的ip:目标主机的端口 root@远程主机ip
其中,[远程主机的监听地址:]可以省略,省略后默认是127.0.0.1
这种用法一般是用来做内网穿透的,例如服务器公网ip:123.123.123.123,我要把内网的192.168.1.100的web服务映射出去,就可以:
ssh -R 0.0.0.0:80:192.168.1.100:80 root@123.123.123.123
要改ssh配置,/etc/ssh/sshd_conf里的GatewayPorts改成yes
ssh -L:本地->远程->目标
ssh -L [本地监听地址:]本地监听端口:目标主机的ip:目标主机的端口 root@远程主机ip
没什么好说的,和上面类似,只是本地和远程换了一下,这种一般是要访问远程主机没开放的端口
ssh -L 3306:127.0.0.1:3306 root@123.123.123.123
ssh -D:远程主机上开Socks5代理
ssh -D 远程主机端口 root@远程主机ip
就是开一个socks5代理,让远程主机代理你的流量