在短短的一年时间中,项目上需要使用内网穿透的次数就达到了5次,所以作为一个彩笔运维我觉得还是有必要记录一下:
首先需要知道什么是内网穿透:
内网是内部建立的局域网络或办公网络,外网是通过一个网关或网桥与其他网络系统连接,相对于自己的内网来说,其他网络系统称为外网。
内网穿透即NAT穿透,在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。通过映射端口,让外网的电脑找到处于内网的电脑。
内网穿透动态域名解析服务,简称NAT-DDNS,是一种基于动态域名服务(DDNS)和网络地址转换(NAT)的服务器内外网动态映射方法。
说了这么多也不知道你明白没如果没有看明白,那么简单一点 。
就是通过外网访问你个人或者公司的内部资源。
准备工作: 你需要有一个可以使用的外网服务器 linux 或者 windows, windowsserver都可以,因为我们需要使用它做载体,但是 他必须要能够互联网访问
那现在我来假设两个服务器 001(拥有互联网资源重点 :该服务器配备了固定IP)002(内部资源服务器)
002是我们之间通过互联网无法访问的 尤其是在 疫情期间 很多人在家办公需要访问公司的内部资源
具体步骤 :
首先下载对应系统的FRP压缩包地址:
https://github.com/fatedier/frp/releaseshttps://github.com/fatedier/frp/releases
- 下载到对应的目录后解压缩
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哈哈~
原文链接:https://blog.csdn.net/m0_62755018/article/details/122079805