内网穿透工具 Frps 一键安装脚本及教程

脚本介绍

有的时候我们需要远程访问没有公网 IP 的内网机器,这种情况下内网穿透是一个必备的选择,而 Frps 是一个非常好用的开源内网穿透工具,支持多种系统版本,无论是电脑主机、路由器还是服务器都可以简单配置实用。

Frps 本质是一个反向代理应用,可以进行内网穿透来对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

脚本安装和使用

  • 执行如下命令进行脚本下载:

    wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
    chmod 700 ./install-frps.sh
    ./install-frps.sh install
  • 执行如下命令进行程序安装:

    ./install-frps.sh install
  • 执行如下命令进行程序卸载:

    ./install-frps.sh uninstall
  • 执行如下命令进行程序更新:

    ./install-frps.sh update
  • 执行如下命令进行编辑程序配置:

    ./install-frps.sh config

使用方法

  1. 程序安装步骤:

    Please select frps download url:
    [1].aliyun (default)
    [2].github
    Enter your choice (1, 2 or exit. default [aliyun]):
      # 选择安装源,国内建议选择 aliyun, 国外建议选择 github
    
    Please input frps bind_port [1-65535](Default Server Port: 5443):
      # 提供服务的端口,用于服务器端和客户端通信
    
    Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80):
      # 进行 http 穿透的 http 服务端口
    
    Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443):
      # 进行 https 穿透的 https 服务端口
    
    Please input frps dashboard_port [1-65535](Default dashboard_port: 6443):
      # 控制台服务端口,用于查看 frp 工作状态
    
    Please input dashboard_user (Default: admin):
      # 控制台用户名
    
    Please input dashboard_pwd (Default: Jp2XpQ9p):
      # 控制台密码
    
    Please input token (Default: PoLtOFQArvIm0bzG):
      # 服务器和客户端通信使用的密令
    
    Please input frps max_pool_count [1-200] (Default max_pool_count: 50):
      # 每个代理可以创建的连接池上限
    
    ##### Please select log_level #####
    1: info (default)
    2: warn
    3: error
    4: debug
    #####################################################
    Enter your choice (1, 2, 3, 4 or exit. default [1]): 
      # 设置日志记录等级
    
    Please input frps log_max_days [1-30] (Default log_max_days: 3 day):
      # 设置日志保留时长,范围为 1 至 30 天
    
    ##### Please select log_file #####
    1: enable (default)
    2: disable
    #####################################################
    Enter your choice (1, 2 or exit. default [1]):
      # 是否开启日志,开启后日志等级及保留天数生效,否则设置不生效
    
    ##### Please select tcp_mux #####
    1: enable (default)
    2: disable
    #####################################################
    Enter your choice (1, 2 or exit. default [1]): 
      # 是否启用 tcp_mux,默认启用
    
    ##### Please select kcp support #####
    1: enable (default)
    2: disable
    #####################################################
    Enter your choice (1, 2 or exit. default [1]): 
      # 是否开启 kcp 支持,默认开启
    
    ============== Check your input ==============
    You Server IP      : xxx.xxx.xxx.xxx
    Bind port          : xxx
    kcp support        : true
    vhost http port    : xxx
    vhost https port   : xxx
    Dashboard port     : xxx
    Dashboard user     : admin
    Dashboard password : 123456
    token              : 123456
    tcp_mux            : true
    Max Pool count     : 50
    Log level          : info
    Log max days       : 3
    Log file           : enable
    ==============================================
    Press any key to start...or Press Ctrl+c to cancel
      # 确认上面的信息无误后按回车进行安装
  2. 安装完成后服务端 Frps 程序管理命令

    /etc/init.d/frps start
    /etc/init.d/frps stop
    /etc/init.d/frps restart
    /etc/init.d/frps status
    /etc/init.d/frps config
    /etc/init.d/frps version

注意事项

  1. 安装好后可以访问 http://服务端地址:Dashboard端口 来查看并管理连接。

  2. 客户端只需要使用刚才服务端填写的信息进行连接即可。

  3. 如果连接不上,可以查看端口是否被防火墙关闭:

    firewall-cmd --query-port=6443/tcp --zone=public
      # 检测端口是否开启,返回yes代表开启,no代表未开启。

    开启端口方法如下:

    firewall-cmd --zone=public --add-port=6443/tcp --permanent
      # 6443 为端口号,根据自己实际情况更改

    返回 success 代表成功开启,需要重启服务器生效。
    全程默认的话,服务器端和客户端通信端口 5443 可能也没有开启。用到的端口号自己都检测下,把没打开的全打开。


脚本来源

GitHub 页面

Leave a Reply