哈喽,大家好,我是了不起。
最近把旧电脑搞成了NAS,就像折腾着搞一下内网穿透。看了好几个教程,发现都不是最新版本,根本无法使用。本次给大家分享猴子都能做到的内网穿透步骤。
准备前提 {#准备前提}
本次教程使用以下资源:
- 腾讯云服务器一枚,试用一个月
- 自身安装好的飞牛NAS系统,自带linux系统,运行了Trilium docker镜像,端口8082
- 支持 TCP、UDP、HTTP、HTTPS等多种协议,专注于内网穿透的高性能的反向代理应用frp(最新0.61.0版)
服务器端步骤(腾讯云服务器) {#服务器端步骤腾讯云服务器}
下载 {#下载}
最新版frp, 或者提前下载好上传到服务器上面也可以:
|-----------|----------------------------------------------------------------------------------------------|
| 1
| wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz |
解压 {#解压}
在下载好的目录下解压:
|-----------|-----------------------------------------|
| 1
| tar -zxvf frp_0.61.0_linux_amd64.tar.gz |
解压好之后如下图:
进入到解压后的目录下面:
可以看到几个文件, frpc (客户端脚本),frpc.toml (客户端配置) , frps(服务端脚本), frps.toml(服务端配置)
编辑服务端配置 {#编辑服务端配置}
我们当前编辑服务端配置:
frps.toml
可使用winSCP连上服务器直接打开编辑保存即可:
我们查看以下配置内容有哪些
以下是配置文件内容:
|------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 服务端口 bindPort = 7001 #通过此端口和客户端进行连接 # 授权码,请改成更复杂的 客户端会用到 auth.token = "tokenxxxxxxx" # 服务端通过此端口监听和接收公网用户的http请求 vhostHTTPPort = 7002 # dashboard配置 及fpr网页登录的监控地址和端口 webServer.addr = "0.0.0.0" webServer.port = 7003 # dashboard 用户名密码,可选,默认为空webServer.user
=
"admin"
webServer.password
=
"admin"
|
开放服务器防火墙 {#开放服务器防火墙}
以上7001,7002,7003端口均开放防火墙策略。
可以在腾讯云里面操作:
6.启动服务端 {#6启动服务端}
以上步骤完成之后,我们启动服务端的fpr,在刚在解压的目录下 使用以下其中一个命令即可:
|-------------|--------------------------------------------------------------------------------|
| 1 2
| ./frps -c ./frps.toml # 直接启动,命令窗口关闭后, ./frps -c ./frps.toml & # 后台守护执行 |
此时可以看到启动成功:
客户端端步骤(本地服务器) {#客户端端步骤本地服务器}
1.下载 {#1下载}
上传,安装的步骤和服务端一样:
切换到frp目录下面,可以看到如下的几个文件。
2.编辑客户端配置 {#2编辑客户端配置}
同样到frp目录下面编辑frpc.toml文件:
|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10
| serverAddr = "42.xxx.xxx.xxxx" #公网服务器地址 serverPort = 7001 #fpr服务端的端口 auth.token = "tokenxxxxxxx" #和上面服务端一样的token [[proxies]] # web 服务器http服务的方式作为进行内网穿透, frp支持 TCP,UDP, HTTP,HTTPS, TCPMUX,STCP,SUDP 等 name = "web" type = "http" localPort = 8082 customDomains = ["www.xxxx.xxx","42.xxx.xxx.xxxx"] # 域名或者,公网服务器地址 |
启动客户端 {#启动客户端}
使用以下方式启动命令,启动客户端即可:
|-------------|---------------------------------------------------------|
| 1 2
| ./frpc -c ./frpc.toml ./frpc -c ./frpc.toml & # 后台守护执行 |
此时已经实现内网穿透:
登录frp网站查看服务情况(公网IP+ 7003端口),用户名,密码就是服务端 frps.toml中的 webServer.user,webServer.password
可以看到反向代理的http服务:
此时可以通过公网IP + 端口7002 访问本地linux服务器上的服务了。