Atingi printilon en la oficeja loka reto tra ZeroTier-ano sonas kiel unu regulo, sed fakte ĝi estas tri decidoj en tri malsamaj lokoj. La surtavola reto devas scii, kie estas la loka reto, la Linux-gastiganto devas esti preta plusendi pakaĵojn, kaj la loka reto devas scii, kiel sendi la respondon reen. Enira regulo, kiu malfermas havenon sur la pordego, tuŝas neniun el tiuj. Ĝi estas la malĝusta ilo sur la ĝusta gastiganto.

Tri taskoj, tri posedantoj

La administrita vojo apartenas al la agordo de la ZeroTier-reto. Ĝi diras al la anoj, ke prefikso estas atingebla tra certa ana adreso.

Plusendo apartenas al la Linux-kerno kaj al tiu, kiu posedas ĝian fajroŝirman politikon. Ĝi decidas, ĉu pakaĵo alveninta sur la surtavola reto denove eliros tra la fizika interfaco. Gastiganto, kiu ne plusendas, silente forĵetos la pakaĵon post ĝia akcepto. La sendanto vidas tempolimon kaj nenio aperas en la serva protokolo.

La reena vojo apartenas al la loka reto. Ĝiaj gastigantoj kaj ĝia kursigilo devas scii, ke la surtavola prefikso estas atingebla tra la loka adreso de via pordego, aŭ io devas traduki la trafikon tiel, ke la demando neniam ekestu.

Ĉiu el tiuj povas esti ĝusta dum la aliaj malsukcesas, kaj tial testo, kiu nur pingsas la pordegon, pruvas nenion pri la servo malantaŭ ĝi.

Direktu la administritan vojon al la ano

Aldonu vojon por la celata loka prefikso tra la surtavola adreso de la pordego, ne tra ĝia loka adreso. La surtavola adreso estas tiu, kiun aliaj anoj povas atingi; la loka adreso havas sencon nur sur la kablo.

La anoj devas akcepti administritajn vojojn por ke la projekto funkciu, kaj iliaj propraj lokaj retoj ne jam uzu la prefikson, kiun vi anoncas. Fora tekkomputilo, kiu hejme estas sur 192.168.60.0/24, ankaŭ ne povas kursigi 192.168.60.0/24 tra la surtavola reto.

Tenu la anoncitan prefikson tiel mallarĝa, kiel la tasko permesas. Anonci pli grandan agregacion por influi preferon ankaŭ povas postuli adresan spacon, kiun vi ne posedas, kaj la rezulta konflikto aperas sur la aparatoj, kiuj konektiĝas al ambaŭ retoj. Ĝi ankaŭ povas igi anon preferi vojon, kiu kondukas nenie. Tenu la vojon honesta kaj lasu la politikon fari la reston.

Skribu la prefikson kaj la anan adreson en la saman noton kiel la fajroŝirmaj reguloj, ĉar la plej ofta misfunkcio estas vojo direktita al la malĝusta ano.

Ŝaltu trairon en la kerno

Legu la kurantan plusendan valoron antaŭ ol ŝanĝi ion ajn, poste daŭrigu la agordon per la mekanismo, kiun via sistemo jam uzas, ne per unufoja komando, kiu malaperas ĉe relanĉo.

Se UFW posedas la politikon, ĝiaj vojaj reguloj esprimas plusendon por paro de fonto, celo kaj interfaco. Tiuj estas apartaj de la eniraj reguloj, kiuj malfermas servon sur la pordego mem:

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

La nomo de la interfaco estas la fakta surtavola aparato sur tiu gastiganto, kiun vi povas legi per ip link; ĝi ne estas fiksa ĉeno en ĉiuj instalaĵoj. Se la gastiganto plusendas defaŭlte kaj UFW ne estas en la vojo, la voja regulo estos ignorita kaj la kernaj agordoj estas tio, kio gravas.

Elektu, kiel la respondoj revenas

Kun fonta konservado, la loka servo vidas la veran surtavolan adreson kaj respondas al ĝi. Tio postulas vojon sur la loka gastiganto aŭ sur ĝia kursigilo, kiu direktas la surtavolan prefikson al via pordego, kaj tio estas ŝanĝo ekster la Linux-skatolo.

Kiam tiu vojo ne povas esti aldonita, limigita fonta traduko igas la peton aspekti, kvazaŭ ĝi venis de la pordego en la loka reto. Tiam la respondoj revenas loke kaj neniu ŝanĝo de loka kursigado necesas, kontraŭ la prezo perdi la originan fonton en la servaj protokoloj.

Limigu la tradukon al la surtavola fonto kaj la specifa loka celo. Traduki ĉion, kio forlasas la lokan interfacon, estas la larĝa versio, kiu poste surprizas ĉiun, kiu legas la regulojn, kaj ĝi ankaŭ kaŝas trafikon, kiu devus esti blokita.

Neniu el la du elektoj donas nepetitan aliron de la loka reto reen al arbitraj surtavolaj anoj. Se tio estas dezirata, ĝi estas aparta regulo kun sia propra revizio.

Testu de vera ano

Konektiĝu de alia ano, ne de la pordego, kaj petu unu permesitan servon. Poste provu servon, kiu devus resti fermita, kaj ripetu ambaŭ testojn post rekonekto kaj post relanĉo de la pordego.

Ano, kiu raportas ONLINE, aŭ sukcesa ping al la surtavola adreso de la pordego, ne validigas la vojon, la plusendan regulon aŭ la reenan vojon:

zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered

La dua komando montras, kiun interfacon la pakaĵo uzus por la loka gastiganto, kaj la tria montras, ĉu la voja regulo ekzistas en la formo, kiun vi intencis. Se ambaŭ aspektas ĝustaj kaj la servo ankoraŭ tempolimas, la reena vojo estas la restanta suspektato.

Rilataj artikoloj