猴子都会内网穿透了!

哈喽,大家好,我是了不起。

最近把旧电脑搞成了NAS,就像折腾着搞一下内网穿透。看了好几个教程,发现都不是最新版本,根本无法使用。本次给大家分享猴子都能做到的内网穿透步骤。

准备前提

本次教程使用以下资源:

  • 腾讯云服务器一枚,试用一个月
  • 自身安装好的飞牛NAS系统,自带linux系统,运行了Trilium docker镜像,端口8082
  • 支持 TCP、UDP、HTTP、HTTPS等多种协议,专注于内网穿透的高性能的反向代理应用frp(最新0.61.0版)

服务器端步骤(腾讯云服务器)

  1. 下载

    最新版frp, 或者提前下载好上传到服务器上面也可以:

1
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
  1. 解压

    在下载好的目录下解压:

1
tar -zxvf frp_0.61.0_linux_amd64.tar.gz

解压好之后如下图:

image-20241123003034749

进入到解压后的目录下面:

可以看到几个文件, frpc (客户端脚本),frpc.toml (客户端配置) , frps(服务端脚本), frps.toml(服务端配置)

image-20241123003219391

  1. 编辑服务端配置

我们当前编辑服务端配置:

frps.toml

可使用winSCP连上服务器直接打开编辑保存即可:

我们查看以下配置内容有哪些

image-20241123003755462

以下是配置文件内容:

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"
  1. 开放服务器防火墙

以上7001,7002,7003端口均开放防火墙策略。

可以在腾讯云里面操作:

image-20241123004206860

6.启动服务端

以上步骤完成之后,我们启动服务端的fpr,在刚在解压的目录下 使用以下其中一个命令即可:

1
2
./frps -c ./frps.toml      # 直接启动,命令窗口关闭后,
./frps -c ./frps.toml &    # 后台守护执行

此时可以看到启动成功:

image-20241123004601780

客户端端步骤(本地服务器)

1.下载

上传,安装的步骤和服务端一样:

image-20241124205807653

切换到frp目录下面,可以看到如下的几个文件。

image-20241124210323403

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. 启动客户端

使用以下方式启动命令,启动客户端即可:

1
2
./frpc -c ./frpc.toml 
./frpc -c ./frpc.toml &  # 后台守护执行

此时已经实现内网穿透:

image-20241123004659441

登录frp网站查看服务情况(公网IP+ 7003端口),用户名,密码就是服务端 frps.toml中的 webServer.user,webServer.password

image-20241124212450549

可以看到反向代理的http服务:

image-20241124212706704

此时可以通过公网IP + 端口7002 访问本地linux服务器上的服务了。

image-20241124213330364

Java Geek Tech wechat
欢迎订阅 Java 技术指北,这里分享关于 Java 的一切。