Linux教程

[linux]frp内网穿透

本文主要是介绍[linux]frp内网穿透,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

假设有如下网络拓扑

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

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

部署frp服务端

  • 系统:centos 7
  • 下载地址:GitHub - fatedier/frp - Release
  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客户端

  • 系统:windows 10
  • 下载地址:GitHub - fatedier/frp - Release
  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端口,查看是否正常打开。

参考

  • FRP官方文档 - 通过ssh访问内网
这篇关于[linux]frp内网穿透的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!