实现目的:
通过公网阿里云服务器远程到公司的业务内网服务器,实现远程运维
配置步骤如下
A机:公网环境 centos8.2系统
B机:内网环境 centos7.4系统
**
A机配置:
**
#下载fru包
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz
tar -zxvf frp_0.22.0_linux_amd64.tar.gz
cd frp
查看一下文件
ls -a
我们只需要关注如下几个文件
frps
frps.ini
frpc
frpc.ini
前两个文件(s结尾代表server)分别是服务端程序和服务端配置文件,后两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。
因为我们正在配置服务端,可以删除客户端的两个文件
rm frpc
rm frpc.ini
然后修改frps.ini文件
vim frps.ini
这个文件应有如下格式
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 10080
vhost_https_port = 10443
-
“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
-
“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500
(其中x.x.x.x为VPS的IP)查看frp服务运行信息。 -
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
-
“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
-
“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。
-
编辑完成后保存(vim保存如果不会请自行搜索)。
之后我们就可以运行frps的服务端了
./frps -c frps.ini
如果看到屏幕输出这样一段内容,即表示运行正常,如果出现错误提示,请检查上面的步骤。
2019/01/12 15:22:39 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2019/01/12 15:22:39 [I] [service.go:172] http service listen on 0.0.0.0:10080
2019/01/12 15:22:39 [I] [service.go:193] https service listen on 0.0.0.0:10443
2019/01/12 15:22:39 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500
2019/01/12 15:22:39 [I] [root.go:210] Start frps success
此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面
服务端后台运行
至此,我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。
nohup后台程序管理或关闭相关命令可自行查询资料,上面这个连接中也有所提及。
**
nohup ./frps -c frps.ini &
**
输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'
此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序
jobs
在结果中我们可以看到frps正在后台正常运行
[1]+ Running nohup ./frps -c frps.ini &
此时访问 x.x.x.x:7500 依然可以打开仪表板界面,至此,服务端即设置完成,你可以关闭SSH窗口了。
B机配置(客户端)
B机同样下载fru包,解压并cd
vi frpc.ini
内容如下
[common]
server_addr = 101.132.148.245 #公网ip
server_port = 7000 #A机端口
token=12345678 #A机token值
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7001
后台运行程序命令
nohup ./frps -c frps.ini &
**
A机测试连接
**
命令如下
ssh -o Port=7001 root@101.132.148.245