Linux知识库
Linux基础知识!
Linux格式化硬盘以及格式化分区
linux基础常用知识
linux更换yum源
linux挂载windows SMB共享目录
linux开机启动级别
linux网卡配置
linux配置SMB服务
CentOS 8 firewalld配置
Linux软件管理:RPM软件包与YUM管理
Linux用户与组概念
Linux文件与目录权限基础
Linux计划任务管理
Linux中文本文件内容的查看
Linux基础-服务(service)和systemd管理服务
Vim编辑器基本操作
apt更换国内源
Linux程序服务!
Code-server在线编程服务器部署
Cloudreve网盘搭建
Emby多媒体影音系统搭建
chevereto图床搭建教程
Frp内网穿透服务器搭建
FTP服务器搭建
gitlab服务器搭建
Plex搭建
syncthing同步服务器搭建
Wordpress博客搭建
Typecho博客搭建
zabbix搭建(失败)
Aria2离线下载服务器搭建
KMS激活服务器搭建
CentOS搭建NTP服务
Grafana部署与Zabbix集成,部署开源IT系统监控平台
Linux应用环境搭建配置!
nginx编译安装
PHP8编译安装
Linux 关闭selinux
yum安装redis数据库
宝塔环境无法删除.user.ini
宝塔面板安装
mysql8.0.29编译安装
nginx安装(yum方式)
Linux系统基础知识
Linux命令行基础知识
使用Cerbot申请免费证书
ModSecurity 安装编译与连接nginx
Zabbix6.4.8安装部署
本文档使用 MrDoc 发布
-
+
首页
Frp内网穿透服务器搭建
FRP(Fast Reverse Proxy)是一种轻量级、高性能的反向代理工具,利用反向代理技术将公网请求转发至内网服务器上,并将内网服务器的响应再次转发至公网请求者。在实现内网穿透时,FRP能够将公网与内网之间的隔离突破,使得公网用户可以直接访问内网服务器上的资源,从而实现远程访问和管理。同时,FRP可以实现在内网环境下使用自定义域名访问web服务器,并且支持TCP和UDP的端口转发。 简单讲就是可以实现将家里的应用与服务映射到公网IP上,前提是有云服务器,可以考虑下腾讯云或者阿里云,一年几十块可以玩下。 环境: 云服务器CentOS8(有公网IP) Frpv0.52.3(2023-12-07版本) 使用示意图:  完整配置文档地址:[Frp完整文档](https://gofrp.org/zh-cn/) ## 下载安装 因为托管在github,可能需要科学上网,或者后台私信。 [下载地址](https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz) 服务器端一般用Linux,下载对应版本。客户端可以是Linux或者windows.  在服务器上进行解压,其实里面东西不多,包含了服务器端和客户端启动文件和配置文件。 frps是服务器端,frpc是客户端,都有对应的配置文件`.toml`,如果是作为服务器端可以删除frpc的文件。 ```linux [root@centos8 ~]# cd /www/frp [root@centos8 frp]# ls -la total 30004 drwxr-xr-x 2 www www 4096 Dec 7 12:32 . drwxr-xr-x 28 root root 4096 Dec 7 10:25 .. -rwxr-xr-x 1 root root 13905920 Oct 24 10:56 frpc -rwxr-xr-x 1 root root 142 Oct 24 10:57 frpc.toml -rwxr-xr-x 1 root root 16789504 Oct 24 10:56 frps -rwxr-xr-x 1 root root 118 Dec 7 10:54 frps.toml -rwxr-xr-x 1 root root 11358 Oct 24 10:57 LICENSE ``` ## 服务器端配置 步骤: 1、开启云服务器安全组端口7000(客户端与服务器连接)、7500(服务器监控面板端口)、7001(自定义内网应用端口) 2、开启云服务器防火墙firewalld端口 ```linux firewall-cmd --zone=public --add-port=7000/tcp --permanent firewall-cmd --zone=public --add-port=7500/tcp --permanent firewall-cmd --zone=public --add-port=7001/tcp --permanent firewall-cmd --reload ``` 3、修改配置文件 ```shell # 修改frps.toml vim frps.toml # 与客户端连接端口,默认7000 bind_port = 7000 # 配置服务器监控面板 webServer.port = 7500 webServer.user = "admin" webServer.password = "admin" webServer.addr = "0.0.0.0" ``` 4、配置修改完成之后可以直接执行,就是执行`frps`,然后指定配置文件为`frps.toml` ```linux # 修改下执行权限,防止没有足够权限 chmod +x ./frps # 运行服务 ./frps -c ./frps.toml ``` ## 使用systemctl管理服务进程 如果每次都手动运行服务应该会在前台运行,不能退出,如果ctrl + c退出,frp服务也就结束了,因此建议使用systemctl进程管理实现服务的启动停止和重启。 在/usr/lib/systemd/system/里面添加一个服务配置文件frps.service ```shell vim /usr/lib/systemd/system/frps.service # 内容如下,记得修改对应的目录 [Unit] Description=Frp Server Service After=network.target [Service] Restart=on-failure RestartSec=5s WorkingDirectory=/www/wwwroot/frp # 工作目录 ExecStart=/www/wwwroot/frp/frps -c /www/wwwroot/frp/frps.toml # 修改为对应目录 [Install] WantedBy=multi-user.target # 保存退出 systemctl daemon-reload # 刷新 systemctl start frps # 启动服务 # 查看对应的服务和端口有没有正常运行 systemctl status frps # 查看有没有7000,7500端口 netstat -nltp ``` ## 客户端配置 客户端只需要能够上网即可,填写固定的Frps公网地址就行,然后配置内网服务以及端口,默认只能代理客户端本机的服务。 ### Linux frpc客户端配置 如果使用linux客户端的话也是使用上面下载的版本,删除掉frps开头的文件即可。然后修改frpc.toml。 ```linux vim frpc.toml # frpc.toml内容,记得修改自己的IP serverAddr = "14.56.xxx.xxx" serverPort = 7000 [[proxies]] name = "test-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 7001 # 保存退出,启动客户端服务,和上面服务器原理一致,需要开通服务器对应端口7001 ./frpc -c ./frpc.toml ``` 也可以使用systemctl进行frpc服务管理,与上面frps的一致就不重复了。在`/usr/lib/systemd/system/`里面创建一个`frpc.service`文件,然后把启动文件和对应的配置文件写上,刷新systemctl。 ### Windows Frpc客户端配置 如果使用window客户端下载window版本的版本`frp_0.52.3_windows_amd64.zip`  `frpc.toml`配置如下 ```shell serverAddr = "14.29.xxx.xxx" serverPort = 7000 [[proxies]] name = "web-test" type = "tcp" localIP = "127.0.0.1" localPort = 80 remotePort = 7001 ``` 然后客户端需要到cmd命令行运行 frpc.exe -c frpc.toml 进入到frp目录,启动frpc.exe 使用 frpc.toml配置文件 完成之后提示已经启动  内网访问:  外网访问:  window如果把cmd黑色窗口关闭则服务停止,因此需要设置后台运行,或者设置开机自启,通过计划任务运行,在此不做说明,可以私信。 ## frps服务器管理界面 通过在frps上配置服务面板监控代理状态。 http://ip:7500 可以查看连接状态。  注意如果代理ssh、http等可以使用tcp类型,如果想要使用域名需要有自己的域名解析。 每个proxies代表一个应用,如果需要新增内网应用都需要开启对应的端口。 不建议代理大文件传输,因为是基于云服务器带宽的,取决于公网带宽限制。 好处是没有代理数量限制,数据掌握在自己手中,不需要第三方。
Chuck
2023年12月7日 15:53
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码