由ZeroTier提供支持。构建虚拟网络的实用指南。第2部分

Powered by ZeroTier文章中描述的前五个步骤中。构建虚拟网络的实用指南。在第1部分中,我们连接了一个虚拟网络,该虚拟网络包含三个地理上彼此远离的节点。其中一个位于物理网络中,另外两个位于两个隔开的DC中。  


尽管这些节点中的每个节点一次都添加到了网络,但这并不需要花费很多时间。但是,如果ZeroTier虚拟网络不仅需要连接到一个,而且还需要连接到物理网络中的所有节点,该怎么办?当我对组织从虚拟网络到网络打印机和路由器的访问感到困惑时,曾经遇到过这样的问题。 

我尝试使用上述方法-事实证明它并不很快,而且也并不总是那么容易。例如,网络打印机-只是不连接。 Mikrotik-ZeroTier不支持。该怎么办?经过大量的搜索并分析了硬件,我得出的结论是有必要组织一个网桥。

网桥(也网桥来自英语 网桥)-OSI模型第二级的网络设备,旨在将计算机网络的网段(子网)组合为单个网络。

我想在本文中分享我如何做到这一点的故事。 

建造一座桥梁需要多少钱...


首先,作为管理员,我必须决定网络上的哪个节点将充当网桥。研究了这些选项之后,我意识到它可以是任何能够在网络接口之间组织桥梁的计算机设备。它可以是路由器- 运行OpenWRT的设备Teltonika RUT系列设备,也可以是常规服务器或计算机。 

首先,我当然考虑使用带有OpenWRT的路由器。但是考虑到现有的Mikrotik完全适合我的事实,尽管它不支持与ZeroTier集成,并且我真的不想变态和“与手鼓跳舞”,所以我决定使用计算机作为网桥。也就是说,在最新版本的Raspbian(基于Debian Buster的操作系统)下,Raspberry Pi 3 Model B一直连接到物理网络。

为了能够组织网桥,设备上应提供一个未被其他服务使用的网络接口。就我而言,主要的以太网已经在使用中,因此我组织了第二个。为此任务使用基于Realtek RTL8152芯片组的USB以太网适配器。

将适配器连接到空闲的USB端口后,更新并重新引导系统:

sudo apt update && sudo apt upgrade -y
sudo reboot

我检查了系统是否看到USB以太网适配器:

sudo lsusb

分析了数据

Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我很高兴注意到Device 004只是我的适配器。

他进一步指定了哪个网络接口分配给此适配器:

dmesg | grep 8152

[    2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: registered new interface driver r8152
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

原来是eth1 :)并且我已经可以配置它和网桥了。 

我实际上通过遵循以下算法做了什么:

  • 已安装的网桥管理软件包:

    sudo apt-get install bridge-utils
  • 已安装 ZeroTier ONE:
     
    curl -s https://install.zerotier.com | sudo bash
  • 将其连接到现有的ZeroTier网络:

    sudo zerotier-cli join <Network ID>
  • 完成命令以禁用IP地址管理和路由ZeroTier:

    sudo zerotier-cli set <networkID> allowManaged=0

在您的网络控制器上,进一步:

在“ 网络”中,单击“ 详细信息”,找到并单击v4AssignMode链接,并禁用IP地址的自动分配取消选中“ 从IP分配池自动分配复选框


之后,他通过设置名称并注意“ 授权桥”和“ 活动桥”的复选框来授权插件节点我没有分配IP地址。


然后,他返回在节点上配置网桥,为此,他打开了网络接口配置文件以通过终端进行编辑:

sudo nano /etc/network/interfaces

凡添加以下行

auto eth1
allow-hotplug eth1
iface eth1 inet manual

auto br0
allow-hotplug br0
iface br0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
        bridge_ports eth1 ztXXXXXXXX
        bridge_fd 0
        bridge_maxage 0

其中eth1是未分配IP地址的已连接USB以太网适配器。
br0-创建的网桥,并从我的物理网络的地址范围分配了永久IP地址。
ztXXXXXXXX是该命令可识别的ZeroTier虚拟接口的名称:

sudo ifconfig

输入信息后,我保存了配置文件,并使用以下命令重新加载了网络服务:

sudo /etc/init.d/networking restart

为了检查网桥的可操作性,我执行了以下命令:

sudo brctl show   

根据数据-桥梁上升。

bridge name	bridge id		STP enabled	interfaces
br0		8000.00e04c360769	no		eth1
							ztXXXXXXXX

然后我切换到网络控制器来设置路由。

为什么在网络节点列表中单击网桥IP分配链接接下来,在打开的窗口中,单击托管路由。我进入了一个新页面,在其中将0.0.0.0/0表示Target 并将其表示网关 -先前指定的组织网络的地址范围中网桥的IP地址。在我的情况下,192.168.0.10


他确认输入的数据并开始检查节点的网络连接性,从物理网络节点ping虚拟网络中的节点,反之亦然。

就这样!


但是,我不像截取屏幕截图的原型那样,虚拟网络节点的IP地址与物理节点的IP地址在同一范围内。当桥接网络时,这种模型是可能的,主要是它们不会与DHCP服务器分配的地址重叠。

我不会在本文中单独讨论有关在运行MS Windows和其他Linux发行版的节点的一侧设置网桥的文章-Internet上充满了有关此主题的资料。至于网络控制器侧面的设置-与上述相同。

我只想指出,Raspberry PI是一种低成本且方便的工具,可将网络与ZeroTier结合在一起,而不仅仅是作为固定解决方案。例如,外包商可以使用基于Raspberry PI的预先配置的网桥,将服务的客户端的物理网络与基于ZeroTier的虚拟客户端快速组合在一起。

在此,让我结束故事的这一部分。我正在等待问题,反馈和评论-因为正是基于它们,我才能构建下一篇文章的内容。同时,我建议您尝试使用RUVDS 网站上来自市场的私有网络控制器和基于VDS的GUI来组织自己的虚拟网络。此外,所有新客户都可以享受3天的免费试用期!

->介绍 理论部分。用于地球的智能以太网交换机
-> 构建虚拟网络的实用指南。第1部分
-> 虚拟网络构建实用指南。第2部分


All Articles