跳转至内容
0
  • 主页
  • 版块
  • 最新
  • 标签
  • 热门
  • 主页
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识
让每一次思考都有价值
  1. 让每一次思考都有价值
  2. 版块
  3. 教程与经验
  4. 内网穿透frp详细安装使用教程

内网穿透frp详细安装使用教程

已定时 已固定 已锁定 已移动 教程与经验
1 评论 1 发布者 1 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
评论
  • 在新文章中评论
登录后评论
此文章已被删除。只有拥有文章管理权限的用户可以查看。
  • 精准扶贫对象精 离线
    精准扶贫对象精 离线
    精准扶贫对象
    编写于 最后由 编辑
    #1
    目录
    一、准备工作
    二、服务端(公网服务器)配置
    1. 安装 frp
    2. 配置服务端(frps.ini)
    3. 启动服务端
    4. 开放端口
    三、客户端(内网设备)配置
    1. 安装 frp
    2. 配置客户端(frpc.ini)
    3. 启动客户端
    四、测试穿透效果
    五、常见问题排查
    六、安全建议

    frp 是一款高性能的反向代理工具,主要用于实现内网穿透,让外网能够访问内网中的服务(如 Web 服务、SSH、远程桌面等)。下面是 frp 的详细安装和使用教程。

    一、准备工作

    1. 环境要求

      • 一台具有公网 IP 的服务器(云服务器或 VPS):作为 frp 服务端(frps),负责接收外网请求并转发到内网。
      • 内网设备(如电脑、路由器、树莓派等):作为 frp 客户端(frpc),负责将内网服务通过 frp 转发到服务端。
      • 网络环境:服务端需开放相关端口(通过防火墙和安全组),客户端需能访问互联网。
    2. 下载 frp
      从 frp 官方 GitHub 仓库 下载对应版本(根据设备架构选择,如 Linux 64 位为 frp_xxx_linux_amd64.tar.gz,Windows 64 位为 frp_xxx_windows_amd64.zip)。

    二、服务端(公网服务器)配置

    以 Linux 系统为例(假设公网 IP 为 1.2.3.4):

    1. 安装 frp

    # 下载最新版本(请替换为实际版本号)
    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
    

    2. 配置服务端(frps.ini)

    服务端核心配置文件为 frps.ini,基础配置如下:

    [common]
    # 服务端监听客户端连接的端口(必须开放,默认7000)
    bind_port = 7000
    
    # 可选:设置认证token(客户端需与服务端一致,增强安全性)
    token = your_token_here
    
    # 可选:控制台端口(用于查看frp状态,默认7500)
    dashboard_port = 7500
    # 控制台账号密码
    dashboard_user = admin
    dashboard_pwd = admin123
    
    # 可选:日志配置
    log_file = ./frps.log
    log_level = info
    log_max_days = 3
    

    3. 启动服务端

    • 临时启动(测试用,关闭终端后停止):

      ./frps -c ./frps.ini
      
    • 后台启动(推荐):

      # 使用nohup在后台运行
      nohup ./frps -c ./frps.ini &
      
      # 查看日志确认是否启动成功
      tail -f frps.log
      
    • 设置开机自启(以 systemd 为例):
      创建服务文件:

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

      写入内容:

      [Unit]
      Description=frp server
      After=network.target
      
      [Service]
      Type=simple
      ExecStart=/path/to/frp_0.51.3_linux_amd64/frps -c /path/to/frp_0.51.3_linux_amd64/frps.ini
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      

      启动并设置自启:

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

    4. 开放端口

    在服务端的防火墙(如 ufw)和云服务商安全组中开放以下端口:

    • bind_port(如 7000):客户端与服务端通信的端口。
    • dashboard_port(如 7500):控制台端口(可选)。
    • 后续需要穿透的服务端口(如 SSH 用 6000,Web 用 8080 等)。

    三、客户端(内网设备)配置

    以内网 Linux 设备为例(假设要穿透 SSH 服务,内网 IP 为 192.168.1.100,SSH 端口默认 22):

    1. 安装 frp

    下载与服务端同版本的 frp(注意匹配客户端操作系统),解压后进入目录。

    2. 配置客户端(frpc.ini)

    客户端核心配置文件为 frpc.ini,基础配置如下:

    [common]
    # 服务端公网IP
    server_addr = 1.2.3.4
    # 服务端bind_port(与服务端一致)
    server_port = 7000
    # 认证token(与服务端一致)
    token = your_token_here
    
    # 配置SSH穿透(名称自定义,如[ssh])
    [ssh]
    # 穿透类型(TCP协议)
    type = tcp
    # 内网服务的IP(本地填127.0.0.1)
    local_ip = 127.0.0.1
    # 内网服务的端口(SSH默认22)
    local_port = 22
    # 服务端开放的端口(外网通过此端口访问内网SSH)
    remote_port = 6000
    

    其他常见服务配置示例:

    • Web 服务(假设内网 Web 端口为 80):
      [web]
      type = http
      local_ip = 192.168.1.100
      local_port = 80
      # 外网访问的域名(需解析到服务端IP,可选)
      custom_domains = your_domain.com
      
    • 远程桌面(Windows RDP)(默认端口 3389):
      [rdp]
      type = tcp
      local_ip = 192.168.1.101
      local_port = 3389
      remote_port = 33890
      

    3. 启动客户端

    • 临时启动:

      ./frpc -c ./frpc.ini
      
    • 后台启动(Linux):

      nohup ./frpc -c ./frpc.ini &
      
    • Windows 后台启动:
      创建批处理文件 start_frp.bat:

      @echo off
      start /b frpc.exe -c frpc.ini
      

      双击运行即可在后台启动(或通过任务计划程序设置开机自启)。

    四、测试穿透效果

    1. SSH 穿透测试
      在外网设备上,通过服务端 IP 和 remote_port 连接内网 SSH:

      # 格式:ssh 内网用户名@服务端公网IP -p 服务端remote_port
      ssh user@1.2.3.4 -p 6000
      
    2. Web 服务测试
      若配置了 Web 穿透,外网访问 http://服务端公网IP:remote_port 或 http://your_domain.com(需域名解析)即可访问内网 Web 服务。

    3. 控制台查看状态
      访问 http://服务端公网IP:7500,输入配置的账号密码,可查看所有穿透服务的运行状态。

    五、常见问题排查

    1. 连接失败

      • 检查服务端和客户端的 token 是否一致。
      • 确认服务端端口(bind_port、remote_port)已开放(防火墙+安全组)。
      • 检查客户端 server_addr 和 server_port 是否正确指向服务端。
    2. 服务频繁断开

      • 可能是网络不稳定,可在 [common] 中添加 heartbeat_interval = 30(心跳检测间隔)和 heartbeat_timeout = 90(超时时间)。
    3. 控制台无法访问

      • 检查 dashboard_port 是否开放,以及账号密码是否正确。

    六、安全建议

    1. 务必设置 token 认证,避免未授权设备连接。
    2. 限制 remote_port 的范围,仅开放必要端口。
    3. 定期更新 frp 到最新版本,修复可能的安全漏洞。

    通过以上步骤,即可实现稳定的内网穿透,方便外网访问内网服务。

    1 条评论 最后评论
    0
    评论
    • 在新文章中评论
    登录后评论
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    • 第一个评论
      最后一个评论