使用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管理界面查看详细信息,包括流量和连接状态。
热门推荐
一斤酒等于多少毫升?详解酒的重量与体积换算
数字营销行业岗位就业前景及职业发展路径分析
深入解析 Node.js:基础知识、适用范围与前景展望
学会向别人道歉的技巧
向日葵怎么养
微创手术的优势和应用范围
淡季机票价格大跳水,热门目的地同比下降7%,部分低于高铁价
家有萌宠 | 小猫咪到底能不能喝奶?
胎压过高和过低,哪种对轮胎伤害更大?90%车主都错了!
淘宝卖假货可以几倍赔偿?处罚的最新规定是什么?
三月春光好,研学正当时 贵州这些研学目的地,你想去哪个?
为了长高 他们竟敲断自己的腿
保证金比例调整对期货交易有哪些影响?
重塑杏仁核:从脑科学的角度做好情绪管理
美国遗产税豁免额与税收政策全解析
西递村:千年古村落里的"桃花源"
佩戴已故亲人遗留玉饰的习俗与忌讳:全面指南与注意事项
后山:乾卦:开拓创新的力量和勇于进取的精神
紫藤的寓意和象征
Node.js 优缺点以及应用场景
装修甲醛多久才能释放干净
最低注册资本要求的公司有哪些?法律解读与实务分析
揭秘银饰首饰厂家的生产流程与质量把控
浅析唐朝经营西域的行政管理、民族政策和文化影响
汉字趣谈:馬(746)
孔子:真正厉害的人,往往都“君子不器”,“器”是什么呢?
航空航天工程专业的未来发展方向-就业前景和就业方向解读
哥布林升职记:从邪恶小喽啰到动画主角
股市二级市场的运作机制是怎样的?二级市场对整个股市有何影响?
揭秘:为何肥料会“烧”伤植物?