代理服务器-FRP内网穿透&内网映射

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。

前面我不是购买了2台服务器吗,都是放在家里的,如果在外面想用的时候不是很方便。同理如果是公司内网的测试服务器,也需要远程访问,正常的公司或者家里一般都没有固定公网的能力,所以默认情况下是无法访问的。

当然市面上也有类似花生壳的内网穿透工具,但是他是有流量限制(免费版),当然目前市面还有一类产品就是厂商提供的NAS,也具有内网穿透能力。只是他只能访问到NAS的内容。

一、FRP 内网穿透的核心原理

FRP(Fast Reverse Proxy) 是一个开源的高性能反向代理工具,通过将内网服务映射到公网服务器(FRPS 服务端),实现外网用户访问内网资源(如网站、数据库、远程桌面等)。他需要有一个具有公网能力的服务器才可以实现,结合新用户在各大云厂商基本上只有几十块就可以买1年。

  • FRPS(服务端):部署在公网服务器(如云主机),负责转发外部请求到内网客户端。

  • FRPC(客户端):部署在内网设备,向服务端注册服务(如 HTTP、TCP 端口),建立隧道连接。

二、FRP 内网穿透的部署

FRPS(服务端)

#下载并解压
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
tar xvf frp_0.60.0_linux_amd64.tar.gz
vi frps.ini 

[common]

#监听端口,客户端连接需要
bind_port = 9527       

max_pool_count = 50

#和客户端保证一致 
token = xxxxxxxx			
tcp_mux = true

log_file = /usr/local/frp/frps.log
log_level = info
log_max_days = 3

authentication_timeout = 0
privilege_mode = true


#具体以现场路径为准 
/usr/local/frp/frps -c /usr/local/frp/frps.ini

​​​​​​​

FRPC(客户端)

同样参考服务端的方式进行下载解压,注意配置文件的名字。​​​​​​​

vi frpc.ini

[common]

#服务器的ip和端口,云服务器需要注意端口放通安全组 
server_addr = xx.xx.xx.xx  
server_port = 9527


#token和服务器保持一致 
token = xxxxxx
tcp_mux = true

log_file = /usr/local/frp/frpc.log
log_level = info
log_max_days = 3
authentication_timeout = 0 
# 服务器与客户端时间相差15min会连接失败,0表示不验证

# 添加ssh节点 
# 这里就是本地的服务端口和远程服务器的端口 
[ssh]							
type = tcp
local_ip = 192.168.31.198
local_port = 22
remote_port = 9528
#具体路径以现场未准
/usr/local/frp/frpc -c /usr/local/frp/frpc.ini

​​​​​​​

简单点来说,这样配置以后,本地的192.168.31.198服务器的22端口就会通过公网服务器9528端口暴露出去,我们通过连接到服务器9528端口(注意安全组)就可以连接到我们内网的ssh端口。

这里我映射的TCP的流量,实际上它还可以映射HTTP的流量(也就是可以通过域名访问到内网的服务器)。

特别注意:内网映射以后,公网就可以访问到你的服务器,所以需要考虑安全因素,当然我也没什么重要数据,下面2条是我采用的安全措施,可供参考。

  1. 本地ssh服务,启用证书,关闭密码登录。

  2. 远程服务器9528端口只允许我自己的IP通过。

  3. 远程服务器的本身的安全是另外的配置。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值