公有云通过frp实现点对点安全访问内网服务器

目录

参考

第一步:公有云服务器上配置frps

1、上传frp到公有云服务器

2、解压frp压缩包

3、修改frps配置文件

4、设置和启动frps服务

5、配置云主机服务器安全组

6、 验证frp服务器端配置

第二步:公有云服务器上配置frpc

1、修改frpc配置文件

 2、设置和启动frpc服务

3、设置安全组

第三步:内网服务器上配置frpc

1、上传frp到内网服务器(同第一步公有云服务器操作)

2、解压frp压缩包(同第一步公有云服务器操作)

3、修改frpc配置文件

4、设置和启动frpc服务

5、测试


意义

IPV4公网地址非常昂贵,大量的租用云主机价格也不菲。所以可以用少量的公有云资源与本地服务器组网,共同对外提供服务。公有云上的云主机提供前端服务和需要高可靠性的服务,而大量的worker服务则可以放在本地机房。

本方案就通过frp实现了前端在云上,后端在本地的web服务。

参考

文档 | frp

使用frp配置内网访问(穿透)教程(超详细,简单)_Lisen’s blog-CSDN博客_frp内网穿透

第一步:公有云服务器上配置frps

1、上传frp到公有云服务器

公有云服务器需要有EIP,记下这个IP地址,用于替代后续所有出现xxx.xxx.xxx.xxx的地方

winscp上传frp_0.38.0_linux_amd64.tar.gz到root目录

2、解压frp压缩包

tar -zxvf frp_0.38.0_linux_amd64.tar.gz
frp_0.38.0_linux_amd64/
frp_0.38.0_linux_amd64/frpc_full.ini
frp_0.38.0_linux_amd64/frps.ini
frp_0.38.0_linux_amd64/frps_full.ini
frp_0.38.0_linux_amd64/LICENSE
frp_0.38.0_linux_amd64/frpc
frp_0.38.0_linux_amd64/systemd/
frp_0.38.0_linux_amd64/systemd/frps@.service
frp_0.38.0_linux_amd64/systemd/frpc.service
frp_0.38.0_linux_amd64/systemd/frps.service
frp_0.38.0_linux_amd64/systemd/frpc@.service
frp_0.38.0_linux_amd64/frpc.ini
frp_0.38.0_linux_amd64/frps

cd frp_0.38.0_linux_amd64/

3、修改frps配置文件

vim frps.ini

[common]
# frp监听端口
bind_port = 31000
# 授权码
token = 52010
# 这个token之后在客户端会用到

# frp管理后台端口,请按自己需求更改
dashboard_port = 31001
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

4、设置和启动frps服务

mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
systemctl enable frps
systemctl start frps

5、配置云主机服务器安全组

6、 验证frp服务器端配置

访问:http://服务器IP:后台管理端口” ,输入用户名和密码可以查看连接状态
如:http://xxx.xxx.xxx.xxx:31001/,用户名和密码分别对应frps.ini文件中的dashboard_user和dashboard_pwd
登录之后界面如下:

到此,云主机服务器上的配置完成了一小半。

有云云主机还要访问内网服务器,所以,云主机还需要配置frpc。 

第二步:公有云服务器上配置frpc

1、修改frpc配置文件

vim frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 31000
token = 52010

[secret_web_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = secret_web
sk = abcdefg
# 绑定本地端口用于访问 ssh 服务
bind_addr = 127.0.0.1
bind_port = 8080

 2、设置和启动frpc服务

cp frpc.ini /etc/frp
cp frpc /usr/bin
cp systemd/frpc.service /usr/lib/systemd/system/
systemctl enable frpc
systemctl start frpc

3、设置安全组

如果云主机没有代开8080端口,需要添加安全组

第三步:内网服务器上配置frpc

1、上传frp到内网服务器(同第一步公有云服务器操作)

2、解压frp压缩包(同第一步公有云服务器操作)

3、修改frpc配置文件

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 31000
token = 52010

[secret_web] 
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg 
local_ip = 127.0.0.1
local_port = 8080

4、设置和启动frpc服务

cp frpc.ini /etc/frp
cp frpc /usr/bin
cp systemd/frpc.service /lib/systemd/system/
systemctl enable frpc
systemctl start frpc

注意:这个地方cp frpc.service的目标目录有变化,我的内网服务器版本跟云主机不完全一样

5、测试

在内网服务器上启动web服务

在公有云服务器上curl

curl http://127.0.0.1:8080/runner/v1/status

在控制台上看到如下提示:

[GIN-debug] Listening and serving HTTP on :8080
[GIN] 2021/11/26 - 00:00:18 | 200 |     180.153µs |       127.0.0.1 | GET      "/runner/v1/status"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值