FRP(Fast Reverse Proxy)是一个专注于内网穿透的高性能反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种网络协议。它允许用户将位于内网或防火墙之后的服务通过具备公网IP地址的节点转发,从而安全且便捷地向互联网公开这些服务。FRP广泛应用于远程办公、网站托管、游戏服务器搭建等场景,特别适合于那些没有公网IP的家庭网络环境。
官方资源
官方网站:https://gofrp.org
GitHub仓库:https://github.com/fatedier/frp
FRP的主要优势
多协议支持:FRP不仅支持常见的TCP和UDP协议,还支持HTTP和HTTPS等更高层次的应用层协议。
虚拟主机支持:对于Web服务,FRP提供了基于域名的虚拟主机支持,允许用户通过不同的域名访问同一台服务器上的不同服务。
安全性:FRP提供了包括身份验证在内的多种安全机制,确保数据传输的安全性。
易于配置:FRP的配置文件简洁明了,即使是初学者也能快速上手。
跨平台:FRP可以在Windows、Linux和macOS等多个操作系统上运行。
配置FRPS(服务端)
为了演示如何配置FRP的服务端(FRPS),我们将按照以下步骤操作:
下载FRP
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz tar -zxvf frp_0.61.0_linux_amd64.tar.gz mv frp_0.61.0_linux_amd64 frp_c mv frp_c /usr/local/frp
创建配置文件
在
/usr/local/frp
目录下创建名为frps.ini
的配置文件,并添加如下内容:[common] # 服务端和客户端的TCP通信端口, 建议1024以上端口 bind_port = 7000 # 客户端访问服务端的密码 token = hfdWsdPCoqwe@Ad! # 服务端仪表盘的端口, 可以用浏览器访问查看 dashboard_port = 7500 # 服务端仪表盘的用户密码 dashboard_user = frp dashboard_pwd = VspWpkcdwAlcv # 日志保存设定, 保存位置、保存时长 log_file = ./frps.log log_level = info log_max_days = 7
设置权限
chmod +x -R /usr/local/frp/
配置Systemd服务
创建一个新的systemd服务文件
/lib/systemd/system/frps.service
,内容如下:[Unit] Description=FRP Service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy=multi-user.target
启动并启用服务
使用以下命令启动FRPS服务,并设置为开机自启动:
systemctl daemon-reload systemctl enable frps systemctl start frps
可以通过
systemctl status frps -l
检查服务的状态,确保其正常运行。