首先,服务器使用的是nat服务器,这里部署FRP服务端,也就是frps。

操作系统 :Ubuntu-22.04-x64

首先打开FRP内网穿透github网址:https://github.com/fatedier/frp

点击旁边的Releases(笔者下载版本v0.60.0),下载frp_0.60.0_linux_amd64.tar.gz

FRP参考文档:https://gofrp.org/zh-cn/

打开ssh工具,连接服务器,笔者使用的ssh工具为FinalShell,由于使用的是nat服务器,所以端口不是ssh通用端口,需要从购买服务器网站查看自己的ssh端口,如下图。

上传自己的刚刚下载的frp包到服务器里边usr/local,进入目录使用ls命令查看有无上传,有的话使用下面命令解压。

tar -zxvf frp_0.60.0_linux_amd64.tar.gz

解压出来四个文件,可以把客户端的两个文件(frpc以及toml)删去

我们可以使用frps.toml来配置服务端。提前开放所需端口,nat服务器需要转换一下端口

下面为frps.toml具体配置,需要修改下。

bindADDr = "0.0.0.0"
bindPort = 7100
kcpBindPort = 7100

webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard (服务端面板)端口。下面为用户名密码(根据自身情况修改)
webServer.user = "admin"
webServer.password = "admin"

log.to = "/frpslog/frps.log"
log.level = "info"
log.maxDays  = 3

auth.method = "token"
#身份验证方式为token,下面为具体token(根据自身情况修改)
auth.token = "abc"

allowPorts = [
  { start = 6000, end = 7000 },
]

保存退出。

然后创建frps跟随服务器系统启动,输入

vim /etc/systemd/system/frps.service

在里面输入:

[Unit]
#服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
#启动frps的命令。需要修改为你的frps的安装路径
ExecStart = /usr/local/frp_0.60.0_linux_amd64/frps -c /usr/local/frp_0.60.0_linux_amd64/frps.toml
ExecStop=/bin/ki11 $MAINPID
Restart=always
RestartSec=5
[Install]
WantedBy = multi-user.target

然后加载配置文件

systemctl daemon-reload

启动frps

systemctl start frps

查看frps状态

systemctl status frps

如上图没有报错,即为成功部署。

此时,打开对应服务端口,笔者nat服务器使用的本地端口是7100,外部端口为17100(外部端口可随意定义自己方便记忆的),这个端口务必打开。

如需要打开对应的端口访问面板,笔者使用nat服务器,部署本地端口为7500,外部端口为17500(外部端口可随意定义自己方便记忆的),这个端口不开放也可以。

笔者使用istoreos里的客户端来穿透,在istoreos安装frpc。

填写自己的服务器地址

笔者地址端口可以使用17100

再配置一个令牌,这里的令牌就是服务端配置的token。完成后就已经成功穿透自己的istoreos。

之后再使用代理设置,这里设置需要名称,本地ip,本地端口,远程端口,其中远程端口需要再nat服务器提前开放,笔者这里使用19898端口。

如果没有反应就重启一下frp服务

systemctl stop frps
systemctl start frps

最终实现外网访问tvbox服务,需要注意的是tvbox需要开启强制认证和token。