通过ZeroTier SSH连接内网主机
通过ZeroTier SSH连接内网主机
TCIP通过ZeroTier SSH连接内网主机
一些内网的主机可以访问公网,但是关闭了公网SSH端口。可以通过ZeroTier搭建VPC,让内网主机与client位于同一虚拟局域网中,实现SSH连接。
zerotier官网:https://www.zerotier.com/
官方文档:https://zerotier.atlassian.net/wiki/spaces/SD/overview
1 目的
假设存在网络拓扑如下图:
内网中的主机A有公网访问权限,可以和PC通信。但是由于主机A没有公网IP或ssh
等服务端口不向外网开放(主机A的服务端口只向内网机器开放),导致PC无法使用ssh等工具直接访问主机A。 我们要做的就是通过ZeroTier
给PC、主机A创建一个overlay
内网,忽略underlay
,让PC、主机A以为双方都在同一个局域网内。这样PC就可以用ZeroTier
内网IP来直接访问主机A了。
2 创建一个网络
2.1 创建网络
进入zerotier官网,用邮箱注册一个账号。然后进入网络列表,点击Create A Network按钮创建一个网络.
下方列表中会出现一个网络ID,点击网络ID进入即可这个网络的设置界面。
记住这个网络ID,如图中为a09acf0233953bab
2.2 设置网络
3 加入网络
3.1 安装ZeroTier软件
安卓平台建议使用:ZerotierFix 其他平台直接从官网下载
3.2 Windows
右键点击ZeroTier
托盘图标——Join New Networdk
——输入2.1中你获取的网络ID。本文中是a09acf0233953bab
。点击Join
加入网络。
回到网络设置网页,可以看到Members
多了一个成员。 勾选权限,设置一个名字,便于区分。
3.3 Linux——Ubuntu
3.3.1 安装
输入以下命令在ubuntu中安装zerotier:
| 1
2
3
4
5
6
| curl -s https://install.zerotier.com | sudo bash
## 设置开机自启
sudo systemctl enable zerotier-one
## 启动服务
sudo systemctl start zerotier-one
|
| ———————————————— | ————————————————————————————————————————————————————————— |
卸载命令:
1 2 |
sudo dpkg -P zerotier-one sudo rm -rf /var/lib/zerotier-one/ |
---|
3.3.2 加入网络
运行以下命令并将<NETWORK-ID>
替换为网络ID:
1 |
sudo zerotier-cli join <NETWORK-ID> |
---|
本文中即为:
1 |
sudo zerotier-cli join a09acf0233953bab |
---|
如果连接成功,应打印200 join OK
输出。
同理,回到网络设置网页,可以看到Members
多了一个成员。权限打勾,设置一个名字,便于区分。 记录下主机A的内网IP。本文中为172.22.0.214
。
4 远程连接
4.1 确认网络权限
当你把所有设备都连接到网络中,记得将网络访问权限设置为Private
,以增强安全性。
4.2 远程连接
以Windows连接Ubuntu为例,双方都已启动ZeroTier
并加入同一个网络。 直接ssh主机A的内网IP即可: