使用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管理界面查看详细信息,包括流量和连接状态。
热门推荐
历史上后宫曾有三个人用过这个名字,第二位被称为“妖妃”
明朝地方官员品级与现今地方行政级别的对照
婚礼中伴娘服应该穿什么
K-Pop的未来,就这一条路
时速350公里!徐菏高速铁路迎来新进展!沪太线还远吗?
医院管理中的团队协作与沟通技巧
如何展示团队成就
继承遗产房产的价值如何确定
长沙楼市供需矛盾加剧,房价保持稳定
秦国为什么要合纵连横 这个战略是什么意思
如何判断你想考的IT证书值不值得考
封神榜中的家庭传奇:李靖家族与哪吒的故事
鮰鱼和清江鱼哪个营养价值高
三国谋定天下丞相技能有哪几款 丞相角色阵容搭配分享
如何理解板块轮动的规律?这些规律对投资策略有何影响?
港交所将推出每周恒生科技指数期权,对市场有何影响?
幼儿如何快速降温
沙尔克04对阵汉诺威96:一场技术与意志的较量
法国大革命爆发的原因有哪些
登高证人脸识别流程视频:合规与安全并重的法律解读
深入探讨讨价还价理论及其应用技巧
解析均线交叉信号及其在技术分析中的应用
老凤凰黄金戒指:承载千年文化的瑰宝
药品进口许可证办理指南:申报与审批全流程详解
长城雪茄品鉴指南:从外观到口感的全方位解析
银行的理财产品销售话术优化对销售成功率的提升?
檀香紫檀:珍贵红木树种的百科全书
怀孕会对心理健康造成什么影响?
大学里已经出现第一批AI操作员?
盘点历届诺贝尔文学奖