当前位置:首页 > 技术笔记 > 正文内容

FRP内网穿透服务部署全攻略(环境:CentOS 7.9、宝塔面板、windows 7、frp_0.53.2)

2024年02月05日技术笔记

architecture.png

一、项目参考资料

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。

1.png

然后进入D:\soft\nssm-2.24\win64 目录

打开命令行后,输入nssm install frpc

2.png

然后选取文件路径,点击install service即可。

3.png

五、总结

目前部署的是http形式数据传输,对于数据安全要求较高的需求场景,可以提供https等数据加密传输形式,保证数据安全。

文中提到附件及用到的软件下载:

附件下载:

frp方案1.zip

frp方案2.zip


免责声明:本站所发布信息部分整理自互联网具有公开性、共享性的信息,发布此信息旨在传播更多信息之目的,不代表本网站立场,转载请联系原作者并注明出处,如果侵犯了您的权益请与我们联系;本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,无法保证有效性,真实性需自行辨别,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容;如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务,我们非常重视版权问题,如有侵权请邮件与我们联系处理,我们将在24小时内更正、删除。E-mail:admin@bsfc.net