frp 是什么?
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
前置
到阿里/腾讯或者其他大厂购买或者租用 一个具有外网访问IP地址的 服务器
正文
服务器部署
可以从 GitHub https://github.com/fatedier/frp/releases 根据系统特性 下载对应文件
windows 最新 下载版本:
https://github.com/fatedier/frp/releases/download/v0.55.1/frp_0.55.1_windows_arm64.zip
Linux(centOS/ubuntu/mac)系统可以 通过终端 直接使用:
wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_arm64.tar.gz
然后解压
tar -zxvf frp_0.56.0_linux_arm64.tar.gz
文件夹改个名,方便使用
cp -r frp_0.56.0_linux_arm64 frp
把解压出来的文件夹复制到你想要的目录下,为了方便我直接放在用户目录下了,进入该目录
cd frp
重点关注frps 字样的文件即可
vi frps.toml
ps:如果目录下没有该文件,可自行新建
参考 示例 部分中的内容
[common]
bind_addr = 0.0.0.0
bind_port = 5000
bind_udp_port = 5001
kcp_bind_port = 5000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 5500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
disable_log_color = false
token = 12345678
allow_ports = 2000-3000,3001,3003,4000-50000
max_pool_count = 5
max_ports_per_client = 0
subdomain_host = frps.com
tcp_mux = true
wq保存配置文件后~
开始使用!
编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
使用以下命令启动服务器:./frps -c ./frps.toml。
使用 systemd 命令管理 frps 服务
使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
设置 frps 开机自启动
sudo systemctl enable frps
启动并使用 systemd 命令 检查 frps启动 成功后
浏览器访问:http://服务器IP:5500”
到此 服务器端 就部署完成了
客户端使用
以 windows 使用为例,解压frp_0.55.1_windows_arm64.zip 进入文件夹 重点关注frpc 字样的文件即可
使用 编辑类的软件 打开frpc.toml 如果没有,或者只看到 frpc.ini 文件的,都可以打开/新建 对此进行编辑:
# frpc.toml
transport.tls.enable = true
serverAddr = "服务器ip"
serverPort = 5000 # 公网服务端通信端口
auth.token = "12345678" # 令牌,与公网服务端保持一致
[[proxies]]
name = "bbb"
type = "tcp"
localIP = "127.0.0.1" # 需要暴露的服务的IP
localPort = 3344 # 将本地端口
remotePort = 3344 # 暴露服务的公网入口
[[proxies]]
name = "aaaa"
type = "tcp"
localIP = "127.0.0.1"
localPort = 1234
remotePort = 1234
ps: frpc.ini 文件建议改为 frpc.toml
从示例不难看出:[[proxies]] 一组 对应一个端口 ~聪明如你,应该懂了吧
到此, 配置完成了
使用命令提示符或Powershell进入该目录下
cd C:\frp
并执行
./frpc -c frpc.toml
不要关闭命令行窗口,此时可以使用手机或者非本客户端的地址,访问 http://服务器IP:3344” 验证