CentOS8如何搭建内网穿透frp和设置开机自动启动方法

发布时间:2021-11-15 17:11:52 作者:小新
来源:亿速云 阅读:966
# CentOS8如何搭建内网穿透frp和设置开机自动启动方法

## 一、前言

在当今互联网环境中,内网穿透技术已成为开发者、运维人员和企业用户的必备技能。通过内网穿透,我们可以轻松实现以下场景:
- 远程访问家庭NAS或树莓派
- 本地开发环境对外演示
- 企业内部系统跨地域访问
- IoT设备远程管理

FRP(Fast Reverse Proxy)是一款高性能的反向代理工具,相比同类工具具有以下优势:
1. 跨平台支持(Windows/Linux/macOS)
2. 配置简单灵活
3. 支持TCP/UDP/HTTP/HTTPS协议
4. 开源免费(GitHub项目)

本文将详细介绍在CentOS8系统上搭建FRP服务并实现开机自启的全过程。

## 二、环境准备

### 2.1 系统要求
- 操作系统:CentOS 8(建议使用最小化安装)
- 服务器配置:
  - 公网服务器(服务端):1核1G内存以上
  - 内网机器(客户端):无特殊要求
- 网络要求:
  - 服务端需开放7000端口(默认控制端口)
  - 客户端需能访问服务端IP

### 2.2 软件准备
1. 下载最新版FRP:
   ```bash
   wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

(注意:请替换为GitHub发布页面的最新版本)

  1. 安装基础依赖:
    
    dnf install -y wget tar firewalld
    

三、服务端配置

3.1 解压安装

tar -zxvf frp_0.44.0_linux_amd64.tar.gz
mv frp_0.44_linux_amd64 /usr/local/frp
cd /usr/local/frp

3.2 配置文件详解

编辑frps.ini文件:

[common]
bind_port = 7000
# 控制台配置
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = YourStrongPassword
# 认证令牌(建议使用复杂字符串)
token = YourSecureToken123!
# 日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 7

3.3 防火墙设置

firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --permanent --add-port=7500/tcp
firewall-cmd --reload

3.4 启动测试

./frps -c ./frps.ini

看到frps started successfully表示启动成功。

四、客户端配置

4.1 基本配置

编辑frpc.ini

[common]
server_addr = your_server_ip
server_port = 7000
token = YourSecureToken123!

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web]
type = http
local_port = 80
custom_domains = your.domain.com

4.2 连接测试

./frpc -c ./frpc.ini

成功连接后会显示proxy success信息。

五、系统服务配置(开机自启)

5.1 服务端配置

  1. 创建systemd服务文件: “`bash cat > /etc/systemd/system/frps.service <

[Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini ExecReload=/usr/local/frp/frps reload -c /usr/local/frp/frps.ini

[Install] WantedBy=multi-user.target EOF


2. 启动并设置开机自启:
   ```bash
   systemctl daemon-reload
   systemctl start frps
   systemctl enable frps

5.2 客户端配置

  1. 创建客户端服务文件: “`bash cat > /etc/systemd/system/frpc.service <

[Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini

[Install] WantedBy=multi-user.target EOF


2. 启动客户端服务:
   ```bash
   systemctl daemon-reload
   systemctl start frpc
   systemctl enable frpc

六、高级配置技巧

6.1 多端口映射

[range:web_ports]
type = tcp
local_ip = 127.0.0.1
local_port = 8000-9000
remote_port = 8000-9000

6.2 负载均衡配置

[web1]
type = http
local_port = 8080
custom_domains = www.yourdomain.com
group = web_servers
group_key = 123456

[web2]
type = http
local_port = 8081
custom_domains = www.yourdomain.com
group = web_servers
group_key = 123456

6.3 安全加固建议

  1. 启用TLS加密:
    
    [common]
    tls_enable = true
    
  2. 限制访问IP:
    
    allow_ports = 1000-2000,3000-4000
    

七、常见问题排查

7.1 连接失败排查步骤

  1. 检查服务端端口开放状态:
    
    ss -tulnp | grep frp
    
  2. 验证网络连通性:
    
    telnet your_server_ip 7000
    
  3. 查看详细日志:
    
    journalctl -u frps -f
    

7.2 性能优化建议

  1. 调整连接池大小:
    
    pool_count = 50
    
  2. 启用压缩:
    
    use_compression = true
    

八、总结

通过本文的详细指导,您应该已经完成了: 1. FRP服务端和客户端的完整部署 2. 系统服务的自动化管理 3. 基础安全配置 4. 常见问题的应对方案

建议进一步探索: - 结合Nginx实现域名分流 - 配置HTTPS加密传输 - 设置自动化监控告警

注意:生产环境请务必修改默认密码和token,并定期检查更新版本。FRP项目地址:https://github.com/fatedier/frp

附录:常用命令速查表

功能 命令
启动服务 systemctl start frps
停止服务 systemctl stop frps
查看状态 systemctl status frps
查看日志 journalctl -u frps -n 50
配置重载 systemctl reload frps

”`

本文共计约2550字,包含了从基础安装到高级配置的完整流程,采用Markdown格式编写,可直接用于技术文档发布。实际部署时请根据具体环境调整参数配置。

推荐阅读:
  1. Windows设置自己的程序开机自动启动
  2. nginx 设置开机自动启动脚本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos8

上一篇:在web项目中如何获取项目的根目录

下一篇:怎么安装使用go监控方案的telegraf

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》