Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 2

У працэсе першых пяці крокаў, апісаных у артыкуле Powered by 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: 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-адрасоў, зняўшы адзнаку з чэк-бокса Auto-assign from IP Assignment Pool

Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 2
Пасля гэтага аўтарызаваў які падключаецца вузел, задаўшы назву і адзначыўшы чэк-боксы. упаўнаважаны и Active Bridge. 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 сеткавага маста. Далей у адчыненым акне клікнуў Managed routes. Перайшоў на новую старонку, дзе ў якасці Мэта паказаў 0.0.0.0 / 0, а ў якасці Шлюз - 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

Дадаць каментар