R 代表 remote , 也就是将远程端口9000映射到指定地址127.0.0.1:9000 (本机) , 访问远程服务器的9000端口会转发到本地的9001端口
L 代表 location ,也就是将本地端口27018映射到指定地址127.0.0.1:9000 (远程服务器的网络环境) , 访问本地的27018, 会转发到远端服务器的127.0.0.1:27017 , 下面是另外一种用法, 用来内网穿透,访问远程服务器的局域网内的服务
判断是否映射成功
1台内网机N可以上网,但是没有公网ip,用户userN,需要ssh的服务端和客户端,以及autossh软件;1台操作机C需要通过互联网以ssh的形式主动连接内网机N,需要ssh的客户端;
1台具有公网ip的服务器S做中转,服务器S的ip为s.s.s.s,用户userS,ssh的端口为portS,需要ssh的服务端;
可以使用默认值
意思是服务器S上的12345端口映射到内网机N的22端口,这种方法会出现断线无法连接的情况
利用autossh,断线后会自动连接,更加可靠
autossh比ssh多了一个M参数。
更合适的方法是采用后文的自启动脚本。
编辑sshd_config文件
启用两个配置项,并设置为yes
至此操作机C可以使用ssh客户端连接到服务器S的12345端口,实际上这个数据流会转发到内网机的22端口上,从而实现了内网穿透的功能。
创建自启动文件 /etc/systemd/system/autossh.service
内容如下
启用开机自启动
立即启动
本地端口映射(Local Port Forwarding):目标:将本地端口的数据转发到远端端口
应用场景:当我们需要拥有公网IP的远程主机做跳板,登陆到与远程主机同一个局域网的一台非公网IP机器时,可以在公网IP的远程主机做本地端口映射,转发到非公网IP机器上。这样就只要一次ssh到公网IP主机做了映射的端口就登陆到非公网IP主机上了。
远端端口映射(Remote Port Forwarding):
目标:将远端端口的数据转发到本地端口
应用场景:局域网主机可以通过公网IP访问远程主机,但是反过来的时候,如果不建立VPN,则可以通过在局域网机器上做远端端口映射,这样通过公网机器就能直接ssh到局域网机器。
动态端口映射(Dynamic Port Forwarding):
目标:充当SOCKS代理
应用场景:在浏览器中访问某些受局域网防火墙限制的网页时,就可以通过在本地机器做动态端口映射,代理到未受限制的主机上去访问。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)