使用frp搭建内网穿透服务
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
1.下载frp
下载地址
2.服务端安装
下载后解压
tar -zxvf frp_0.52.3_linux_amd64.tar.gz
-z:表示使用 gzip 解压缩。
-x:表示解压缩。
-v:表示详细输出,显示解压缩的文件列表。
-f:后面跟着文件名
修改配置文件
bindPort = 7000 # 绑定端口
vhostHTTPPort = 8080 # 监听端口
启动服务
./frps -c ./frps.toml
3.客户端安装
解压 frp_0.52.3_windows_amd64.zip
修改 frpc.toml
serverAddr = "8.222.184.175" # 服务端IP地址
serverPort = 7000 # 服务端端口
启动服务
frpc.exe -c ./frpc.toml
4.通过自定义域名访问内网的 Web 服务
前提是自定义域名能解析到服务端ip
本地Web页面准备
未添加配置前
配置 frps.toml
serverAddr = "8.222.184.175" # 服务端IP地址
serverPort = 7000 # 服务端端口[[proxies]]
name = "test"
type = "http"
localPort = 10011
customDomains = ["test.hzy.ink"]
重启服务后成功访问
5.其他方式
点这里
服务端使用 systemd 管理 frps 服务
在 Linux 系统下,使用 systemd
可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。
1.安装 systemd
yum install systemd
2.创建 frps.service 文件
使用文本编辑器 (如 vim) 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
vim /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
# 定义服务应该在哪些系统服务之后启动
After = network.target syslog.target
# 指定在 network.target 启动时也启动这个服务。
Wants = network.target[Service]
# 定义服务的类型
Type = simple simple表示这是一个简单的服务,主要用于前台应用。
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.52.3_linux_amd64/frps -c /root/frp_0.52.3_linux_amd64/frps.toml[Install]
# 指定服务应该由哪个目标启动。multi-user.target,表示在多用户模式下启动服务。
WantedBy = multi-user.target
3.使用 systemd 命令管理 frps 服务
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
4.设置 frps 开机自启动
systemctl enable frps