frp 内外网穿透配置手册

frp 内外网穿透配置手册

frp准备

  1. 确认系统指令集
uname -i

一般分两种aarch64、x86_x64。前者是arm架构、后者是amd架构

  1. 官网下载对应的版本
    https://github.com/fatedier/frp/releases
    arc 下载对应arc 版本,arm架构下载对应的arm版本
  • frpc
    这是 frp 的客户端可执行文件。
    用于在客户端机器上运行,建立与 frp 服务器的连接。
    负责将本地服务暴露到公网。
  • frpc.toml
    这是 frp 客户端的配置文件。
    使用 TOML 格式编写。
    包含客户端的设置,如服务器地址、认证信息、需要暴露的本地服务等。
  • frps
    这是 frp 的服务器端可执行文件。
    运行在具有公网 IP 的服务器上。
    负责接收来自 frpc 的连接并转发流量。
  • frps.toml
    这是 frp 服务器端的配置文件。
    同样使用 TOML 格式。
    包含服务器的设置,如监听端口、认证方式、允许的协议等。
  • LICENSE
    这是软件的许可证文件。
    包含软件的使用、分发和修改条款。
    frp 使用 Apache License 2.0,这是一个开源许可证。

安装和配置

frp配置中主要分两种角色1、代理服务器 2、代理客户端

flowchart LR
    frps --> frpc1[frpc1 192.168.39.53]
    frps[frps 200.200.20.110] --> frpc2[frpc2 192.168.38.54]
    frps[frps 200.200.20.110] --> frpc3[...]
  1. 前置机(可以公网或者vpn访问) server端安装

修改frps.toml配置文件

vim frps.toml

# 【必填】这是你frps服务的端口
bindPort = 7000

# 【建议必填】认证设置(强烈建议)
auth.token = "X9f$p2KlZ7*vB3@qR7nJ3^wY5"

# 【可选】允许的端口范围(可选)
allowPorts = [
    { start = 6000, end = 7000 },
    { single = 80 },
    { single = 443 }
]

配置frps随机自启动

sudo vim /etc/systemd/system/frps.service

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
# 这个配置用户即可
User=root
Restart=on-failure
RestartSec=5s
# 修改实际位置
ExecStart=/opt/frp_0.59.0_linux_amd64/frps -c /opt/frp_0.59.0_linux_amd64/frps.toml

[Install]
WantedBy=multi-user.target


sudo systemctl daemon-reload

sudo systemctl start frps

sudo systemctl status frps
  1. 内网服务器配置

修改frpc配置文件

# server的ip 或者公网ip
serverAddr = "200.200.20.110"
serverPort = 7000
# server配置的token
auth.token = "X9f$p2KlZ7*vB3@qR7nJ3^wY5"

[[proxies]]
# 多个内网服务器名称要唯一
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6999

配置frpc随机启动

# 声明系统服务
vim /etc/systemd/system/frpc.service

[Unit]
Description=frp client
After=network.target

[Service]
Type=simple
# 不能配置nobody,会启动失败
User=forlinx
Restart=on-failure
RestartSec=5s
ExecStart=/home/baijs/opt/frp/frp_0.59.0_linux_amd64/frpc -c /home/baijs/opt/frp/frp_0.59.0_linux_amd64/frpc.toml

[Install]
WantedBy=multi-user.target

# 重启生效配置
sudo systemctl daemon-reload

sudo systemctl start frpc


sudo systemctl status frpc

备注

  1. 期间遇到权限的问题,给frpc 或者 frps 增加执行权限
chmod +x
  1. 遇到权限够(+x)但是还是提示permission delined。这个问题是系统服务脚本中的user 配置nobody导致的。

  2. ping能ping通200.200.20.110, 但是一旦wget 200.200.20.110:8807 就报错。这个是因为服务器上配置了代理导致的。

posted on 2026-01-23 15:11  捡奥伟  阅读(1)  评论(0)    收藏  举报