快速优雅的实现内网穿透(FRP)

在短短的一年时间中,项目上需要使用内网穿透的次数就达到了5次,所以作为一个彩笔运维我觉得还是有必要记录一下:

首先需要知道什么是内网穿透:

       内网是内部建立的局域网络或办公网络,外网是通过一个网关或网桥与其他网络系统连接,相对于自己的内网来说,其他网络系统称为外网。

       内网穿透即NAT穿透,在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。通过映射端口,让外网的电脑找到处于内网的电脑。

        内网穿透动态域名解析服务,简称NAT-DDNS,是一种基于动态域名服务(DDNS)和网络地址转换(NAT)的服务器内外网动态映射方法。

说了这么多也不知道你明白没如果没有看明白,那么简单一点 。
就是通过外网访问你个人或者公司的内部资源。

准备工作: 你需要有一个可以使用的外网服务器 linux  或者   windows, windowsserver都可以,因为我们需要使用它做载体,但是 他必须要能够互联网访问

那现在我来假设两个服务器  001(拥有互联网资源重点  :该服务器配备了固定IP)002(内部资源服务器)

002是我们之间通过互联网无法访问的 尤其是在 疫情期间 很多人在家办公需要访问公司的内部资源 

具体步骤 :

首先下载对应系统的FRP压缩包地址:

https://github.com/fatedier/frp/releasesicon-default.png?t=LA92https://github.com/fatedier/frp/releases

  1. 下载到对应的目录后解压缩

 

 

2文件下授权

3我这里服务器端和客户端都放在了/usr/local/frp/目录下

4# 服务器端给执行文件添加权限

cd /usr/local/frp sudo chmod 777 frps

#客户端给执行文件添加权限 

cd /usr/local/frp sudo chmod 777 frpc

修改001配置文件

公网服务器端:

# 打开服务器端配置文件

vim ./frps.ini

# 我的填写内容如下:

[common]

bind_port = 7000         # 服务端与客户端通信端口

dashboard_port = 7500    # 后台管理端口

dashboard_user = admin   # 后台登录用户名

dashboard_pwd = admin

vhost_http_port = 7002   # http穿透端口

vhost_https_port = 7003  # https穿透端口

max_pool_count = 50

token = aaa123 # 身份验证令牌,frpc要与frps一致

tcp_mux = true

log_file = /usr/local/frp/frps.log  # 日志相关

log_level = info

log_max_days = 3

authentication_timeout = 0  # 服务器与客户端时间相差15min会连接失败,0表示不验证

subdomain_host = test.xyz   # 注册的域名

privilege_mode = true

注意:访问的端口一定要开放

启动frps:

# 前台启动

./frps -c ./frps.ini

# 后台启动

./frps -c ./frps.ini &

启动成功后,可以访问后台管理界面(这里举例地址:www.nosql.xyz:7500)( 会让输入用户名密码在配置文件里面frps.ini)

 

配置002客户端:

客户端(内网主机):

# 打开客户端配置文件

vim ./frpc.ini

# 我的填写内容如下:

[common]

server_addr = 10.10.xxx.xxx  # 公网服务器ip

server_port = 7000    # 公网服务端通信端口

token = aaa123 # 令牌,与公网服务端保持一致

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.xxx.xxx

local_port = 22

remote_port = 7001 # 指明由公网服务器的7001端口代理

[web01] # 添加web节点

type = http

local_ip = 192.168.xxx.xxx

local_port = 80 # 本地8080端口可以通公网服务器7002端口访问,这里我的80跑着项目

subdomain = web01 # 自定义子域名

启动frpc

# 前台启动

./frpc -c ./frpc.ini

# 后台启动

./frpc -c ./frpc.ini &

测试web01节点:

请求地址:http://web01.nosql.xyz:7002 能访问到内网的项目首页

需要说明的是 如果需要多个映射的端口那么你只需要增加对应的ssh节点即可 其他的不需要改动

在此预祝你成功。

你都看到这里了 你不点个赞嘛 谢谢小哥哥小姐姐O(∩_∩)O哈哈~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值