概览
一些概述,便于您快速的了解 frp。
frp 是什么?
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用 frp?
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
下载
官网下载地址 https://github.com/fatedier/frp
解压
[root@iZ2zef7avvm4qvuh1f2bhxZ ~]# tar zxf frp_0.35.1_linux_amd64.tar.gz
移动至 /usr/local
[root@iZ2zef7avvm4qvuh1f2bhxZ ~]# mkdir /usr/local/frp [root@iZ2zef7avvm4qvuh1f2bhxZ ~]# mv frp_0.35.1_linux_amd64/* /usr/local/frp/
配置systemctl来控制,服务端运行
- 服务端
[root@iZ2zef7avvm4qvuh1f2bhxZ ~]# vim /usr/lib/systemd/system/frp.service [Unit] Description=The nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true StandardOutput=syslog StandardError=inherit [Install] WantedBy=multi-user.target
- 重新加载
[root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl daemon-reload
- 启动/停止/重启,查看状态,设置开机自启/关闭开机自启
[root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl start frp [root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl stop frp [root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl restart frp [root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl status frp ● frp.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/frp.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2020-12-28 00:14:54 CST; 6ms ago Main PID: 1704 ((frps)) CGroup: /system.slice/frp.service Dec 28 00:14:54 iZ2zef7avvm4qvuh1f2bhxZ systemd[1]: Started The nginx HTTP and reverse proxy server. Dec 28 00:14:54 iZ2zef7avvm4qvuh1f2bhxZ systemd[1704]: Failed at step EXEC spawning /usr/local/...or Hint: Some lines were ellipsized, use -l to show in full. [root@iZ2zef7avvm4qvuh1f2bhxZ ~]# systemctl enable frp Created symlink from /etc/systemd/system/multi-user.target.wants/frp.service to /usr/lib/systemd/system/frp.service. [root@iZ2zef7avvm4qvuh1f2bhxZ ~]#
- FRP 默认提供了 2 个服务端配置文件,一个是简化版的 frps.ini,另一个是完整版的 frps_full.ini。初学者只需用简版配置即可,在简版 frps.ini 配置文件里,默认设置了监听端口为 7000,你可以按需修改它。
防火土啬和安全组开放指定的端口:
请一定要记住,你需要将服务器的系统防火土啬,以及阿里云、腾讯云后台里找到“安全组策略”的相关配置,设置 7000 或你修改过的对应端口的「允许入站和出站」,否则会一直连接不上的哦!!!这个切记!!
Dashboard
通过浏览器查看 frp 的状态以及代理统计信息展示。
注:Dashboard 尚未针对大量的 proxy 数据展示做优化,如果出现 Dashboard 访问较慢的情况,请不要启用此功能。
需要在 frps.ini 中指定 dashboard 服务使用的端口,即可开启此功能:
[common] bind_port = 7000 dashboard_port = 7002 dashboard_user = admin dashboard_pwd = admin
继续阅读
评论