Frp配置内网穿透教程

1、Frp介绍

Frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。

Frp 项目官网: https://github.com/fatedier/frp

1.1、Frp工作原理

服务端运行,监听一个主端口,等待客户端的连接;- 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;- 服务端fork新的进程监听客户端指定的端口;- 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;- 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

2、配置教程

想要配置Frp穿透,首先必须先要有一台具有公网ip(即:可以外网访问)的服务器。配置教程主要分为两个部分,一是服务器端的配置;二是客户端的配置。

2.1、服务器端配置

2.1.1、下载Frp配置文件
1
wget https://github.com/fatedier/frp/releases/download/v0.57.0/frp_0.57.0_linux_amd64.tar.gz
2.1.2、解压并重命名Frp配置文件
1
2
tar -zxvf frp_0.57.0_linux_amd64.tar.gz
mv ./frp_0.57.0_linux_amd64 ./frps
2.1.3、进入目录并打开配置文件
1
2
cd frps
vi frps.toml
2.1.4、修改配置文件
1
2
3
4
5
6
7
8
9
10
# frps.toml
bindPort = 7000 # 服务端与客户端通信端口

auth.token = "public" # 身份验证令牌,frpc要与frps一致

# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0" # 后台管理地址
webServer.port = 7500 # 后台管理端口
webServer.user = "admin" # 后台登录用户名
webServer.password = "admin" # 后台登录密码
2.1.5、设置Frp后台启动
1
sudo vim /lib/systemd/system/frps.service
1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/xxx/frps/frps -c /xxx/frps/frps.toml

[Install]
WantedBy=multi-user.target
2.1.6、Frp启动相关命令
1
2
3
4
5
6
7
8
9
10
#启动frps
sudo systemctl start frps
#设置开机自启动
sudo systemctl enable frps
#重启frps
sudo systemctl restart frps
#停止frps
sudo systemctl stop frps
#查看frps日志
sudo systemctl status frps
2.1.7、验证服务端是否启动

浏览器中访问http://服务端ip:后台管理端口,输入后台管理账号及密码即可。

2.2、客户端配置

2.1.1、下载Frp配置文件
1
wget https://github.com/fatedier/frp/releases/download/v0.57.0/frp_0.57.0_linux_amd64.tar.gz
2.1.2、解压并重命名Frp配置文件
1
2
tar -zxvf frp_0.57.0_linux_amd64.tar.gz
mv ./frp_0.57.0_linux_amd64 ./frpc
2.1.3、进入目录并打开配置文件
1
2
cd frpc
vi frpc.toml
2.1.4、修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
# frpc.toml
serverAddr = "x.x.x.x"
serverPort = 7000 # 公网服务端通信端口

auth.token = "public" # token令牌,与公网服务端保持一致

[[proxies]]
name = "ssh" #自定义连接名称
type = "tcp"
localIP = "127.0.0.1" # 需要暴露的本地服务的IP
localPort = 22 # 将本地22端口的服务暴露在公网的1234端口
remotePort = 1234 # 暴露服务的公网入口
2.1.5、设置Frp后台启动
1
sudo vim /lib/systemd/system/frpc.service
1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=frapc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/xxx/frps/frpc -c /xxx/frps/frpc.toml

[Install]
WantedBy=multi-user.target
2.1.6、Frp启动相关命令
1
2
3
4
5
6
7
8
9
10
#启动frps
sudo systemctl start frpc
#设置开机自启动
sudo systemctl enable frpc
#重启frps
sudo systemctl restart frpc
#停止frps
sudo systemctl stop frpc
#查看frps日志
sudo systemctl status frpc

Frp配置内网穿透教程
https://www.sajuna.cn/2024/04/09/Frp配置内网穿透教程/
作者
ZikQ
发布于
2024年4月9日
许可协议