手动部署内网穿透

一. 什么是内网穿透

内网穿透是一种技术,它能让处于内网(比如家庭网络或企业内部网络)中的设备,在不直接暴露于公网的情况下,通过一些特殊的设置和工具,让外部网络中的设备也能访问到内网中的设备或服务。

打个比方,你家就像一个内网,家里的电脑、手机等设备组成了这个内网中的 “小世界”。通常情况下,这些设备通过家里的路由器连接到互联网,但它们在互联网上是隐藏的,外部的人无法直接访问你家设备上的东西。

现在,假设你在家里搭建了一个私人的照片分享网站,只希望让一些特定的朋友能访问到这个网站,查看你分享的照片。但因为你家的设备在内网,朋友们从外面的互联网无法直接访问到。这时候,你就可以使用内网穿透技术。通过在内网穿透平台上进行一些设置,你可以获得一个公网的地址(就好像给你家的照片分享网站在互联网上开了一个 “窗口”),然后把这个地址告诉朋友们,他们就能通过这个地址访问到你家里的照片分享网站了,就像这个网站直接放在互联网上一样,这就是内网穿透的作用。

二. 部署内网穿透的步骤

1.下载frp https://github.com/fatedier/frp/releases/tag/v0.58.1

在这里插入图片描述

2.下载Watt Toolkit https://steampp.net/

避免访问github时过慢,可以下载这个软件用来加速。
在这里插入图片描述

三.测试

1. ssh的远程登陆

(1)所需设备

需要一台虚拟机作为被远程登陆的客户端,准备一台有公有ip的云服务用来做为服务端。

(2)将下好的压缩包包直接导入虚拟机与云服务器

在这里插入图片描述
在这里插入图片描述

(3) tar -xzf 解压压缩包

用tar -xzf + 压缩包名字 解压.tar.gz文件,获取蓝色的文件,内部自带服务端frps(服务端)与frpc(客户端)的可执行程序。

(4) 改变服务端 提供 listen端口

  1. vim frps.toml
    在这里插入图片描述
    这里可以随便改,也可以不改,改成8888方便记忆。

(5)启动服务端可执行程序

输入命令 ./frps -c frps.toml
这里要带 -c 才使用配置文件运行 才会使用到自己设置的端口号8888作为 listen套接字获取连接
在这里插入图片描述

(6)修改被远程登陆客户端配置文件

vim frpc.toml
在这里插入图片描述
将remotePort 改为8081端口(该端口为服务端8081号端口,用来映射自己的私有Ip端口),连接的服务端地址改成 服务器 的公有ip,服务端端口改为修改好的8888端口。

(7) 启动被远程登陆客户端可执行程序

./frpc -c frpc.toml

在这里插入图片描述
此时可以看到服务器有一条新的消息,服务器8081号端口被启动了。
在这里插入图片描述

(8)此时再用xshell启用一个客户端 只不过端口改为8081号端口

在这里插入图片描述
点击确定 再 连接
在这里插入图片描述
此时该客户端已经远程登陆上了我们的虚拟机了。
我们可以用Xshell上的客户端 进入 Desktop 文件 touch 一个文件,此时远程的虚拟机桌面上就会多出一个自己所 touch 出来的文件。

在这里插入图片描述
在这里插入图片描述
此时就完成了 远程登陆 测试模块。

2. nginx远程访问

1. 安装一个nginx代理服务器

sudo yum install nginx # centos 安装
sudo apt install nginx # ubuntu 安装
#启动
$ nginx
#暂停
# nginx -s stop

安装好后启动
在这里插入图片描述

2. 启动后查看nginx所使用到的端口号

这里可以看到nginx所使用的端口是80号端口,此时在虚拟机客户端修改frpc.toml配置文件
在这里插入图片描述
再添加一个字段 对应 服务器的8082号端口。
nginx 首页默认 apt 安装之后,首页是:/var/www/html/XXX(index.nginx-debian.html)
在这里插入图片描述
此时这里使用到了http服务,我们用浏览器浏览 服务器公有Ip 加 8082端口号 即可看到 Nginx 所提供的http服务了。
在这里插入图片描述
由于我修改了 .html 文件所以界面就是这个样子,正常的华一般是 hello Nginx 的界面。

四.将客户端与服务端放置后台运行

nohup ./frpc -c ./frpc.toml &> /dev/null &
nohup ./frps -c ./frps.toml &> /dev/null &

&> /dev/null:这是重定向操作,用于将命令的标准输出(stdout)和标准错误(stderr)都重定向到/dev/null。/dev/null 是一个特殊的设备文件,向它写入的内容都会被丢弃,读取它则会立即返回文件结束。因此,这个操作的作用是忽略命令的所有输出信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值