手把手教你内网穿透,实现外网主机访问内网服务器
手把手教你内网穿透,实现外网主机访问内网服务器
背景:课题组成员都有自己的账号,且能通过内网访问服务器,进行远程连接了。我们知道内网中的主机可以访问公网的主机,反之不可以访问。那么如果课题组成员在家不在内网区域内,如何通过ssh连接服务器呢,这就需要内网穿透。
一、内网穿透原理
内网穿透是一种让内网主机能够被外网主机访问的技术。其基本原理是在内网和外网之间建立一个中转通道,使得外网主机可以通过这个通道访问内网主机。常见的内网穿透技术包括VPN、SSH隧道、反向代理等。
二、内网穿透实现
2.1 登录zerotier创建一个网络
1. 进入zerotier管理网页
访问ZeroTier官网,如果没有账号需要先注册一个。
2. 创建一个网络
课题组的一个成员创建即可。
3. 给该网络自定义一个名字
2.2 内网服务器端安装配置zerotier
1. 安装zerotier
在服务器终端执行以下命令安装zerotier(以Ubuntu为例):
curl -s https://install.zerotier.com | sudo bash
安装成功后会显示:Success!You are ZeroTier address [当前设备的ID].
注意!需要记住这个当前设备的ID,这个ID就是我们服务器的ID
如果后续想更新该软件,可以执行下面命令:
sudo apt install zerotier-one
2. 加入网络
使用命令将服务器连接到我们之前在zerotier中创建的网络编号(网络ID),如果连接成功会显示 200 join OK
sudo zerotier-cli join 网络ID
3. 将zerotier配置为开机自启动
sudo systemctl enable zerotier-one.service
4. 查看当前连接的网络
执行下面命令查看当前连接的网络,如果列表中出现Network ID、Name 说明连接成功,也会显示IP
sudo zerotier-cli listnetworks
5. 断开之前加入的网络
如果想断开之前加入的网络,进行下面操作,成功则返回200 leave OK
sudo zerotier-cli leave 网络ID
2.3 外网设备加入到网络
1. 外网设备下载安装zerotier
访问ZeroTier官网下载页面,每个课题组成员下载并安装zerotier,安装完成后会在右下角显示这个图标。
2. 加入之前创建的网络
点击zerotier的图标,选择Join New Network-->输入之前2.1zerotier管理网页创建的网络ID
3. 访问测试
在zerotier管理网页中可以看到三个设备加入成功,接下来就可以互相访问了,外网的设备就可以访问内网的服务器了,只不过ssh连接的时候需要输入的是自己主机对应的Managed IPs,如果能成功连接,说明内网穿透成功!