Frp内网穿透

Posted by BLOG on January 13, 2026

【frp内网穿透】


1. frp服务器配置

  1. 准备一台具有公网IP的服务器(阿里云、腾讯云、京东云等,以腾讯云为例);
  2. frp下载页面,下载对应版本(amd64、arm64等);
  3. 解压后将所有文件复制到/opt/frp/目录下,执行chmod 777 /opt/frp/frps
  4. 编辑frps.toml
    bindPort = 7000 # frps服务器和客户端通讯的端口号
    vhostHTTPPort = 8080 # http映射端口
    
  5. 配置后台服务,创建文件/etc/systemd/system/frps.service ```bash [Unit] Description=frp server After=network.target syslog.target Wants=network.target

[Service] Type=simple

你的 frps 启动命令(路径正确的话无需修改)

ExecStart=/opt/frp/frps -c /opt/frp/frps.toml

故障时自动重启(核心优化)

Restart=on-failure

重启前等待5秒,避免死循环

RestartSec=5s

可选:限制服务启动超时时间

TimeoutStartSec=30s

[Install] WantedBy=multi-user.target


6. 重新加载:`sudo systemctl daemon-reload`
7. 启动服务:`sudo systemctl start frps`
8. 查看状态:`sudo systemctl status frps`
9. 设置服务开机自启:`sudo systemctl enable frps`

## 2. frp客户端配置
1. 同服务器配置的123步骤;
2. 编辑**frpc.toml**:
```bash
serverAddr = "xxx.xxx.xxx.xxx" # 公网IP
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6060 # 设置一个没被占用的端口号
  1. 配置后台服务,创建文件/etc/systemd/system/frpc.service ```bash [Unit] Description=frp client After=network.target network-online.target syslog.target Wants=network.target network-online.target

[Service] Type=simple ExecStart=/opt/frp/frpc -c /opt/frp/frpc.toml Restart=on-failure TimeoutStartSec=30s

[Install] WantedBy=multi-user.target


4. 重新加载:`sudo systemctl daemon-reload`
5. 启动服务:`sudo systemctl start frpc`
6. 查看状态:`sudo systemctl status frpc`
7. 设置服务开机自启:`sudo systemctl enable frpc`

## 3. 腾讯云安全组设置

为了能实现内网穿透,还需要再腾讯云控制台添加安全组。
- 找到防火墙页面,添加规则;
  
  - 应用类型:自定义
  - 来源:全部IPv4和IPv6地址
  - 协议:TCP
  - 端口:6060(客户端设置的端口)

- 若有多个客户端,则添加多个规则。
- 还需要添加7000端口到规则中。

## 4. 连接
```bash
ssh $USER@xxx.xxx.xxx.xxx -p 6060
# ssh ubuntu@111.123.65.78 -p 6060