侧边栏壁纸
博主头像
耳哇的博客 博主等级

行动起来,活在当下

  • 累计撰写 1 篇文章
  • 累计创建 2 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

用FRP实现内网穿透

Administrator
2025-01-22 / 0 评论 / 0 点赞 / 37 阅读 / 0 字

前言

FRP(Fast Reverse Proxy)是一款高性能的反向代理工具,可实现内网穿透。本教程将演示如何在Ubuntu服务器上部署FRP服务端。

环境准备

  • 腾讯云服务器(Ubuntu 22.04 LTS)

  • SSH连接工具


第一部分:安装FRP服务端

步骤1:下载并解压FRP

# 创建安装目录
mkdir -p /opt/frp && cd /opt/frp

# 获取最新版本(请替换为GitHub实际最新版本),可前往https://github.com/fatedier/frp/releases/查看或者直接复制链接
FRP_VERSION="0.54.0"
wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz

# 解压文件
tar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gz
mv frp_${FRP_VERSION}_linux_amd64/* .
rm -rf frp_${FRP_VERSION}_linux_amd64*

步骤2:配置服务端

# 编辑服务端配置文件
nano frps.ini
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = your_secure_password
token = your_secure_token_123
log_level = info
log_max_days = 3

dashboard_pwd是你登录管理页面的密码

token是服务器和客户端加密使用的,两边需要一致,可以用软件生成复杂字符串或者自定义

步骤3:创建Systemd服务

# 创建服务文件
sudo nano /etc/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target

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

[Install]
WantedBy=multi-user.target

步骤4:启动并设置开机自启

sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps

第二部分:配置防火墙

  1. 登录云管理页面

  2. 进入【安全】→【防火墙】

  3. 添加放行规则:

    • TCP端口:7000(FRP主端口)

    • TCP端口:7500(仪表盘端口)

  4. 点击"应用"保存配置

  5. 如果Ubuntu Linux里的防火墙有设置,也需要对应的放行

#查看防火墙状态
ufw status

#添加要放行的端口
ufw allow 7000/tcp
ufw allow 7500/tcp

#重新加载防火墙
ufw reload

#再查看一下有没有添加进去
ufw status
  1. 如果不想麻烦可以参考文章来禁用Ubuntu的防火墙只用云端的 https://cloud.tencent.com/developer/article/2428519

第三部分:客户端配置示例

Windows客户端配置(frpc.ini):

[common]
server_addr = 你的服务器IP
server_port = 7000
token = your_secure_token_123

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 8080

启动客户端:

./frpc -c frpc.ini

OpenWRT端配置:

去应用商店安装对应的客户端,开启管理页面。然后填入对应的服务器IP,用户名,密码和token就可以了。使用起来相对更便捷。

第四部分:验证安装

  1. 检查服务状态:

systemctl status frps
  1. 访问仪表盘:
    浏览器访问 http://服务器IP:7500 使用预设账号密码登录

  2. 查看连接日志:

tail -f /opt/frp/frps.log

常见问题排查

  1. 端口无法连接:

    • 检查防火墙规则

    • 确认腾讯云安全组已放行端口

    • 验证服务端配置中的token是否与客户端一致

  2. 服务启动失败:

journalctl -u frps -f  # 查看详细日志
  1. 性能优化建议:

    • 启用TLS加密传输

    • 配置连接池减少重复握手

    • 限制单个IP最大连接数


0

评论区