Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2

В процеса на първите пет стъпки, описани в статията Създадено от ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1 обединихме виртуална мрежа три географски отдалечени възли. Един от които се намира в физическа мрежа, два други — в два отдалечени центрове за данни.  

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2
Не отне много време, въпреки че всеки от тези възли е добавян в мрежата един по един. А какво да правим, ако за виртуалната мрежа ZeroTier трябва да се свържат не един, а всички възли, намиращи се във физическата мрежа? Такъв въпрос ми възникна веднъж, когато се заех с организацията на достъпа от виртуалната мрежа до мрежовия принтер и маршрутизатора. 

Опитах се да използвам описания по-горе метод — не се получи бързо и не навсякъде е просто. Например, мрежовият принтер — просто така не можеш да свържеш. Mikrotik — ZeroTier не поддържа. Какво да правим? След много търсене и анализ на материята, стигнах до извода, че трябва да организирам мрежов мост.

Мрежов мост (също така бридж от английски bridge) — мрежово устройство от второ ниво на модела OSI, предназначено за обединяване на сегменти (подмрежи) на компютърната мрежа в единна мрежа.

С историята как го направих, искам да споделя в тази статия. 

Какво ни струва, мост да построим…

Първо, като администратор, трябваше да се определя — кой възел в мрежата ще играе ролята на бридж. Изучавайки вариантите, осъзнах, че може да бъде всяко компютърно устройство, което има възможност за организиране на мост между мрежовите интерфейси. То може да бъде както маршрутизатор — устройство управлявано от OpenWRT или оборудване от серията RUT на компанията Teltonika, така и обикновен сървър или компютър. 

В началото, разбира се, разглеждах възможността за използване на маршрутизатор с OpenWRT на борда. Но като се има предвид, че съществуващият Mikrotik напълно ме удовлетворява, макар и да не поддържа интеграция с ZeroTier, а да се мъча и да "играя с бубна" не ми се иска, реших да използвам компютър като мрежов мост. А именно, постоянно свързан към физическата мрежа Raspberry Pi 3 Model B, работещ с последната версия на Raspbian — ОС на базата на Debian Buster.

За да организирате мост, устройството трябва да има наличен един неизползван мрежови интерфейс от други услуги. В моя случай основният Ethernet вече беше зает, затова организирах втори. Използвах USB-Ethernet адаптер, базиран на чипсета RTL8152 от Realtek за тази задача.

След като свързах адаптера към свободен USB порт, обнових и рестартирах системата:

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

проверих дали системата разпознава USB Ethernet адаптера:

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: Ново USB устройство намерено, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: регистриран нов интерфейсен драйвър 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
  • Изпълних командата за изключване на управлението на IP адресите и маршрутите ZeroTier:
    sudo zerotier-cli set  allowManaged=0

След това на своя мрежов контролер:

В Networks кликнах на детайли, намерих и отидох по линка v4AssignMode и изключих автоматичното назначаване на IP адреси, като свалих отметката от чекбокса Auto-assign from IP Assignment Pool

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2
След това авторизирах свързания възел, задавайки име и отбелязвайки чекбоксите Удостоверен и Активен мост. IP адрес не назначавах.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2
После се върнах към настройката на мрежовия мост на възела, за което отворих за редактиране файла с конфигурация на мрежовите интерфейси чрез терминал:

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
        gateway 192.168.0.1
        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 — свързаният USB Ethernet адаптер, за който не назначавах IP адрес.
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 assignment мрежовия мост. След това в отворения прозорец кликнах Managed routes. Преминах на нова страница, където като Цел посочи 0.0.0.0/0, а като Gateway — IP адресът на мрежовия мост от диапазона адреси на организацията, зададен по-рано. В моя случай 192.168.0.10

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2
Потвърдих въведените данни и започнах да проверявам мрежовата свързаност на узлите, пингвайки от узел на физическата мрежа към узел на виртуалната и обратно.

Ето всъщност и всичко!

При мен, обаче, за разлика от прототипа, от който са направени скрийншотите, IP адресите на узлите на виртуалната мрежа са от същия диапазон като IP адресите на узлите в физическата. При мостово свързване на мрежи тази схема е възможна, важното е да не се припокриват с адресите, раздавани от DHCP сървъра.

По конфигурирането на мрежовия мост от страната на узела, управляван от MS Windows и други дистрибуции на Linux, няма да говоря отделно в тази статия — в Интернет има много материал по тази тема. Що се отнася до настройките от страна на мрежовия контролер — тя е идентична на описаната по-горе.

Искам само да отбележа, че Raspberry PI е бюджетен и удобен инструмент при свързването на мрежи с ZeroTier, като не само за стационарно решение. Например, аутсорсите могат да използват предварително настроен мрежов мост на базата на Raspberry PI за бързо свързване на физическата мрежа на обслужвания клиент с виртуалните на базата на ZeroTier.

С това ще завърша тази част от повествованието. Очаквам въпроси, коментари и отзиви — защото именно на тяхна база ще изградя съдържанието на следващата статия. А засега ви предлагам да опитате да организирате собствена виртуална мрежа с помощта на частен мрежов контролер с GUI на базата на VDS от маркетплейса на сайта RUVDS. Освен това всички нови клиенти имат право на безплатен тестов период — 3 дни!

-> Въведение. Теоретична част. Интелигентен Ethernet-комутатор за планетата Земя
-> Практическо ръководство по изграждане на виртуални мрежи. Част 1
-> Практическо ръководство по изграждане на виртуални мрежи. Част 2

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 2

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster