工具教程

十分钟快速搭建内网穿透工具 —— frp

cnguu · 11月12日 · 2018年 · ·

  frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp,udp,http,https,stcp 协议。

  frp需要服务端和客户端共同作用,服务端为 frps,一般安装在 vps 服务器上;客户端为 frpc,一般安装在路由器或 NAS 上。

  frps 和 frpc 配置使用,可以远程访问或控制内网设备。

frps 一键安装

为了节省精力,这里使用 clangcn 的一键安装脚本

支持的平台:

  1. Centos 6/7 32/64bit
  2. Debian 6/7 32/64bit
  3. Ubuntu 14 32/64bit

安装

下载脚本

$ 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

安装过程选项的说明

选项说明默认
download urlfrp 镜像源下载地址aliyun
bind_portfrp 提供服务的端口5443
vhost_http_porthttp 服务端口80
vhost_https_porthttps 服务端口443
dashboard_portfrps 仪表盘
用于查看 frp 工作状态
6443
dashboard_user仪表盘登录账号admin
dashboard_pwd仪表盘登录密码随机
tokenfrps 和 frpc 通讯密码随机
max_pool_count每个代理的连接上线50
log_level日志等级info
log_max_days日志保留天数3
log_file是否开启日志enable
tcp_mux是否开启多路复用
减少 tcp 的握手延迟
enable
kcp support是否开启 kcpenable

注意设置安全组或者防火墙

功能命令

命令说明
frps start启动
frps stop停止
frps restart重启
frps status当前服务状态
frps configvi 编辑配置
frps version查看版本
install-frps.sh update更新脚本
install-frps.sh uninstall卸载

fprc 配置

客户端以 Windows 系统为例,路由器或者 NAS 的对照参考即可

下载

在这里 frp 下载对应 frps 的版本

下载后只需要这三个文件即可

  1. frpc.exe
  2. frpc.ini
  3. frpc_full.ini

配置

修改 frpc.ini 文件

[common]
server_addr = xxxxxx    # 服务器 IP
server_port = 5443      # bind_port
token = xxxxxx          # 与服务器一致

[test]
type = http             # 类型
local_ip = 127.0.0.1    # 本地 IP
local_port = 80         # 本地端口
use_encryption = true   # 传输加密
use_gzip = true         # gzip 压缩
custom_domains = xxxxxx # 自定义域名
http_user = xxxxxx      # 可选,访问账号
http_pwd = xxxxxx       # 可选,访问密码

[test2]
type =
local_ip =
local_port =
use_encryption =
use_gzip =
custom_domains =
http_user =
http_pwd =

log_file = /dev/null
log_level = info
log_max_days = 3

启动

打开 cmd,运行 frpc.exe 即可

Nginx 端口转发

80 端口被 Nginx 占用的情况下
利用 Nginx 进行端口转发

这里 7080 是 frps 的 http 服务端口

添加站点文件 test.conf,内容如下:

server
    {
        listen 80;
        server_name www.cnguu.cn;
        location / {
            proxy_pass http://127.0.0.1:7080;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        access_log off;
        error_log /dev/null;
    }
0 条回应