部署frp服务实现内网穿透

官方文档:
https://gofrp.org/zh-cn/docs/

GitHub:
https://github.com/fatedier/frp

0 工作原理

frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。

由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

0.1 情况说明

本次我们的需求是使用带有公网IP的Centos7机器搭建frp服务端,实现内网穿透,达到我和朋友联机Minecraft的目的。

1 服务端

1.1 下载

https://github.com/fatedier/frp/releases

wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz

1.2 解压

tar -zxvf frp_0.52.3_linux_amd64.tar.gz -C /opt/module/

1.3 配置frps.toml

服务端配置说明:
https://gofrp.org/zh-cn/docs/reference/server-configures/

vim /opt/module/frp_0.52.3_linux_amd64/frps.toml
bindPort = 7001
token = "*********"

#日志 
log.to = "/opt/module/frp_0.52.3_linux_amd64/frps.log"

服务端监听端口,默认值为 7000。我们可以改一个自己喜欢的端口,不冲突的。token相当于密码。

1.4 使用systemd

使用 systemd 来管理 frps 服务,包括启动、停止、配置后台运行和设置开机自启动。

安装systemd

yum -y install systemd

创建 frps.service 文件

vim /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/module/frp_0.52.3_linux_amd64/frps -c /opt/module/frp_0.52.3_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target

设置 frps 开机自启动

sudo systemctl enable frps

使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

2 客户端

2.1 下载

https://github.com/fatedier/frp/releases/

https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_windows_amd64.zip

2.2 编写 frpc.toml

客户端配置说明:
https://gofrp.org/zh-cn/docs/reference/client-configures/

serverAddr = "x.x.x.x"
serverPort = 7001
token = "*********"

[[proxies]]
name = "Minecraft"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25575
  • localIPlocalPort 配置为需要从公网访问的内网服务的地址和端口。
  • remotePort 表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。

2.3 启动frpc.exe

在frpc.exe和frpc.toml所在的文件夹空白处按shift+右键,在此处打开powershell窗口。

.\frpc.exe -c frpc.toml

你可能感兴趣的:(网络,游戏)