Tai neužėmė daug laiko, nors kiekvienas iš šių mazgų buvo įtrauktas į tinklą po vieną. Bet ką daryti, jei prie „ZeroTier“ virtualaus tinklo reikia prijungti ne vieną, bet visus fizinio tinklo mazgus? Su šia užduotimi susidūriau vieną dieną, kai buvau suglumęs dėl prieigos iš virtualaus tinklo prie tinklo spausdintuvo ir maršrutizatoriaus organizavimo.
Bandžiau naudoti aukščiau aprašytą metodą, bet tai nebuvo greita ir ne visur lengva. Pavyzdžiui, tinklo spausdintuvas - jūs negalite jo tiesiog prijungti. Mikrotik - ZeroTier nepalaiko. Ką daryti? Daug googlinęs ir išanalizavęs aparatūrą priėjau išvados, kad reikia organizuoti tinklo tiltą.
Tinklo tiltas (taip pat tiltas iš anglų kalbos tiltas) yra antrojo lygio OSI modelio tinklo įrenginys, skirtas sujungti kompiuterių tinklo segmentus (potinklius) į vieną tinklą.
Šiame straipsnyje noriu pasidalinti istorija, kaip tai padariau.
Kiek mums kainuoja pastatyti tiltą...
Pirmiausia aš, kaip administratorius, turėjau nuspręsti, kuris tinklo mazgas veiks kaip tiltas. Išstudijavus parinktis, supratau, kad tai gali būti bet koks kompiuterio įrenginys, turintis galimybę organizuoti tiltą tarp tinklo sąsajų. Jis gali tapti kaip maršrutizatorius – įrenginys veikia OpenWRT arba RUT serijos įranga iš Teltonikos, taip pat įprastą serverį ar kompiuterį.
Iš pradžių, žinoma, galvojau naudoti maršrutizatorių su OpenWRT. Tačiau atsižvelgiant į tai, kad esamas Mikrotik man visiškai tinka, nors ir nepalaiko integracijos su ZeroTier, o aš tikrai nenoriu iškrypti ir „šokti su tamburinu“, nusprendžiau kompiuterį naudoti kaip tinklo tiltą. Būtent Raspberry Pi 3 Model B nuolat prijungtas prie fizinio tinklo, kuriame veikia naujausia Raspbian versija, OS, pagrįsta Debian Buster.
Kad būtų galima organizuoti tiltą, įrenginyje turi būti viena tinklo sąsaja, kurios nenaudoja kitos paslaugos. Mano atveju pagrindinis Ethernet jau buvo naudojamas, todėl suorganizavau antrą. Šiai užduočiai naudokite USB-Ethernet adapterį, pagrįstą RTL8152 mikroschemų rinkiniu iš Realtek.
Prijungę adapterį prie laisvo USB prievado, atnaujinę ir paleidę sistemą iš naujo:
Patikrinau, ar sistema mato USB eterneto adapterį:
sudo lsusb
Išanalizavus gautus duomenis
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
Man buvo malonu pastebėti, kad įrenginys 004 yra tik mano adapteris.
Toliau paaiškinau, kuri tinklo sąsaja priskirta šiam adapteriui:
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
Tai paaiškėjo eth1 🙂 Dabar galiu sukonfigūruoti jį ir tinklo tiltą.
Ką aš iš tikrųjų padariau, tai sekiau toliau pateiktą algoritmą:
Vykdė komandą, kad išjungtų ZeroTier IP adresą ir maršruto valdymą:
sudo zerotier-cli set <networkID> allowManaged=0
Toliau savo tinklo valdiklyje:
В Tinklai spustelėjo detalė, rado ir sekė nuorodą v4AssignMode ir išjungė automatinį IP adresų priskyrimą panaikindami žymės langelio žymėjimą Automatinis priskyrimas iš IP priskyrimo telkinio
Po to prijungtą mazgą įgaliojau nustatydamas pavadinimą ir pažymėdamas žymimuosius laukelius Įgaliotas и Aktyvus tiltas. Aš nepriskyriau IP adreso.
Tada jis grįžo prie tinklo tilto nustatymo mazge, kuriam atidarė tinklo sąsajos konfigūracijos failą, skirtą redaguoti per terminalą:
kur eth1 — prijungtas USB eterneto adapteris, kuriam nebuvo priskirtas IP adresas. br0 - kuriamas tinklo tiltas su nuolatiniu IP adresu, priskirtu iš mano fizinio tinklo adresų diapazono. ztXXXXXXXXX — „ZeroTier“ virtualios sąsajos pavadinimas, kurį atpažino komanda:
sudo ifconfig
Įvedęs informaciją, išsaugojau konfigūracijos failą ir iš naujo įkėliau tinklo paslaugas komanda:
sudo /etc/init.d/networking restart
Norėdami patikrinti tilto funkcionalumą, paleidau komandą:
sudo brctl show
Pagal gautus duomenis tiltas pakilo.
bridge name bridge id STP enabled interfaces
br0 8000.00e04c360769 no eth1
ztXXXXXXXX
Tada perjungiau į tinklo valdiklį, kad nustatyčiau maršrutą.
Kodėl sekiau nuorodą tinklo mazgų sąraše? IP priskyrimas tinklo tiltas. Tada atsidariusiame lange spustelėkite Tvarkomi maršrutai. Nuėjau į naują puslapį, kur as Taikinys nurodė 0.0.0.0 / 0, ir kaip Vartai - tinklo tilto IP adresas iš anksčiau nurodyto organizacijos tinklo adresų diapazono. Mano atveju 192.168.0.10
Jis patvirtino įvestus duomenis ir pradėjo tikrinti mazgų tinklo ryšį, ping virtualiojo tinklo mazgą iš fizinio tinklo mazgo ir atvirkščiai.
Tai viskas!
Tačiau skirtingai nuo prototipo, iš kurio buvo padarytos ekrano kopijos, virtualaus tinklo mazgų IP adresai yra iš to paties diapazono kaip ir fizinio mazgų IP adresai. Sujungiant tinklus šis modelis yra įmanomas, svarbiausia, kad jie nesutaptų su DHCP serverio platinamais adresais.
Šiame straipsnyje atskirai nekalbėsiu apie tinklo tilto nustatymą pagrindinio kompiuterio pusėje, kuriame veikia MS Windows ir kiti Linux platinimai – internete pilna medžiagos šia tema. Kalbant apie nustatymus tinklo valdiklio pusėje, jie yra identiški aukščiau aprašytiems.
Tik noriu pažymėti, kad Raspberry PI yra nebrangus ir patogus įrankis jungiantis tinklus su ZeroTier, o ne tik kaip stacionarus sprendimas. Pavyzdžiui, užsakovai gali naudoti iš anksto sukonfigūruotą tinklo tiltą, pagrįstą Raspberry PI, kad greitai sujungtų aptarnaujamo kliento fizinį tinklą su virtualiais, pagrįstais ZeroTier.
Leiskite užbaigti šią istorijos dalį. Laukiu klausimų, atsakymų ir komentarų, nes būtent jų pagrindu kursiu kito straipsnio turinį. Tuo tarpu siūlau pabandyti organizuoti savo virtualų tinklą naudojant privatų tinklo valdiklį su GUI, pagrįstu VDS iš prekyvietės Dabar naršo RUVDS. Be to, visi nauji klientai turi nemokamą 3 dienų bandomąjį laikotarpį!