ZeroTier uz lokālo tīklu: UFW maršruta noteikumi, nevis porta atļauja
Atļaut portu vārtejā nav tas pats, kas pārsūtīt uz resursdatoru aiz tās. Iestatiet pārvaldīto maršrutu, iespējojiet tranzītu un izvēlieties atgriešanās ceļu.
Nokļūt līdz printerim biroja lokālajā tīklā caur ZeroTier dalībnieku izklausās pēc viena noteikuma, taču patiesībā tie ir trīs lēmumi trīs dažādās vietās. Pārklājumam jāzina, kur atrodas lokālais tīkls, Linux resursdatoram jābūt gatavam pārsūtīt paketes, un lokālajam tīklam jāzina, kā atbildi nosūtīt atpakaļ. Ienākošais noteikums, kas atver portu vārtejā, neskar nevienu no tiem. Tas ir nepareizais rīks pareizajā resursdatorā.
Trīs darbi, trīs īpašnieki
Pārvaldītais maršruts pieder ZeroTier tīkla konfigurācijai. Tas informē dalībniekus, ka prefikss ir sasniedzams caur konkrētu dalībnieka adresi.
Pārsūtīšana pieder Linux kodolam un tam, kam pieder tā ugunsmūra politika. Tas izlemj, vai pakete, kas ierodas pārklājumā, atkal izies caur fizisko saskarni. Resursdators, kas nepārsūta, pēc pieņemšanas paketi klusi izmetīs. Sūtītājs redz taimautu, un pakalpojuma žurnālā nekas neparādās.
Atgriešanās ceļš pieder lokālajam tīklam. Tā resursdatoriem un maršrutētājam jāzina, ka pārklājuma prefikss ir sasniedzams caur jūsu vārtejas lokālā tīkla adresi, vai arī kaut kam ir jāpārtulko trafiks, lai šis jautājums vispār nerastos.
Jebkurš no tiem var būt pareizs, kamēr pārējie neizdodas, un tāpēc tests, kas tikai pingē vārteju, neko nepierāda par pakalpojumu aiz tās.
Novirziet pārvaldīto maršrutu uz dalībnieku
Pievienojiet maršrutu vajadzīgajam lokālā tīkla prefiksam caur vārtejas pārklājuma adresi, nevis caur tās lokālā tīkla adresi. Pārklājuma adrese ir tā, ko var sasniegt citi dalībnieki; lokālā tīkla adresei ir nozīme tikai uz kabeļa.
Lai risinājums darbotos, dalībniekiem jāpieņem pārvaldītie maršruti, un viņu pašu lokālajos tīklos nedrīkst jau izmantot prefiksu, ko jūs izsludina. Arī attālināts portatīvais dators, kas mājās atrodas 192.168.60.0/24, nevar maršrutēt 192.168.60.0/24 caur pārklājumu.
Turiet izsludināto prefiksu tik šauru, cik uzdevums atļauj. Lielāka apkopojuma izsludināšana, lai ietekmētu prioritāti, var arī pretendēt uz adrešu telpu, kas jums nepieder, un radušais konflikts parādās ierīcēs, kas savienotas ar abiem tīkliem. Tas var arī likt dalībniekam dot priekšroku ceļam, kas nekur neved. Turiet maršrutu godīgu un ļaujiet politikai izdarīt pārējo.
Ierakstiet prefiksu un dalībnieka adresi tajā pašā piezīmē, kur ugunsmūra noteikumi, jo visbiežākā kļūda ir maršruts, kas norāda uz nepareizo dalībnieku.
Iespējojiet tranzītu kodolā
Pirms kaut kā mainīšanas nolasiet pašreizējo pārsūtīšanas vērtību, pēc tam padariet iestatījumu pastāvīgu ar mehānismu, ko jūsu sistēma jau izmanto, nevis ar vienreizēju komandu, kas pazūd pēc pārstartēšanas.
Ja politika pieder UFW, tā maršruta noteikumi izsaka pārsūtīšanu avota, galamērķa un saskarnes pārim. Tie ir atsevišķi no ienākošajiem noteikumiem, kas atver pakalpojumu pašā vārtejā:
sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose
Saskarnes nosaukums ir faktiskā pārklājuma ierīce šajā resursdatorā, ko varat nolasīt ar ip link; tas nav fiksēts virknē visās instalācijās. Ja resursdators pārsūta pēc noklusējuma un UFW nav ceļā, maršruta noteikums tiks ignorēts, un svarīgi ir kodola iestatījumi.
Izvēlieties, kā atgriežas atbildes
Saglabājot avotu, lokālā tīkla pakalpojums redz īsto pārklājuma adresi un atbild uz to. Tas prasa maršrutu lokālajā resursdatorā vai tā maršrutētājā, kas vērš pārklājuma prefiksu uz jūsu vārteju, un tas ir izmaiņas ārpus Linux kastes.
Kad šo maršrutu nevar pievienot, ierobežota avota tulkošana liek pieprasījumam izskatīties tā, it kā tas nāktu no vārtejas lokālajā tīklā. Tad atbildes atgriežas lokāli un lokālā tīkla maršrutēšana nav jāmaina, taču par cenu, ka pakalpojuma žurnālos zūd sākotnējais avots.
Ierobežojiet tulkošanu ar pārklājuma avotu un konkrēto lokālā tīkla galamērķi. Tulkot visu, kas iziet no lokālā tīkla saskarnes, ir plašā versija, kas vēlāk pārsteidz ikvienu, kas lasa noteikumus, un tā arī slēpj trafiku, kas būtu jābloķē.
Neviens no abiem variantiem nepiešķir nepieprasītu piekļuvi no lokālā tīkla atpakaļ uz patvaļīgiem pārklājuma dalībniekiem. Ja to vēlas, tas ir atsevišķs noteikums ar savu pārskatīšanu.
Pārbaudiet no īsta dalībnieka
Pieslēdzieties no cita dalībnieka, nevis no vārtejas, un pieprasiet vienu atļautu pakalpojumu. Pēc tam izmēģiniet pakalpojumu, kuram jāpaliek slēgtam, un atkārtojiet abus testus pēc atkārtotas savienošanas un pēc vārtejas pārstartēšanas.
Dalībnieks, kas ziņo ONLINE, vai veiksmīgs ping uz vārtejas pārklājuma adresi, neapstiprina ne maršrutu, ne pārsūtīšanas noteikumu, ne atgriešanās ceļu:
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
Otrā komanda parāda, kuru saskarni pakete izmantotu lokālajam resursdatoram, bet trešā – vai maršruta noteikums pastāv tādā formā, kā bijāt iecerējis. Ja abi izskatās pareizi, bet pakalpojums joprojām beidzas ar taimautu, atlikušais aizdomās turamais ir atgriešanās ceļš.