记录一次 在公网使用FRP内网穿透开源软件,通过SSH连接内网服务器
2020.4.3
因为在笔记本虚拟机中搭建环境,公司的电脑用,自己的笔记本也用,想在家用笔记本连接公司内网却连接不上,就想有没有一种工具能在我笔记本上直接连接公司内网服务器。各种百度,于是内网穿透名词出现。
搜索了一下,比较出名的是什么花生壳,啥的。。有一款叫FRP的内网穿透开源软件,其中的一种配置功能可以实现连接远程内网虚拟机,但,条件是需要我有一个云服务器。
什么意思勒?
就是我在家,用我的云服务器做一个跳板,通过登录运行安装FRPS服务的云服务器,就能SSH连接带有FPRC客户端的公司的内网服务器,这原本是不可能的。如图,,
但是在云服务器上安装FRP,执行FRPS服务,本地虚拟机安装FRP执行FRPC服务,就可以通过云服务器远程SSH连接你想要连接的内网
安装部署特别简单(提醒自己记得云服务器端口开放,selinux等)
================
环境:
1.笔记本虚拟机
CentOS7.6
内网IP:192.168.124.26
2.云服务器
CentOS8.1
公网IP:118.89.x.x
========================
FRP简介:https://github.com/fatedier/frp/blob/master/README_zh.md
FRP下载:https://github.com/fatedier/frp/releases
FRP支持Linux,MacOS,Windows
由于我的环境全是centos,在客户端,服务端都下载的Linux的版本
服务端云服务器操作:
[root@queen opt]# tar -xzvf frp_0.32.1_linux_amd64.tar.gz -C /usr/local/
解压完成后给目录改名改名frp,
看下目录:
其中,frps是服务端运行时需要的命令文件,frps.ini服务端是配置文件,这里看下frps.ini:
没有更改配置,默认,,
后台运行FRPS,
[root@queen frp]# nohup ./frps -c frps.ini > frps.log &
看下我已经启动过得日志frps.log,显示success表示成功启动
客户端操作,一样解压,配置内网的frpc.ini配置文件,
[common]
server_addr = 你自己服务器端ip(公网ip)
server_port = 7000 #对应服务器配置中的端口
[ssh] ##此位置的ssh必须是可变的,如公网通过下面设置的端口6000连接到此客户端,下次连接其他客户端的端口为6001,但是6001所在的配置不能是ssh,要换一个名称,如ssh1
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 #公网服务器连接时指定的端口,每台客户端具有唯一性(需开放公网端口)
[remote]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6001 #同上
后台启动FRPC,
[root@localhost frp]# nohup ./frpc -c frpc.ini > frpc.log &
看下启动日志:,,有success表示成功
-------------------------------
登录配置好的云服务器,开始连接虚拟机内网,
完成
在服务端添加如下可在web界面查看相关信息:
[common]
bind_port = 7000
dashboard_port = 6005
dashboard_user = admin
dashboard_pwd = admin
界面风格: