搭建frp内网穿透

article/2025/8/20 16:33:22

前言

内网穿透的原理我就不多说了哈,既然会看到我这篇文章,想必都知道内网穿透是做什么的吧

frp分为服务端和客户端,服务端一般是搭在公网服务器中,客户端一般搭在本地或者局域网,需要提前在服务端搭好ftp server,然后客户端搭建frp client,与服务端保持连接

远程用户一般是访问不到本地内网的,所以需要访问服务端,服务端通过frp转发到内网中来

本教程是用docker搭建的frp,阅读本文需要有一定的docker基础,当然windows也可以操作,原理是一样的

初次玩frp建议先把防火墙和安全组关了,以免遇到端口不能访问的问题

搭建frp服务端

在公网服务器中新建配置文件

mkdir -p /data/frps
vim /data/frps/frps.toml

配置文件内容

[common]
# frp客户端连接端口
bind_port = 7000
# 管理页面的端口
dashboard_port = 7500
# 管理页面的用户名
dashboard_user = admin
# 管理页面的密码
dashboard_pwd = 123456
# 客户端连接的令牌
token = 123456

拉取frp server镜像

docker pull snowdreamtech/frps:0.62

 运行容器

docker run -d \--name=frps \--network=host \--restart=always \-v /data/frps:/etc/frp \snowdreamtech/frps:0.62

访问http://你的公网ip:7500即可进入管理端页面,账号密码就是配置文件中的账号密码

搭建frp客户端,代理tcp

我们先启动两个内网服务,让它可以正常访问

在内网服务器中新建配置文件

mkdir -p /data/frpc
vim /data/frpc/frpc.toml

配置文件内容

[common]
server_addr = 你的公网ip
# 公网服务端的端口
server_port = 7000
# 公网服务器配置的token
token = 123456# 代理一个端口,通过公网服务器的8080端口访问到内网的80端口
[web80]
# 代理类型
type = tcp
# 公网服务器的端口
remote_port = 8080
# 内网ip
local_ip = 192.168.200.100
# 内网端口
local_port = 80# 通过公网的8081端口访问到内网的81端口
[web81]
type = tcp
remote_port = 8081
local_ip = 192.168.200.100
local_port = 81

拉取frp client镜像

docker pull snowdreamtech/frpc:0.62

运行容器

docker run -d \--name=frpc \--network=host \--restart=always \-v /data/frpc:/etc/frp \snowdreamtech/frpc:0.62

如果本地是windows系统,可以下载windows客户端

下载地址:https://github.com/fatedier/frp/releases

启动方式也很简单,直接frpc.exe -c frpc.toml即可

 我们到管理页面就能看到客户端代理信息了

这时候就可以通过你的公网ip去访问你的内网了

代理http

使用前必读,非常重要,可以让你少走很多弯路:

所有http代理,在服务器中都是共用一个端口,通过域名来区分不同的http服务,所以代理http一定要有域名,没有域名的话只能使用tcp的方式代理,tcp方式也能代理http

我们提前准备好域名,然后解析到你的公网服务器中

服务端frps.toml增加一句配置,定义http端口

vhost_http_port = 8088

注意:多个不同的http代理将会共用这个端口

完整配置:

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
token = 123456
vhost_http_port = 8088

 客户端frpc.toml配置:

[common]
server_addr = 118.31.42.134
# 公网服务端的端口
server_port = 7000
# 公网服务器配置的token
token = 123456[web80]
# 代理类型
type = http
# 代理类型为http时,remote_port字段无效,远程端口默认是服务端配的vhost_http_port
# remote_port = 8080
# 内网ip
local_ip = 192.168.200.100
# 内网端口
local_port = 80
# 域名
custom_domains = test.linzhehao.cn

就可以通过域名访问你的内网了

代理https

申请SSL证书并审核,阿里云、腾讯云等厂家都可以申请免费证书

选择nginx证书进行下载,下载后解压,会有一个.key和.pem文件

将证书文件上传到内网服务器的/data/frpc/cert

服务端frps.toml增加一句配置,定义https端口,所有的https请求都会走这个端口

vhost_https_port = 443

完整配置:

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
token = 123456
vhost_http_port = 8088
vhost_https_port = 443

客户端frpc.toml配置:

[common]
server_addr = 你的公网ip
# 公网服务端的端口
server_port = 7000
# 公网服务器配置的token
token = 123456[web1]
type = https
# https中,local_ip和local_port字段无效
# local_ip = 192.168.200.100
# local_port = 80
custom_domains = test.linzhehao.cn
plugin = https2http
# 配置证书的路径
plugin_crt_path = /etc/frp/cert/test.linzhehao.cn.pem
plugin_key_path = /etc/frp/cert/test.linzhehao.cn.key
plugin_host_header_rewrite = test.linzhehao.cn
# 代理的地址
plugin_local_addr = 192.168.200.100:80

 重启一下frpc

docker restart frpc

就可以用https访问了

子域名

简介:

如果有多个子域名,比如test1.linzhehao.cn、test2.linzhehao.cn,如果不使用子域名的话,那么custom_domains每次都需要写上完整的域名,使用子域名的话只需要在服务端配上linzhehao.cn,在客户端配置test1、test2即可

frps.toml中添加:

subdomain_host = linzhehao.cn

完整配置:

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
token = 123456
vhost_http_port = 8088
vhost_https_port = 443
subdomain_host = linzhehao.cn

客户端frpc.toml配置:

[common]
server_addr = 你的公网ip
# 公网服务端的端口
server_port = 7000
# 公网服务器配置的token
token = 123456[web80]
# 代理类型
type = http
# 内网ip
local_ip = 192.168.200.100
# 内网端口
local_port = 80# 如果想使用子域名,需要去掉custom_domains
# custom_domains = test.linzhehao.cn# subdomain会自动拼上frps.toml中的subdomain_host
subdomain = test

成功访问


http://www.hkcw.cn/article/YtrVRsUMIT.shtml

相关文章

阿里云服务器ECS详细购买流程【新手购买手册】

1、打开云服务器ECS官方页面 打开阿里云服务器ECS页面 点击进入阿里云服务器 2、付费类型选择 阿里云服务器付费类型 3、地域节点 阿里云服务器全球28个地域,中国大陆地域如华北2(北京)、华东1(杭州)、华南1&#x…

广东虎门通报小车坠桥5人死亡 事故引发广泛关注

广东虎门通报小车坠桥5人死亡 事故引发广泛关注。近日,广东东莞环莞快速路虎门段发生了一起交通事故,引起了广泛关注。5月29日晚,虎门镇“519”事故工作专班发布了情况通报。广东虎门通报小车坠桥5人死亡 事故引发广泛关注。责任编辑:0882

SpringBoot:统一功能处理、拦截器、适配器模式

文章目录 拦截器什么是拦截器?为什么要使用拦截器?拦截器的使用拦截路径执行流程典型应用场景DispatcherServlet源码分析 适配器模式适配器模式定义适配器模式角色适配器模式的实现适配器模式应用场景 统⼀数据返回格式优点 统一处理异常总结 拦截器 什…

Spring Boot 3.5.0中文文档上线

Spring Boot 3.5.0 中文文档翻译完成,需要的可收藏 传送门:Spring Boot 3.5.0 中文文档

67常用控件_QTreeWidget的使用

目录 代码⽰例: 使⽤ QTreeWidget 使⽤ QTreeWidget 表⽰⼀个树形控件. ⾥⾯的每个元素, 都是⼀个 QTreeWidgetItem , 每个 QTreeWidgetItem 可以包含多个⽂本和图标, 每个⽂本/图标为⼀个 列. 可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个), 然后再给顶层节点…

气象大模型如何影响端午节旅行?精准预报助力安全出行

端午节假期(5月31日至6月2日)即将到来,全国天气形势复杂多样,北方晴热多风,南方暴雨频繁,华南则面临高温闷热。在这一背景下,气象大模型(如中央气象台的“疾风模型”等)凭借其强大的数据分析和预测能力,为公众出行提供了更精准的天气参考,直接影响着旅行决策和安全保…

德约连续20年晋级法网32强 连胜纪录延续

北京时间5月30日,在2025年法国网球公开赛男单第二轮比赛中,6号种子德约科维奇以6-3、6-2、7-6(1)战胜本土选手穆泰,成功晋级32强。比赛持续了3小时5分钟,第三盘中德约科维奇一度因左脚不适申请医疗暂停,该盘耗时超过80分钟。这场胜利使德约科维奇在罗兰加洛斯的连胜纪录达…

马图伊迪希望大巴黎欧冠夺冠 加油巴黎!

巴黎圣日耳曼旧将马图伊迪在社交媒体上表达了对母队夺得欧冠冠军的期待。北京时间6月1日凌晨3点,巴黎圣日耳曼将与国际米兰争夺本赛季的欧冠冠军。马图伊迪表示,本周六巴黎圣日耳曼带着历史使命踏上赛场,相信整个法国都会支持球队,因为他们有机会成就一些特别的事情。他提到…

茅台铁粉基金经理转战泡泡玛特!

茅台铁粉基金经理转战泡泡玛特。随着在港交所挂牌的泡泡玛特凭借爆款IP上演“股价超十倍神话”,不少曾经重仓持有贵州茅台的“铁粉”基金经理,相继“转战”泡泡玛特。与此同时,众多基金经理开始迫切寻找能复制泡泡玛特神话的新消费标的。市场没有让人失望。近期,A股、港股市…

曝利雅得胜利欲引进迪亚斯 利物浦边锋成头号目标

利雅得胜利将利物浦边锋路易斯-迪亚斯视为今夏引援头号目标。利物浦方面已经了解到对方的兴趣,而迪亚斯本人则希望与红军续约。2022年1月,利物浦以3750万镑转会费从波尔图引进了迪亚斯,并与其签约六年。由于在2024-25赛季表现出色,迪亚斯吸引了多家俱乐部的关注。这位28岁的…

electron安装报错处理

electron安装报错 解决方法: 修改 C:\Users\用户名.npmrc下配置文件 添加代码 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/最后代码 registryhtt…

力扣刷题Day 63:组合总和(39)

1.题目描述 2.思路 Krahets佬一图胜千言: 按这张图来的话输出结果将是[[3, 3, 3], [4, 5], [5, 4]],而[4, 5]和[5, 4]实际是重复的,因此需要在搜索过程中剪枝,剪枝策略是:保证搜索过程中选择序列里的元素索引是递增的…

智能穿戴新标杆:SD NAND (贴片式SD卡)与 SOC 如何定义 AI 眼镜未来技术路径

目录 一、SD NAND:智能眼镜的“记忆中枢”突破空间限制的存储革命性能与可靠性的双重保障 二、SOC芯片:AI眼镜的“智慧大脑”从性能到能效的全面跃升多模态交互的底层支撑 三、SD NANDSOC:11>2的协同效应数据流水线的高效协同端侧…

人类社会关系的重要组成要素--共识机制

共识机制是人类社会的重要组成,它不仅是群体协作的基础,更是维系社会秩序、推动发展的核心动力。 一、共识机制的本质与必要性 协作前提 共识是群体成员对规则、目标或价值观的共同认可,这一机制使个体行为从分散走向协同。例如,蚂…

python 包管理工具uv

uv --version uv python find uv python list export UV_DEFAULT_INDEX"https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" # 换成私有的repo export UV_HTTP_TIMEOUT120 uv python install 3.12 uv venv myenv --python 3.12 --seed uvhttps://docs.ast…

eNSP企业综合网络设计拓扑图

1.拓扑图 2.拓扑配置 此拓扑还有一些瑕疵,仅做参考和技术提升使用。 想要配置的可以关注下载 大型网络综合实验拓扑图(eNSP)资源-CSDN文库

2024年全国十大最美农村路发布 哪条最让你心动

日前,交通运输部发布2024年“十大最美农村路”。截至2024年底,全国农村公路总里程超464万公里。2024年“十大最美农村路”分别是:河北省沧州市大运河堤顶路浙江省杭州市余杭区漕雅线江西省南昌市南昌县湾庄路山东省枣庄市台儿庄区“鲁风运河”古城文化廊道湖北省宜昌市宜都市…

深蓝汽车CEO认错道歉 改进服务保证体验

深蓝汽车官方和CEO邓承浩就车机广告争议公开致歉。5月27日晚,深蓝汽车在社交平台上表示,部分车主反映车机系统开屏的权益提醒信息影响了用车体验,对此公司深表歉意。官方解释称,此次推送权益信息是为了感恩回馈深蓝车主,提醒已购首任车主查收深蓝S09专属购车券。由于发现很…

虚拟机ubuntu无法连接,解决方法

1.点击系统右上角网络连接图标,进入到网络设置。 2.点击连接栏,右边的齿轮。在IPV4栏,选择“自动(DHCP)”

上海嘉定汇龙主帅段鑫离任 因个人健康原因

北京时间5月29日,上海嘉定汇龙官方宣布,主教练段鑫因个人健康原因离任。尊敬的广大球迷及媒体朋友:在2025赛季中甲联赛第十轮上海嘉定汇龙对阵陕西联合赛后,段鑫因个人健康原因向俱乐部提交辞呈。经过慎重讨论,俱乐部接受了他的辞职请求。教练组成员李海军和林涛也一同离任…