FRP内网穿透小白教程
目录
一、FRP简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
FRP好处是利用内网或防火墙后的机器(例如家用路由器后的192.168段的IP),对外网环境提供http或https服务。对于http和https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供tcp和udp服务,例如在家里通过ssh或者web访问公司内网环境内的主机或者业务进行办公!!
二、服务端
2.1 下载解压
$ wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz # 下载软件 $ mv frp_0.34.3_linux_amd64.tar.gz /opt $ cd /opt $ tar -zxvf frp_0.34.3_linux_amd64.tar.gz $ cd frp_0.34.3_linux_amd64/ # 解压
2.2 配置
服务端配置文件:frps.ini
客户端配置文件:frpc.ini
[common] bind_port = 7000 # 客户端通信端口 vhost_http_port = 54321 # HTTP端口 vhost_https_port = 54322 # HTTPS端口 token = 123456 # 自定义秘钥
2.3 启动
$ ./frps -c ./frps.ini # 临时 $ nohup ./frps -c ./frps.ini & # 后台
2.4 配置为系统服务
$ vim /usr/lib/systemd/system/frps.service #修改配置(这里没有该文件就添加个) [Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的 frps 的实际安装目录) ExecStart=/opt/frp/frps -c /opt/frp/frps.ini [Install] WantedBy=multi-user.target
三、客户端
3.1 windows/Linux/Mac
3.1.1 配置
[common] server_addr = 152.136.170.74 # 公网IP server_port = 7000 # 服务器绑定端口 token = 123456 # 与服务端秘钥一致 [web] type = http local_ip = 127.0.0.1 local_port = 80 remote_port = 54321 custom_domains = 152.136.170.74 # 建议使用域名进行区分 [mysql] type = tcp local_ip = 127.0.0.1 local_port = 3306 remote_port = 54328 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 54329
3.1.2 启动
$ ./frpc -c ./frpc.ini # 临时 $ nohup ./frpc -c ./frpc.ini & # 后台
3.1.3 配置为系统服务
$ vim /usr/lib/systemd/system/frpc.service #修改配置(这里没有该文件就添加个) [Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的 frps 的实际安装目录) ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini [Install] WantedBy=multi-user.target
客户端启动一个web 服务, 使用http://公网IP:54321 进行访问测试!
客户端启动一个mysql服务, 使用 IP:公网IP Port:54328 进行访问测试!
客户端 使用 IP:公网IP Port :54329 进行访问测试!
确认公网IP 远程端口 已放通!
3.2 Dashboard & AdminUI
# Dashboard (服务端配置) [common] dashboard_port = 7002 dashboard_user = admin dashboard_pwd = admin # AdminUI (客户端配置) [common] admin_addr = 127.0.0.1 # 使用内网真实地址 即可访问测试 admin_port = 7400 admin_user = admin admin_pwd = admin
四、总结
使用frp工具有以下优势:
- 利用处于内网或防火墙后的机器,对外网环境提供 HTTP 或 HTTPS 服务。
- 对于 HTTP, HTTPS 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。
具体环境具体利用!!
加油!,隧道篇就到此结束…
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律