使用frp将斐讯N1内网穿透出去

前面的教程有写过将斐讯n1刷成armbian并安装lnmp一键包和jupyter的教程,详细教程参考
Armbian安装lnmp一键包
ubuntu服务器上安装jupyter notebook
所以我们可以将N1打造成一个web服务器和一个python开发平台。
但是通常我们国内的网络是没有固定的ipv4的,甚至很多地方连公网ip都没有,所以看起来这些功能我们都只能在本地使用。
其实是有解决办法的,那就是内网穿透。
常用的内网穿透方法有很多,比如我们常见的花生壳呀,ngrok呀等等。
这里我们推荐使用frp这个工具,它具有稳定和配置简单等许多优点。
网上有现成的编译好的frp可以下载使用,不用我们自己编译,不过记得n1要选择arm版的客户端
网上有免费提供的frp服务,大家可以自己去搜索,因为我有公网服务器,所以我将服务端部署在自己的公网服务器上。

服务端配置

通常使用配置文件启动会比较方便一点儿
所以我们下载好frp到服务器上,解压后,在frps这个文件所在的目录(frps就是服务端软件)
创建一个frps.ini文件(可能有的下载frp工具包里已经提供了这个文件)

touch frps.ini

然后我们编辑这个配置文件

vim frps.ini

参考输入以下内容:

[common]
bind_port = 8083
##端口号自己随便填,这个就是你将来访问时要用到的端口,记得服务器上
要在防火墙上开启这个端口
token = abc123
##token也是随便填的,防止别人随意连接你的服务端,但是记得一会儿客户端的token要跟这个保持一致

保存退出(简单说下,可能有些人不会用vi编辑器,进入vi时,按i键进入输入模式,输入完内容后,按esc键进入命令模式,然后输入 :wq 保存并退出)
然后我们就可以启动服务端了

nohup ./frps -c frps.ini &

使用nohup是为了让它后台运行,这样我们关闭终端以后,frp服务端仍在运行

客户端配置

下面我们开始配置客户端
使用终端工具连接上N1,下载arm版的frp工具,解压,选择frpc文件,同时我们编辑frpc.ini
文件,

vim frpc.ini

配置如下:

[common]
server_addr = 你的服务端ip地址
##此处填写你的服务端ip地址
server_port = 8083
##注意这里的端口与刚才服务端设置的一致
token = abc123
##token与服务端保持一致

##后面这些配置是配置文件里默认的,你可以直接删掉,或者修改对应参数即可。

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8088

[RemoteDesktop]
type = tcp
local_port = 3389
remote_port = 8085

保存退出
启动客户端

nohup ./frpc -c frpc.ini &

至此内网穿透就搞定了,通过访问服务端的ip(或者域名)加端口的形式就可以访问到我们内网中的N1了。

如果我们想要穿透多个端口,只需要在客户端的配置文件中新增对应的配置项,同时记得在服务端开放对应端口

比如jupyter的端口是8888
我们在客户端的配置文件中加入

[jupyter]
local_port = 8888
remote_port = 8888
##这里remote端口就是服务端上的端口,你也可以改成其它的端口号,并不一定得跟客户端对应,就是表示你用服务端的这个端口号来访问N1上的8888端口,但是要记得在服务端的防火墙上开启这个端口

发表评论

电子邮件地址不会被公开。 必填项已用*标注