FRP内网穿透服务部署全攻略(环境:CentOS 7.9、宝塔面板、windows 7、frp_0.53.2)
一、项目参考资料
FRP 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转访问本地内网中的服务。
GitHub:https://github.com/fatedier/frp
releases页面:https://github.com/fatedier/frp/releases
官方文档:https://gofrp.org/zh-cn/
安装环境及版本: CentOS 7.9、宝塔面板、windows 7、frp_0.53.2。
二、部署方案推荐
(1)方案一:
外网服务端server:linux
内网客户端Client:linux
(2)方案二:
外网服务端server:linux
内网客户端Client:windows
(3)名词介绍:
⒈ 外网服务端:具有公网IP地址的服务器,可完全暴露再互联网上。
⒉ 内网客户端:内部局域网中的电脑/服务器,只能在内部网络中能访问到,一般对内提供OA内部办公、ERP财务管理、文件共享打印等服务,一般互联网外部用户无法访问到内网的服务器。
⒊ linux系统:一般指GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。常见版本:CentOS 7.9、Alibaba Cloud 3等。
⒋ Windows系统:Microsoft Windows是美国微软公司以图形用户界面为基础研发的操作系统,主要运用于计算机、智能手机等设备。共有普通版本、服务器版本(Windows Server)、手机版本(Windows Phone等)、嵌入式版本(Windows CE等)等子系列,是全球应用最广泛的操作系统之一。用户比较常见的版本:windowXP、windows 7/8/10/11、Windows Server 2008/2018/2022等。
⒌ 宝塔面板:宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。
三、方案一
(一)服务器端安装frps
(1)打开宝塔面板,将frp目录下的frps、frps.toml 文件上传到 服务器 /root/frp 目录。
(2)设置目录frp和文件frps、frps.toml权限为755,用户组为:root
(3)按需求修改 frps.toml 文件。
(4)将 frps.service 文件上传到 服务器 /etc/systemd/system 目录。
(5)设置frps.service目录和文件权限为755,用户组为:root
(6)执行frps启动命令,看是否正常。
./frps -c ./frps.toml &
(7)安装systemd 命令:
yum install system
(8)创建frps.service服务,以服务的方式管理frps。
先启动frps,然后查看frps状态,状态无报错,一切正常后,再设置为开机自启。
具体命令参考如下。
# 启动frps
sudo systemctl start frps
# 停止frps
sudo systemctl stop frps
# 重启frps
sudo systemctl restart frps
# 查看frps状态
sudo systemctl status frps
# 设置为开机自启
sudo systemctl enable frps
# 如果提示报错,可以尝试重新载入自启配置文件
sudo systemctl daemon-reload
(二)服务器端安装frpc
(1)打开宝塔面板,将frp目录下的frpc、frpc.toml 文件上传到 服务器 /root/frp 目录。
(2)设置目录frp和文件frpc、frpc.toml权限为755,用户组为:root
(3)按需求修改 frpc.toml 文件。
(4)将 frpc.service 文件上传到 服务器 /etc/systemd/system 目录。
(5)设置frpc.service目录和文件权限为755,用户组为:root
(6)执行frpc启动命令,看是否正常。
./frpc -c ./frpc.toml
(7)安装systemd 命令:
yum install system
(8)创建frpc.service服务,以服务的方式管理frpc。
先启动frpc,然后查看frpc状态,状态无报错,一切正常后,再设置为开机自启。
具体命令参考如下。
# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frpc
# 重启frp
sudo systemctl restart frpc
# 查看frp状态
sudo systemctl status frpc
# 设置为开机自启
sudo systemctl enable frpc
# 如果提示报错,可以尝试重新载入自启配置文件
sudo systemctl daemon-reload
(9)至此,设置部署完毕,打开网址测试是否正常。
测试前确保,本地客户端WEB服务开放8080端口,且正常启动,服务器端防火墙开放7000、8080端口。
http://test.xxxxx***.com:8080/
四、方案二
(一)服务器端安装frps
参阅:方案一中,服务器端安装frps 设置部署相关内容。
(二)服务器端安装frpc
(1)将frp目录下的frpc.exe、frpc.toml 文件复制到 客户端电脑 D:\frp\ 目录。
(2)按需求修改 frpc.toml 文件。
(3)运行命令测试,启动 frpc ,查看是否正常。
服务端启动正常之后,在windows客户端的frpc所在目录D:\frp\ 下,打开cmd命令行,输入命令:
① Windows 7
frpc.exe -c frpc.toml
② Windows 11
./frpc.exe -c ./frpc.toml
(4)frpc测试正常后,需要设置frpc开机自动启动。
windows系统下,把frpc.cmd文件注册为系统服务。
首先解压nssm-2.24.zip。
然后进入D:\soft\nssm-2.24\win64 目录
打开命令行后,输入nssm install frpc
然后选取文件路径,点击install service即可。
五、总结
目前部署的是http形式数据传输,对于数据安全要求较高的需求场景,可以提供https等数据加密传输形式,保证数据安全。
文中提到附件及用到的软件下载:
附件下载:
免责声明:本站所发布信息部分整理自互联网具有公开性、共享性的信息,发布此信息旨在传播更多信息之目的,不代表本网站立场,转载请联系原作者并注明出处,如果侵犯了您的权益请与我们联系;本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,无法保证有效性,真实性需自行辨别,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容;如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务,我们非常重视版权问题,如有侵权请邮件与我们联系处理,我们将在24小时内更正、删除。E-mail:admin@bsfc.net