使用 frp 在阿里云服务器中部署内网穿透服务

现状:

(1)在阿里云上面购买了一个轻量应用服务器,操作系统是 Ubuntu Server 24.04,有公网IP地址1个公网IP地址;

(2)内网有一个服务器,操作系统是Rocky Linux 9.7,IP地址是192.168.1.2,部署有DNS服务。

(3)内网有一台海康威视录像机,IP地址为192.168.1.3,普通的PC通过使用iVMS-4200与其连接并查看监控信号,端口号是17951,另外,该录像机所使用的域名是jk.cntse.com;

需求:

使用 frp 6.0 搭建内网穿透系统,实现无论在内网还是在外网,均可以在iVMS-4200中通过域名jk.cntse.com(端口:17951)查看监控内容。

实现过程(本案例以阿里云轻量应用服务器为例):

一、内网访问:

内网访问的直接在内网DNS服务器内把jk.cntse.com域名解析到录像机的IP地址192.168.1.3即可,具体的实施过程这里就不在详细说明了,有兴趣的可以搜索一下本站的其它文章,或者上网搜索DNS解析相关的教程。

二、内网穿透:

1、阿里云轻量应用服务器配置:

(1)如果轻量应用服务器是放在国内的,必须先把域名和站点进行备案(一般国内服务器提供方都可以协助备案);

(2)完成备案后,通过SSH登录阿里云轻量应用服务器;

(3)下载frp,GitHub的下载地址是:https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz ,可以使用wget直接下载,如果这个地址不稳定或者无法使用,笔者在百度云盘里面放了一份,大家可以进入以下链接进行下载:

链接: https://pan.baidu.com/s/1F8theYsYdC_WZ30ydDabLg?pwd=5s22 提取码: 5s22

(4)解压下载后的文件,然后进入到解压后的目录,找到frps文件,把该文件复制到 /usr/local/bin (当然也可以复制到其它目录,前提是要记下相关的路径,这里就以 /usr/local/bin 为例)

(5)执行以下命令,生成一个token令牌,并记录下来(需要使用到openssl,如果没有安装的话先安装openssl):

openssl rand -base64 32

这里假设生成的token令牌是 LZCBOydPSNBeY/QDKxYMztDzZERRHc6uAbpfODBtusE=

(6)创建目录 /etc/frp ,在该目录下创建一个名为“frps.toml”的配置文件,参考格式如下:

bindPort = 7000  #指定 frp 服务端的监听端口

# 认证配置

auth.method = "token"     #设置认证方式为令牌认证
auth.token = "LZCBOydPSNBeY/QDKxYMztDzZERRHc6uAbpfODBtusE="    #刚刚生成的令牌

# 以下是Web管理界面(可选)
webServer.addr = "0.0.0.0"    #指定 Web 管理界面的监听地址。0.0.0.0 表示监听所有网络接口(允许通过任何 IP 访问)。若设为 127.0.0.1 则仅允许本地访问。
webServer.port = 7500    #指定 Web 管理界面的端口
webServer.user = "admin"    #指定 Web 管理界面的登录用户名
webServer.password = "MiMaMiMa"    #指定 Web 管理界面的登录密码

# 日志配置
log.level = "info"    #设置日志输出级别,可选值包括 "trace", "debug", "info", "warn", "error"。"info" 会记录常规运行信息,适合生产环境。
log.maxDays = 3    #设置日志文件保留天数。
log.to = "console"    #设置日志输出目标。#"console" 表示日志输出到标准输出(终端或系统日志)。若设为 "file",则日志会写入文件(需额外配置 log.file 路径)。

(7)执行 sudo nano /etc/systemd/system/frps.service 创建系统服务文件(操作系统启动时自动启动服务),并写入以下内容:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
ExecReload=/usr/local/bin/frps reload -c /etc/frp/frps.toml
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

然后保存退出;

(8)执行以下命令,启用并启动frp服务端服务:

sudo systemctl start frps
sudo systemctl enable frps

执行完毕之后,执行 systemctl status frps 查看服务运行状态,如果显示“ Active: active (running)”则配置正确;

使用 frp 在阿里云服务器中部署内网穿透服务-网络、软件

(9)在轻量应用服务器的防火墙中允许端口7000、7500、17951等端口通过。

2、内网配置

(1)选择运行 Rocky Linux 9.7 的内网服务器作为frp客户端(中转站);

(2)刚刚在服务端下载的frp程序压缩包里面有一个frpc文件,可以把这个文件放在内网服务器中,比如放到 /usr/local/bin 目录;

(3)创建目录 /etc/frp ,在该目录下创建一个名为“frpc.toml”的配置文件,参考格式如下:

serverAddr = "公网IP地址"    #把公网IP地址改为实际的公网IP
serverPort = 7000    #frp服务器的端口

auth.method = "token"  #服务器的认证方式
auth.token = "LZCBOydPSNBeY/QDKxYMztDzZERRHc6uAbpfODBtusE="    #服务器的令牌

log.to = "/var/log/frpc.log"   #日志文件路径
log.level = "info"   #设置日志输出级别,可选值包括 "trace", "debug", "info", "warn", "error"。"info" 会记录常规运行信息,适合生产环境。   #设置日志文件保留天数。
log.maxDays = 3

#以下设置内网相关服务的通信信息,如果需要设置多个穿透服务,穿透到不同的地址或端口,可以填写多个[[proxies]]:
[[proxies]]
name = "nvr-stream"    #作为标识使用,可以自定义
type = "tcp"                # 录像机视频流通常基于TCP
localIP = "192.168.1.3"  #假设录像机的内网IP
localPort = 17951            #录像机的本地端口
remotePort = 17951      #在公网上面开放的端口

#以下是映射到另一台服务器的另一个服务,供参考(如果没有的可以不写)
[[proxies]]   
name = "other-service"
type = "tcp"
localIP = "192.168.1.4"
localPort = 17952
remotePort = 17952

写好配置文件之后,保存退出;

(4)执行 sudo nano /etc/systemd/system/frpc.service 创建系统服务文件(操作系统启动时自动启动服务),并写入以下内容:

[Unit]
Description=FRP Client
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
# 使用完整路径指定配置文件
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

写完后,保存退出;

(5)执行以下命令,启用并启动frp客户端服务:

sudo systemctl start frpc
sudo systemctl enable frpc

执行完毕之后,执行 systemctl status frpc 查看服务运行状态,如果显示“ Active: active (running)”则配置正确;

至此,所有配置已完成,可以在外网尝试一下使用iVMS-4200,看看是否可以正常查看监控视频。

注意事项:

1、还是那句话,服务器在国内的,一定要按规定进行备案!
2、建议定期更新token令牌,且最好是高强度的随机字符串;
3、防火墙必须只开放需要用到的端口;
4、基于安全性考虑,建议把默认端口修改成其它端口。

使用 frp 在阿里云服务器中部署内网穿透服务-网络、软件1
frp的Web看板
如需转载本站的文章,请先通过电子邮件的方式联系站长,站长确认后方可转载,并需要注明出处。

为您推荐