反向代理公网访问局域网内ssh、vnc、samba服务

日期:2018年5月14日      标签:反向代理, ssh, 局域网, vnc, samba

本文参考了CSDN上的这篇文章,向作者表示感谢:https://blog.csdn.net/leehdsniper/article/details/53982218

适合场景

  • 1.具有公网IP(比如有百度云、阿里云、腾讯云的服务器)
  • 2.局域网内机器或者设备无法在外网直接访问
  • 3.想要从公网(和目标访问设备不在同一局域网内)访问局域网内识别,比如ssh登录、vnc访问、samba文件共享等

本文环境

  • 1.某云机器一台:IP(X.X.X.X), 用户名(test), 系统(centos)
  • 2.树莓派一台(连接到某个局域网):IP(192.168.1.111), 用户名(pi), 系统()

配置过程

ssh

1.将树莓派22端口反向代理到某云机器X.X.X.X的9966端口上,需要输入test用户的密码

ssh -fCNR 9966:192.168.0.111:22 test@X.X.X.X  

22端口为ssh服务默认的端口,如果有变更,请改成变更之后的,9966端口为云服务器上随机的某个端口,如果被占用,可以更换为其他端口

2.在某云机器X.X.X.X上做正向代理,将云服务器上的9600的数据转发到9966上, 9600用来和外网通信,并将数据转发到9966上。

ssh -fCNL "*:9600:localhost: 9966" test@X.X.X.X  

做这一步是因为第一步反向代理的的9966端口只支持本地访问(也就是只能在云服务器上访问)

3.通过ssh访问局域网设备:

ssh -p 9600 pi@X.X.X.X  

VNC

1.将树莓派5901端口反向代理到某云机器X.X.X.X的9977端口上,需要输入test用户的密码。

ssh -fCNR 9977:192.168.0.111:5901 test@X.X.X.X  

5901端口为vnc服务默认的端口,9977端口为云服务器上随机的某个端口,如果被占用,可以更换为其他端口.

2.在某云机器X.X.X.X上做正向代理,将云服务器上的9700的数据转发到9977上,9700用来和外网通信,并将数据转发到9977上。

ssh -fCNL "*:9700:localhost: 9977" test@X.X.X.X  

做这一步是因为第一步反向代理的的9977端口只支持本地访问(也就是只能在云服务器上访问)

3.通过9700端口访问局域网设备上的VNC服务:

samba

1.将树莓派139端口反向代理到某云机器X.X.X.X的9988端口上,需要输入test用户的密码

ssh -fCNR 9988:192.168.0.111:139 test@X.X.X.X  

139端口为samba服务默认的端口,9988端口为云服务器上随机的某个端口,如果被占用,可以更换为其他端口

2.在某云机器X.X.X.X上做正向代理,将云服务器上的9800的数据转发到9988上,9800用来和外网通信,并将数据转发到9988上。

ssh -fCNL "*:9800:localhost: 9988" test@X.X.X.X  

做这一步是因为第一步反向代理的的9988端口只支持本地访问(也就是只能在云服务器上访问)

3.通过9800端口访问局域网设备上的samba服务:

(正文完)



© 喻小右 2016 京ICP备15064386号-1