[linux]frp内网穿透
前言
假设有如下网络拓扑
A可以访问B,但B无法访问A。A和B都能访问C。如果B需要访问A的8000端口,一般有如下方法:
- 网络管理员做路由转发。硬件层面网络转发,性能一般来说更好,但需要熟悉路由配置。
- 用C作为代理,基于frp实现内网穿透。配置更灵活,网络管理员无介入或低介入。
部署frp服务端
- 系统:centos 7
- 下载地址:GitHub - fatedier/frp - Release
- 登录主机C
- 下载linux-amd64版的压缩包
- 解压
tar xf frp_0.44.0_linux_amd64.tar.gz -C /home/apps/
- 启动。如果是公司内网环境,直接用默认配置即可。默认端口为7000,需要保证该端口不冲突。有防火墙的话需要开一下该端口。
cd /home/apps/frp_0.44.0_linux_amd64
nohup ./frps -c ./frps.ini > app.log 2>&1 &
部署frp客户端
- 系统:windows 10
- 下载地址:GitHub - fatedier/frp - Release
- 在主机A下载windows版的压缩包并解压
- 编辑配置文件
frpc.ini
[common]
server_addr = 192.168.30.10
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 8000
remote_port = 6000
common 里为代理人主机C的IP,ssh里为本地配置, remote_port为主机C的端口,需要保证主机C的6000端口没有被占用
- cmd里启动
.\frpc.exe -c .\frpc.ini
测试
主机B访问主机C的6000端口,查看是否正常打开。
参考
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/16612457.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)