您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

FRP 内网穿透、反向代理

时间:2022-02-14 15:19:37  来源:  作者:GoCoding

frp[1] 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

本文将以暴露内网 Web 服务为例,实践 frp 的安装部署。更多应用场景,可见 frp 示例[2]

安装

frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。

可以在 Github 的 Release[3] 页面中下载到最新版本的客户端和服务端二进制文件。

本文公网、内网机器都是 linux x86_64,所以选择了 frp_0.39.0_linux_amd64.tar.gz。解压:

$ tar xzvf frp_0.39.0_linux_amd64.tar.gz
frp_0.39.0_linux_amd64/
frp_0.39.0_linux_amd64/frps
frp_0.39.0_linux_amd64/frps_full.ini
frp_0.39.0_linux_amd64/systemd/
frp_0.39.0_linux_amd64/systemd/frpc@.service
frp_0.39.0_linux_amd64/systemd/frps@.service
frp_0.39.0_linux_amd64/systemd/frpc.service
frp_0.39.0_linux_amd64/systemd/frps.service
frp_0.39.0_linux_amd64/LICENSE
frp_0.39.0_linux_amd64/frpc.ini
frp_0.39.0_linux_amd64/frpc_full.ini
frp_0.39.0_linux_amd64/frps.ini
frp_0.39.0_linux_amd64/frpc

公网

拷贝 frps 文件进公网机器,假设其 IP 为 x.x.x.x:

scp frps* ubuntu@x.x.x.x:

修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:

cat <<-EOF > ~/frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
EOF

安装 supervisor 进行部署,后台长期运行:

# 安装 supervisor
sudo apt install supervisor -y

# 添加配置
sudo -i
cat <<-EOF >> /etc/supervisor/supervisord.conf

[program:frps]
directory=/home/ubuntu
command=/home/ubuntu/frps -c /home/ubuntu/frps.ini
priority=999
autostart=true
autorestart=true
startsecs=10
startretries=3
stdout_logfile=/var/log/frps_out.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/frps_err.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment=
nocleanup=false
EOF
exit

# 更新服务
sudo supervisorctl update all

# 查看服务
sudo supervisorctl status all

内网

拷贝 frpc 文件进内网机器,假设其 IP 为 192.168.1.100:

scp frpc* ubuntu@192.168.1.100:

修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 custom_domAIns。

cat <<-EOF > ~/frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 8000
custom_domains = www.yourdomain.com
EOF

将 www.yourdomain.com 的域名 A 记录解析到 IP x.x.x.x。

如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。或者可以通过修改 HTTP 请求的 Host 字段来实现同样的效果。

简单运行服务,进行测试:

# 运行 HTTP 服务
Python/ target=_blank class=infotextkey>Python3 -m http.server 8000

# 运行 frpc 服务
./frpc -c ./frpc.ini

# 访问测试
curl http://www.yourdomain.com:8080/

以 systemd 进行部署,后台长期运行:

# 拷贝文件
sudo cp frpc /usr/bin/frpc
sudo mkdir -p /etc/frp
sudo cp frpc.ini /etc/frp/frpc.ini

# 添加配置(frp 给的 systemd 配置)
sudo -i
cat <<-EOF > /etc/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After.NETwork.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF
exit

# 重载配置
sudo systemctl daemon-reload

# 开机启动
sudo systemctl enable frpc.service

# 启动服务
sudo systemctl start frpc.service

# 查看状态
sudo systemctl status frpc.service

GoCoding 个人实践的经验分享,可关注公众号!

脚注

[1] frp: https://github.com/fatedier/frp

[2] frp 示例:
https://gofrp.org/docs/examples/

[3] Release: https://github.com/fatedier/frp/releases



Tags:FRP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
生产力环境下的简单高效开源的内网穿透工具——FRP的搭建教程
与zerotier、tailscale等基于点对点的内网穿透的商业软件不同,FRP是在github上的一个开源项目,是服务器&mdash;客户端运行模式,可提供闭环的虚拟局域网环境。项目地址:HTTPS://g...【详细内容】
2022-09-30  Search: FRP  点击:(1607)  评论:(0)  加入收藏
Frp内网穿透之p2p实现远程桌面
大家好,今天继续我们的内网穿透系列教程,之前分享的是利用云服务器中转流量实现内网访问操作,考虑到有些人的服务器带宽可能是1M的,对远程桌面这种实时画面的支持实在不太好,今天...【详细内容】
2022-07-13  Search: FRP  点击:(1845)  评论:(0)  加入收藏
内网穿透工具我只选frp
1. 什么是frpfrp一款基于go语言开发的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS 等多种协议,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网...【详细内容】
2022-07-11  Search: FRP  点击:(652)  评论:(0)  加入收藏
基于frp实现将安卓手机变成代理服务器
公司有一个业务场景,需要利用分布在全国各地的一些手机作为代理服务器拿到这任务的我是一脸懵逼的,这tm都行。。。不过这让我让我想到之前用的内网穿透 frp内网穿透大致原理可...【详细内容】
2022-03-17  Search: FRP  点击:(1187)  评论:(0)  加入收藏
FRP 内网穿透、反向代理
frp[1] 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。本...【详细内容】
2022-02-14  Search: FRP  点击:(599)  评论:(0)  加入收藏
frp远程办公,访问内网服务器
centos 7下安装frp+openxxx实现内网服务器。 frp 内网穿透工具 openxxx 虚拟网络工具准备 云服务器、内网主机 云服务器,外网访问地址39.33.12.12,用来做frp服务端 内网服务器...【详细内容】
2021-03-16  Search: FRP  点击:(579)  评论:(0)  加入收藏
记一次使用 frp 完成实现服务器内网穿透全过程
写在前面因之前内网穿透一直使用的 ngrok,使用的 ngrok 1.x 版本的最新 1.7.1,而1.7.1有严重的内存泄露问题,再加上 1.x 早已不在维护,ngrok 2.x 后已经不再开源,所以考虑换一个...【详细内容】
2020-09-04  Search: FRP  点击:(341)  评论:(0)  加入收藏
内网穿透神器frp推荐!教你如何一劳永逸的对外暴露内网服务
背景创业公司为节约运维成本,往往把应用服务放在阿里云等平台上。除了对外服务,公司还存在一些对内的测试环境、监控等服务,如果这些内部服务同时也有外网访问的需求。直接用云...【详细内容】
2020-03-13  Search: FRP  点击:(493)  评论:(0)  加入收藏
内网穿透工具-frp
对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题。通常解决方案就是用内网穿透工具将内网的服务穿透到公网中,便于远程管理和在外部访问。内...【详细内容】
2019-12-11  Search: FRP  点击:(471)  评论:(0)  加入收藏
▌简易百科推荐
手机就可以修改WiFi密码,进行网络提速,还能防止别人蹭网
随着网络的普及和使用频率的增加,很多人可能遇到了一些网络管理上的问题,比如忘记了WiFi密码、网络速度缓慢、或者发现有不明设备在家中蹭网。相信朋友们也曾遇到过吧?但是,你知...【详细内容】
2024-04-03  老毛桃    Tags:WiFi密码   点击:(7)  评论:(0)  加入收藏
手机WiFi信号满格却接收消息延迟?这里有妙招帮你解决!
在现代社会,手机已经成为了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐,手机都扮演着重要的角色。然而,有时我们会遇到一些令人烦恼的问题,比如明明手机WiFi信号满格...【详细内容】
2024-04-03  蔡前进    Tags:手机WiFi   点击:(7)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01    安全牛  Tags:SASE   点击:(12)  评论:(0)  加入收藏
提示“该网站安全证书存在问题,连接可能不安全”如何解决
在你输入网址并浏览网页时,如果你的浏览器弹出一个警告,提示“网站的安全证书存在问题”,或是显示一个红色的锁标志,这些都是网站不安全的警示。这些提示通常是由HTTPS协议中的S...【详细内容】
2024-03-18  倏然间    Tags:网站安全证书   点击:(10)  评论:(0)  加入收藏
如何有效排除CAN总线错误
控制器局域网(CAN)控制器局域网(CAN)是现代车辆中电子元件无缝运行的基础。在远程信息处理领域,CAN总线系统的效率至关重要,其能够实现支撑当今汽车技术的复杂功能。然而,CAN总...【详细内容】
2024-02-20    千家网  Tags:CAN   点击:(52)  评论:(0)  加入收藏
网络连接受限或无连接怎么办?这里提供几个修复办法
可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。排除和解决“连接受限或无连接”错误此错误可能由计算机上...【详细内容】
2024-02-06  驾驭信息纵横科技    Tags:网络连接受限   点击:(50)  评论:(0)  加入收藏
如何将Mac连接到以太网?这里有详细步骤
在Wi-Fi成为最流行、最简单的互联网连接方式之前,每台Mac和电脑都使用以太网电缆连接。这是Mac可用端口的标准功能。如何将Mac连接到以太网如果你的Mac有以太网端口,则需要以...【详细内容】
2024-02-03  驾驭信息纵横科技    Tags:Mac   点击:(67)  评论:(0)  加入收藏
简易百科之什么是端口映射
端口映射,也称为端口转发,是一种网络通信中的技术手段,通过将内网中的一个端口上的数据流量转发到另一个端口,使得外部网络能够访问到内部网络中的特定服务。在实现上,端口映射通...【详细内容】
2024-01-26    简易百科  Tags:端口映射   点击:(160)  评论:(0)  加入收藏
ip因频繁登陆已被禁止访问 无法显示图片 怎么办
首先,我们要明白,部分网站为了有效遏制数据爬取和非法攻击,保证访问速度和普通用户查询,会在系统中增加网络安全设备,加强安全防护机制,并提前设置安全访问规则。因此,一旦用户的行...【详细内容】
2024-01-20  何福意思    Tags:ip   点击:(68)  评论:(0)  加入收藏
电脑连上wifi却上不了网怎么办
当电脑连接上 WiFi 却无法上网时,可能会让人感到困惑和沮丧。这个问题通常会有多种可能的原因,包括网络配置问题、路由器故障、无线适配器问题等。在面对这个问题时,可以尝试以...【详细内容】
2024-01-16  编程资料站    Tags:wifi   点击:(71)  评论:(0)  加入收藏
站内最新
站内热门
站内头条