0%

FRP内网穿透

FRP内网穿透

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

使用缘由

因为疫情的原因,公司提前休假,在家办公。公司的测试环境还有私服GIT都是在内网下,出于安全考虑,不考虑将GIT仓库移至GITHUB、GITEE等平台。首先想到的解决方案是使用类似花生壳这种内网穿透的服务,但是考虑到服务的收费标准与本司的使用需求相差较大。公司有六、七个端口需要转发,使用期限为一个月左右,而花生壳的套餐是按年付费,且线路数有限制,增加线路另外收费。然后想到了本人在大二时候使用的一个开源的内网穿透的代理应用,比较符合公司的解决方案。

设备环境

  • 一台具有公网ip的服务器

  • N台内网服务器(需要内网穿透的服务器)

系统选型

image-20210117180715013

frp支持的 Linux系统架构
386 X86架构
amd64 amd架构
arm arm架构
arm64 64位arm架构
mips mips架构
mips64 64位mips架构
mipsle mipsle架构
mips64le 64位mipsle架构

查看Linux的系统架构

安装使用

本人搭建的服务端为Centos7.X,系统架构为X86加否;客户端为Windows10,系统架构为amd64。下载解压即可,根据实际需要配置文件即可。下面给一个常用的配置模板,仅供参考。

服务端配置

1
2
3
4
5
6
7
8
9
10
11
12
[common]
bind_port = 7000

# set dashboard_addr and dashboard_port to view dashboard of frps
# dashboard_addr's default value is same with bind_addr
# dashboard is available only if dashboard_port is set
dashboard_addr = 0.0.0.0
dashboard_port = 7500

# dashboard user and passwd for basic auth protect, if not set, both default value is admin
dashboard_user = admin
dashboard_pwd = admin

XX.XX.XX.XX:7500为FRP的监控平台网页,账号密码为admin/admin.image-20210117191328912

bind_port :为FRP 服务器用户接收客户端连接的端口:

启动

这种方式启动的话,将会把日志打印至frp.log下,用户退出该进程任然存在。

1
nohup ./frps -c frps.ini >frp.log 2>&1 &

停止

1
2
3
4
#查找端口为7000的进程
netstat -nlp | grep 7000
#杀死 pid为10263的进程
kill -9 10263

客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[common]
server_addr = XX.XX.XX.XX
server_port = 7000

@Windows 远程桌面
[Test Windows Server Connection]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000

#Liunx ssh
[Test Linux Server Connection ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6002

#Mysql数据库
[Test MySQL Sever jdbc]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6003

server_addr:服务器地址

server_port:服务器端口

local_ip:本地需要暴露到公网的服务地址。客户端网络环境下的ip地址皆可。

local_port:本地需要暴露到公网的服务端口

remote_port:在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

启动

1
frpc.exe -c frpc.ini 
-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道