利用路由器在外网ssh到家里电脑的简单教程

前言:我一个java web工程师,怎么写的第一篇技术分享是关于路由器和网络的呢,于是我只好念了两首诗:苟。。。


场景

  • 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的、随时可能变动的。所以当程序员们离开家之后,是很难直接和家里的设备进行交互的。但是通过TPLINK路由器提供的端口转发和DDNS功能,我们可以很轻松的做到随时随地连到家里的设备,也就可以做到我们标题所说的以ssh到家里的电脑。

所需环境

  • 型号为TL-WR890N的路由器一只
  • 装有ubuntu系统的笔记本一台
  • 开通了宽带的房子一间

步骤目录

  1. (根据实际情况可选)把家里的光猫改成桥接模式
  2. (根据实际情况可选)开通你自己需要连接设备的ssh功能
  3. 设置路由器的端口转发功能到需要连接设备的ssh端口上
  4. 开通路由器的DDNS功能

1、把家里的光猫改成桥接模式

  • 如果家里的宽带是拨号上网或者网线直连的,那就不需要看这一步,直接通过路由器拨号上网或者直接连接就可以。
  • 再解释一下为什么要做这一步,因为我们要确保路由器是直接连接到外网环境的。为什么要路由器连接到外网呢?很简单,如果路由器拿到的是被光猫、或者别的什么电信的上网设备分配到的内网IP,那路由器就只能转发所有访问这个内网IP的请求,那么我们在外网还是不能访问到家里的设备。如何确认路由器已经直接连到外网了呢?以我的TL-WR890N为例,在如图位置,如果看到的IP是一个外网IP,说明路由器是直接连到外网的。

利用路由器在外网ssh到家里电脑的简单教程_第1张图片

  • 同时,外网IP这里还有一个坑,有些运营商分配给你的IP不是真正的外网ip,而是运营商自己内部的大局域网ip。如果是这样的情况,那么你还是不能通过这个ip访问到自己的设备。那么如何解决这个情况呢?直接拨打你家宽带的供应商电话,要求他给你分配的ip是外网ip。注意不是问他要一个固定ip,固定ip是很贵的,而且我们有了DDNS功能也不需要外网固定ip,只是要求运营商在分配IP的时候,分配给你的是外网ip而不是大内网ip。
  • 如果家里宽带用的是光猫,因为路由器没法替代光猫的读取光信号的功能,所以不能直接通过路由器拨号上网,那么就需要把光猫改成桥接模式,然后路由器再连接到光猫上进行拨号上网。至于如何把光猫改成桥接模式,因为涉及到光猫的破解篇幅较长,并且不是本文的重点,在这里不再赘述,各位可以自行百度自家的光猫型号加破解二字。我这里也提供一篇教程关于如何破解光猫:破解教程

2、开通你自己需要连接设备的ssh功能

  • 这一步应该也很简单,自行搜索家里设备的操作系统如何开放ssh功能就好
  • 开通好你的设备的ssh功能之后,最好再把你设备的MAC地址与路由器分配的ip进行绑定,方便之后的端口转发

3、设置路由器的端口转发功能到需要链接设备的ssh端口上

  1. 先放相关官方文档 1、如何映射服务器到外网 2、设置了虚拟服务器,外网无法访问服务器怎么办
  2. 还是以我的TL-WR890N为例子,进入路由器管理网页,点击应用管理中的虚拟服务器利用路由器在外网ssh到家里电脑的简单教程_第2张图片
  3. 然后点击添加,外部端口填你希望从外网通过哪个端口访问,内部端口是你需要访问设备的ssh的端口,默认是22,ip地址是你需要访问设备在内网的IP地址,协议选ALL就好,常用服务器不用选,然后点击保存就好

利用路由器在外网ssh到家里电脑的简单教程_第3张图片

4、开通路由器的DDNS功能

  1. 先放相关官方文档TPDDNS的使用方法介绍
  2. 点击进入路由器的DDNS应用利用路由器在外网ssh到家里电脑的简单教程_第4张图片
  3. 进去之后,点击服务提供者的下拉框,选择花生壳,因为TPlink自身提供的DDNS服务有时候会解析到错误的IP,我也不清楚这是为什么。。。
  4. 然后有花生壳账号的就用自己账号,没有的就注册一个,连接成功后,域名信息那里会显示你的域名利用路由器在外网ssh到家里电脑的简单教程_第5张图片

5、大功告成

之后就可以在外网环境,通过{花生壳返回的域名}+{端口转发那里配置的外部端口}ssh到你家里的设备啦。

你可能感兴趣的:(路由器,ssh)