FRP内网穿透
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
使用缘由
因为疫情的原因,公司提前休假,在家办公。公司的测试环境还有私服GIT都是在内网下,出于安全考虑,不考虑将GIT仓库移至GITHUB、GITEE等平台。首先想到的解决方案是使用类似花生壳这种内网穿透的服务,但是考虑到服务的收费标准与本司的使用需求相差较大。公司有六、七个端口需要转发,使用期限为一个月左右,而花生壳的套餐是按年付费,且线路数有限制,增加线路另外收费。然后想到了本人在大二时候使用的一个开源的内网穿透的代理应用,比较符合公司的解决方案。
设备环境
一台具有公网ip的服务器
N台内网服务器(需要内网穿透的服务器)
系统选型
frp支持的 | Linux系统架构 |
---|---|
386 | X86架构 |
amd64 | amd架构 |
arm | arm架构 |
arm64 | 64位arm架构 |
mips | mips架构 |
mips64 | 64位mips架构 |
mipsle | mipsle架构 |
mips64le | 64位mipsle架构 |
安装使用
本人搭建的服务端为Centos7.X,系统架构为X86加否;客户端为Windows10,系统架构为amd64。下载解压即可,根据实际需要配置文件即可。下面给一个常用的配置模板,仅供参考。
服务端配置
1 | [common] |
XX.XX.XX.XX:7500
为FRP的监控平台网页,账号密码为admin/admin
.
bind_port
:为FRP 服务器用户接收客户端连接的端口:
启动
这种方式启动的话,将会把日志打印至frp.log
下,用户退出该进程任然存在。
1 | nohup ./frps -c frps.ini >frp.log 2>&1 & |
停止
1 | #查找端口为7000的进程 |
客户端配置
1 | [common] |
server_addr
:服务器地址
server_port
:服务器端口
local_ip
:本地需要暴露到公网的服务地址。客户端网络环境下的ip地址皆可。
local_port
:本地需要暴露到公网的服务端口
remote_port
:在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
启动
1 | frpc.exe -c frpc.ini |