使用frp配置内网穿透:保姆级教程
创作时间:
作者:
@小白创作中心
使用frp配置内网穿透:保姆级教程
引用
CSDN
1.
https://blog.csdn.net/weixin_43213815/article/details/121336968
内网穿透技术在现代网络环境中扮演着重要角色,特别是在需要从外部访问内网资源时。本文将详细介绍如何使用frp这一开源工具实现内网穿透,包括其基础知识、使用场景、工作原理以及具体的配置步骤。
基础知识
什么是内网穿透
内网穿透是一种网络连接技术,主要用于在局域网内的设备与外网设备之间建立通信连接。其主要功能包括:
- 在端口映射时进行地址转换,将公网地址翻译为私有地址,并通过路由方式实现网络共享。
- 解决UDP数据传输不稳定的问题。
- 实现不同局域网设备之间的网络通信。
使用场景
内网穿透的主要应用场景包括:
- 不同局域网内的设备需要相互访问资源。
- 远程办公时需要访问公司内网资源。
- 在外网环境下访问内网中的特定服务(如Web服务、文件共享等)。
frp简介
frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持TCP、UDP、HTTP、HTTPS等多种协议。其GitHub项目主页为:https://github.com/fatedier/frp/
frp的作用
- 允许内网或防火墙后的设备对外网环境提供HTTP或HTTPS服务。
- 支持基于域名的虚拟主机,实现多个域名共用一个端口。
- 支持TCP和UDP服务,如通过SSH远程访问内网主机。
frp工作原理
- 服务端监听主端口,等待客户端连接。
- 客户端连接到服务端主端口,告知需要监听的端口和转发类型。
- 服务端fork新进程监听客户端指定的端口。
- 外网用户连接到客户端指定的端口,服务端通过与客户端的连接将数据转发到客户端。
- 客户端进程将数据转发到本地服务,实现内网对外暴露服务的能力。
实验环境准备
硬件环境
- 1台VPS:拥有公网地址(推荐使用阿里云VPS)
- 2台Linux/Windows虚拟机:作为内网机器
- 1台可联网的设备(如Kali Linux):用于测试
软件环境
- frp客户端和服务端软件
- SSH客户端(如PuTTY)
- 浏览器
VPS选择建议
对于初次购买VPS的用户,推荐选择阿里云的新人特惠套餐。具体链接如下:
域名购买
推荐使用阿里云万网进行域名购买,新用户可以享受优惠价格。具体链接如下:
https://wanwang.aliyun.com/domain/?spm=5176.10173289.0.0.2f6b2e77depa6w
实验环境配置
设备 | IP地址 | 说明 |
|---|---|---|
Kali | 192.168.0.55 | 测试机(需能访问百度) |
Linux | 192.168.0.208 | 内网机器(Linux) |
Win7 | 192.168.0.213 | 内网机器(Windows) |
VPS | your-vps-ip | 服务端(公网机器) |
frp使用步骤
1. 服务端设置
1.1 下载和安装frp
SSH连接到VPS后,根据处理器架构下载相应的frp版本。以下是针对amd64架构的下载命令:
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz
解压并重命名文件夹:
tar -zxvf frp_0.22.0_linux_amd64.tar.gz
cp -r frp_0.22.0_linux_amd64 frp
cd frp
1.2 配置frps.ini
编辑frps.ini文件,设置服务端参数:
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 10080
vhost_https_port = 10443
启动frps服务:
./frps -c frps.ini
正常启动后,可以通过浏览器访问x.x.x.x:7500(其中x.x.x.x为VPS的IP)查看仪表板界面。
1.3 服务端后台运行
使用nohup命令将frps运行在后台:
nohup ./frps -c frps.ini &
2. 客户端设置
2.1 下载和安装frp客户端
根据客户端设备的情况选择相应的frp程序进行下载。下载链接:
https://github.com/fatedier/frp/releases
2.2 配置frpc.ini
编辑frpc.ini文件,设置客户端参数:
[common]
server_addr = x.x.x.x
server_port = 7000
token = 12345678
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002
启动frpc服务:
frpc.exe
3. 结果测试
3.1 远程桌面测试
使用Kali Linux测试3389远程连接:
redesktop you-vps-ip:端口
3.2 Web服务测试
通过自定义域名访问部署于内网的Web服务:
- 修改frps.ini文件,设置http访问端口为8060:
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 8060
vhost_https_port = 8090
- 启动frps服务:
./frps -c ./frps.ini
- 修改frpc.ini文件,绑定自定义域名:
[common]
server_addr = your-vps-ip
server_port = 7000
token = 12345678
[web]
type = http
local_port = 8080
custom_domains = www.yourdomain.com
最后,可以在frp管理界面查看详细信息,包括流量和连接状态。
热门推荐
管理者如何换人管理团队
标准小篆探析:5000字详解,从特点到写法的全面指南
安卓Auto与车载系统连接指南
浙大博士生将减肥写成论文!这个瘦身法火了,能行吗?
洛阳775个公积金睡眠账户余额达659万,涉及职工需及时办理相关手续
高考数学必考知识点:集合的四种表示方法详解
电视机当显示器?想好再做决定!

探索奈良的自然奇观:日本永恒之美之旅
提前30日离职辞呈模板:规范撰写指南及注意事项
当发生胸痛时,如何快速寻找导致胸痛原因,医生告诉你答案
专家证实辉瑞新冠疫苗有后遗症 引发多种症状
催收违法犯罪如何判刑
为什么数字营销对律师事务所如此重要
【香港二手车购买指南】从挑选到过户的完整流程
没喝完的饮料到底能放多久?当心喝到“细菌培养皿”
小孩子的身高与父母的身高比例关系是如何的
吹空调喉咙干燥怎么解决
炸串串串腌制2,
备案小麦种子:品种纯度、质量检测与生产合规性要求详解
玉米淀粉:从原料到多功能应用的科技之旅
职工基本医疗保险参保登记表需要哪些信息?
血糖监测误区多,如何才能不躺枪?
聚酰胺(PA)的基本性能与应用
新一代高分子材料有哪些特点?
农村医疗跨市的办理方法及注意事项有哪些?这些办理方法有什么优化建议?
唇腭裂整形手术医保报销指南:条件、金额及注意事项
婴儿鼻子周围发青是怎么回事
产检费用能报销多少(2025年产检费用可以报销多少)
如何校准PE紫外分光光度计?
水粉画颜料调色全攻略:从基础理论到实践技巧