树洞剪藏#剪藏#树洞剪藏

内网穿透之frp搭建与http穿透配置

2024 年 11 月 15 日1 分钟
分享Twitter / XTelegram微博

同步来源:树洞剪藏 源站剪藏 ID:4 原文地址:https://mp.weixin.qq.com/s/sHzuKTNAYTADPLsTk1qn6Q

打开原文 · 打开源站剪藏快照


内网穿透之frp搭建与http穿透配置

内网穿透之frp搭建与http穿透配置

原创

唐哥

成长的小学生

2024年08月07日 10:10 广西

  1. frp简介 frp 是一款简单、高效的内网穿透工具,它支持多种代理类型以及 P2P 通信,为不同场景下的需求提供丰富的解决方案。 frp 支持 TCP、UDP、HTTP、HTTPS 等多种协议,并且还支持 P2P 通信;可以将内网服务以安全、便捷的方式通过具有固定公网 IP 地址的服务器进行中转,最终将服务映射到公网访问。 更多功能介绍参考官方文档:

https: //gofrp.org/zh-cn/docs/ 2. 安装配置frp服务端 2.1 测试环境 操作系统:CentOS7.6最小化安装; 服务说明:为了更好的模拟真实效果,本次使用一台腾讯云云服务器进行部署。 关于防火墙和SELinux; 2.2 下载frp github地址:https://github.com/fatedier/frp/releases 当前下载版本:v0.59.0 下载地址:

https: / /github.com/fatedier /frp/releases /download/v 0 . 59.0 /frp_ 0 . 59.0_ linux_amd64.tar.gz 2.3 部署frp 解压缩下载的压缩包。

tar -zxf frp_0 .59 .0_linux_amd64 .tar .gz

将其中 frpc* 是客户端程序,需要拷贝到内网服务所在的机器上; 而 frps* 拷贝到具有公网 IP 的机器上,任意目录位置均可。

mkdir /usr/share/frps cp frp_0.59.0_linux_amd64/frps* /usr/share/frps/

frps:启动程序 frps.toml:主配置文件 2.4 启动服务 需要将修改配置文件后再启动,这里只说明如何启动,后续为根据需求修改配置文件。 临时启动:

cd /usr/share/frps ./frps -c .frps.toml #启动服务端 使用systemd启动:

vi /etc/systemd/system/frps.service #写入以下内容

[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /usr/share/frps/frps -c /usr/share/frps/frps.toml [Install] WantedBy = multi-user.target

启动命令:

systemctl start frps 设置开机自启:

systemctl enable frps 服务启动后,默认监听7000端口,可以通过修改配置文件进行修改。

  1. 安装配置frp客户端 3.1 客户端环境 操作系统:CentOS7.6最小化安装; 关于防火墙和SELinux; 穿透说明:访问服务端的8080端口,转发到客户端的80端口上。下文配置以服务端的IP地址+8080端口直接转发到客户端80端口上的业务,另一种是通过域名的形式,比如域名1访问客户端的80端口,域名2访问客户端的8080端口,前提是要配置好DNS,下面以配置hosts文件代替DNS配置。 3.2 下载frp 客户端与服务端使用的是同一安装包。 下载地址:

https: / /github.com/fatedier /frp/releases /download/v 0 . 59.0 /frp_ 0 . 59.0_ linux_amd64.tar.gz 3.3 部署frp 解压缩下载的压缩包

tar -zxf frp_0 .59 .0_linux_amd64 .tar .gz

内网服务器只需要拷贝 frpc* 文件即可。

mkdir /usr/share/frpc cp frp_0.59.0_linux_amd64/frpc* /usr/share/frpc/

frpc:启动程序 frpc.toml:主配置文件 3.4 修改配置文件

vi /usr/share/frpc/frpc.toml #修改后内容如下

serverAddr = "43.133.213.44" serverPort = 7000 auth.token = "Aa123456" [[proxies]] name = "web01" type = "http" localPort = 80 customDomains = [ "43.133.213.44" ]

重点参数说明: auth.token:配置与服务端的连接密码,自定义; 3.5 启动服务 将客户端也配置为systemd启动:

vi /etc/systemd/system/frpc.service #写入以下内容

[Unit] Description = frp client After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /usr/share/frpc/frpc -c /usr/share/frpc/frpc.toml [Install] WantedBy = multi-user.target

启动命令:

systemctl start frpc 设置开机自启:

systemctl enable frpc 3.6 修改服务端配置

vi /usr/share/frps/frps.toml #修改后内容如下

bindPort = 7000 vhostHTTPPort = 8080 auth.token = "Aa123456"

auth.token:与客户端的密码要一致,自定义; 重启服务:

systemctl restart frps 4. 访问测试 在一台终端上frp服务端的IP地址+8080端口测试是否可以访问到内网服务器上的Web页面: (1)在内网服务器上访问正常

(2)在一台客户端上使用浏览器访问正常

以IP+端口的形式配置穿透成功,这种方式端口一一对应。使用域名的方式,类似于虚拟主机,可以根据不同的域名访问到不同的页面。 5. 测试域名的形式穿透访问 在客户端上提前配置两个测试web页面:

我这里配置了基于端口的虚拟主机。 5.1 修改配置文件 修改客户端配置文件,服务端配置文件不需要修改。

vi /usr/share/frpc/frpc.toml #修改后内容如下

serverAddr = "43.133.213.44" serverPort = 7000 auth.token = "Aa123456" [[proxies]] name = "web01" type = "http" localIP = "192.168.211.101" localPort = 80 customDomains = [ "www.newcloud01.top" ] [[proxies]] name = "web02" type = "http" localIP = "192.168.211.101" localPort = 8080 customDomains = [ "www.newcloud02.top" ]

5.2 重启服务

systemctl restart frpc 5.3 配置Hosts文件 在hosts文件中增加以下行:

43 .133 .213 .44 www .newcloud01 .top 43 .133 .213 .44 www .newcloud02 .top 说明:我这里通过修改hosts文件实现域名解析。 5.4 访问测试 (1)在内网服务器上访问正常

(2)在一台客户端上使用浏览器访问正常

访问正常,http内网穿透配置成功, 6. 总结 frp其实还有很多用法,可以配置TCP、UDP端口穿透、穿透内网网站、配置web界面查看 frp 的状态以及代理统计信息等,更多玩法参考官方手册。

预览时标签不可点

关闭

更多

小程序 广告

搜索「undefined」网络结果

微信扫一扫 关注该公众号

当前内容可能存在未经审核的第三方商业营销信息,请确认是否继续访问。

继续访问 取消 微信公众平台广告规范指引

: , 。

视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看 分享 留言 收藏

相关文章