
借助Frp搭建内网主机穿透服务
前段时间,机缘巧合下,搞到了一台迷你主机,然后安装了虚拟机,使用了CentOs镜像,目前内部应用都已部署完成,奈何在穿透上,一直没落定,前段时间使用了sakurafrp,用了一段时间,总感觉有时候不太稳定,而且我也不想续费了,想找一款免费的使用,结果看到网友小宋的文章,感觉很合适,就开始动手了。。。
准备工作
- 一台安装了docker的本地主机(客户端服务端全程使用Docker)
- 一台云服务器用于中转(安装过docker)
- 有使用自定义域名,可以提前安装下宝塔或者其他面板。
Frpc服务端
ssh
登录云服务器,切换为root
用户
1 | ### 创建存放目录 |
frps.ini内容如下:
1 | [common] |
上面监听端口和面板端口就不多做解释了,一个是用于接收数据,一个是可视化面板,面板账号密码可以自定义,身份验证token可以自定义,主要用于客户端和服务器验证,还是很重要的。然后配置保存!
执行以下命令,当然配置文件目录可以自定义哈!下面docker命令记着改一下就行。
1 | docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps |
如果没有报错,那么服务端就搭建成功,可以通过服务器IP+7500端口访问了。
如果无法访问,请在云服务防火墙放行7000,7500这两个端口,或者是你自定义的端口(如果你穿透的服务不需要外网监听,只是一些web界面,其实也可以不放行,直接反向代理就好了)。
如果你看到了下面面板界面,那么我们服务端就搭建好了。
Frpc客户端
和上面服务端一样,ssh登录客户端主机,并创建相应文件
1 | ### 创建存放目录 |
配置frpc.ini文件
1 | [common] |
server_addr:云服务器外网ip
[ssh]:只是一个名字,可以自定义哈!
type:根据类型选择配置,大部分都是TCP访问。
local_ip:内网主机ip,由于我使用虚拟机,并配置了静态ip,所以这里指定ip比较好
local_port:内网主机映射的端口(如果需要ssh内网主机,将此端口改为22)
remote_port:云服务器外网端口,需要在防火墙处放开该端口
保存好上述配置,执行以下命令,无报错的话就可以查看Frps的面板了。
1 | docker run --restart=always --network host -d -v /etc/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc |
这时我们就可以通过IP+13001访问到内网宝塔界面了
域名访问
直接使用宝塔进行反向代理,完成域名或SSL访问
- 感谢你赐予我前进的力量