1. 项目概述
在CentOS 7.9服务器上搭建frps和frpc服务是一个常见的网络穿透需求。frp是一个高性能的反向代理应用,可以帮助我们轻松实现内网穿透,支持TCP、UDP、HTTP、HTTPS等多种协议。本文将详细介绍如何在两台CentOS 7.9服务器上分别部署frps服务端和frpc客户端。
2. 环境准备
2.1 系统要求
- 两台运行CentOS 7.9的服务器
- 服务器之间网络互通
- 基本的Linux命令行操作能力
2.2 软件下载
frp的最新版本可以从GitHub官方仓库获取。我们建议使用稳定版本:
bash复制wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
cd frp_0.51.3_linux_amd64
3. frps服务端配置
3.1 基础配置
编辑frps.ini文件:
ini复制[common]
bind_port = 7000
token = your_secure_token_here
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin_password
3.2 启动服务
使用systemd管理服务:
bash复制sudo cp systemd/frps.service /etc/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps
4. frpc客户端配置
4.1 基础配置
编辑frpc.ini文件:
ini复制[common]
server_addr = your_server_ip
server_port = 7000
token = your_secure_token_here
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
4.2 启动服务
同样使用systemd管理:
bash复制sudo cp systemd/frpc.service /etc/systemd/system/
sudo systemctl enable frpc
sudo systemctl start frpc
5. 防火墙配置
5.1 服务端防火墙
bash复制sudo firewall-cmd --permanent --add-port=7000/tcp
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --reload
5.2 客户端防火墙
bash复制sudo firewall-cmd --permanent --add-port=6000/tcp
sudo firewall-cmd --reload
6. 验证与测试
6.1 服务状态检查
bash复制systemctl status frps
systemctl status frpc
6.2 连接测试
bash复制ssh -p 6000 username@server_ip
7. 常见问题解决
7.1 连接失败
检查token是否一致,网络是否通畅,端口是否开放。
7.2 性能优化
可以调整pool_count参数来提高并发性能。
7.3 日志查看
bash复制journalctl -u frps -f
journalctl -u frpc -f
8. 安全建议
- 使用强密码和复杂token
- 限制dashboard的访问IP
- 定期更新frp版本
- 监控异常连接
9. 高级配置
9.1 多端口映射
可以在frpc.ini中添加多个[xxx]段来实现多端口映射。
9.2 HTTP/HTTPS代理
配置示例:
ini复制[web]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = your.domain.com
10. 维护与更新
定期检查日志,关注官方更新。更新时建议:
- 备份配置文件
- 停止服务
- 替换二进制文件
- 重启服务
提示:生产环境建议使用supervisor等进程管理工具来确保服务稳定性。
