使用nat123实现外网ssh连接内网树莓派设备

树莓派是一款基于Linux的单板机电脑。最近入手了一块,打算作为Linux服务器来使用。

树莓派自带以太网接口和Wifi模块,可以通过网线或Wifi连接网络。但是由于我家里的网络是电信的光纤网络,用的是电信配的路由器,各个终端都是通过Wifi或网线连到这个路由上,因此各个终端相当于处于局域网,外网无法通过ip直接访问到内网的树莓派设备,这样如果我在树莓派上搭建一个服务器,外网就无法访问。

一般这种问题,只需要在路由器上设置一下端口映射就可通过外网访问内网主机了,但是电信配的这个路由器不支持设置端口映射(吐槽一下,电信自带的路由器简直弱爆了),所有就没办法通过设置路由器的方法解决。

经过一番探索,找了一种可行的方案:nat123。nat123是一家专业提供端口映射和域名解析的网站,下面我就详细介绍一下如何使用nat123来实现外网访问内网树莓派设备。

具体步骤

第一步 准备工作

确保在内网环境下可以通过ssh访问树莓派,如何在树莓派上配置ssh,可以参考这篇文章

第二步 注册nat123

打开nat123官网,点击右上角的注册按钮完成注册

第三步 在树莓派上安装nat123 Linux版

打开树莓派,按照这篇文章的内容安装并启动相关软件。这里注意要根据你树莓派上的操作系统选择不同的安装方式,如果安装的官方操作系统Raspbian,应该选用Debian系统的安装方式。

第四步 配置端口映射

登录nat123,在左侧的用户中心点击“端口映射添加”,如下图:

1

应用类型选择“其他(非网站)”,这里我要实现的是通过ssh访问树莓派,所有不是80端口,具体应该根据自己的需求选择应用类型,可以参考这篇文章

2

下面解释一下每一项的含义:

  • 应用名称:随便起,这里因为是用于ssh连接的,所以起名为ssh
  • 内网端口:内网应用的端口,ssh访问默认端口为22,如果是其他服务,这里的端口号应该填相应服务的端口号,例如,ftp服务默认端口号为21,http服务默认端口80等。
  • 内网地址:即树莓派在内网的ip地址,可以通过ifconfig命令查看
  • 外网端口:自动生成,要记住这个端口号,待会链接是要用到
  • 外网域名:自动生成,这就是外网要访问的地址

然后点击“确认保存”,这里需要认证,认证需要收费(30¥),付款完成后,再次点击“确认保存”,就可以保存成功。可以在左侧的“端口映射列表”里查看和修改添加的端口映射。

这样就完成了端口映射的添加。

第五步 外网访问

这时就已经可以通过外网访问了,在外网环境下打开终端,输入命令:

1
ssh pi@45067491.nat123.net -p 22996

然后输入密码,就可以通过ssh访问树莓派了。这里”pi”是你在树莓派里的用户名,-p参数是刚才的端口号。

结语

以上就是我使用nat123实现外网访问内网树莓派设备的这个过程。整个过程并不复杂,但是我在进行的过程中还是磕磕绊绊折腾了好久才完全整好,不过这个过程中还是学到了不少的东西。

由于水平有限,如果上文中有不正确的地方,欢迎大家交流指正。