[linux]frp内网穿透

前言

假设有如下网络拓扑

A可以访问B,但B无法访问A。A和B都能访问C。如果B需要访问A的8000端口,一般有如下方法:

  • 网络管理员做路由转发。硬件层面网络转发,性能一般来说更好,但需要熟悉路由配置。
  • 用C作为代理,基于frp实现内网穿透。配置更灵活,网络管理员无介入或低介入。

部署frp服务端

  1. 登录主机C
  2. 下载linux-amd64版的压缩包
  3. 解压
tar xf frp_0.44.0_linux_amd64.tar.gz -C /home/apps/
  1. 启动。如果是公司内网环境,直接用默认配置即可。默认端口为7000,需要保证该端口不冲突。有防火墙的话需要开一下该端口。
cd /home/apps/frp_0.44.0_linux_amd64
nohup ./frps -c ./frps.ini > app.log 2>&1 &

部署frp客户端

  1. 在主机A下载windows版的压缩包并解压
  2. 编辑配置文件 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端口没有被占用

  1. cmd里启动
.\frpc.exe -c .\frpc.ini

测试

主机B访问主机C的6000端口,查看是否正常打开。

参考

posted @ 2022-08-22 12:47  花酒锄作田  阅读(143)  评论(0编辑  收藏  举报