La celo estas racia: nur uzantoj de la tunelo devus atingi la servojn sur ĉi tiu maŝino. La efektivigo, al kiu homoj etendas la manon, estas enira ĉeno IPv6, kiu forĵetas ĉion krom WireGuard, kaj tio ankaŭ forĵetas la trafikon, kiu tenas la gastiganton ligita al sia propra ligilo. Najbara malkovro kaj bontenaj mesaĝoj de la vojo ne estas servo-aliro, kaj forigi ilin produktas maŝinon neatingeblan pro kialoj senrilataj al via politiko. La tunelo ekfunkcias, la servoj estas ĝuste limigitaj, kaj nenio alia sur la ligilo funkcias.

Tri respondecoj, unu regulkompleto

La unua respondeco estas la funkciado de la ekstera reto: la gastiganto devas resti sur sia ligilo, solvi najbarojn kaj lerni la limojn de la vojo de tiu ligilo. La dua estas la ĉifrita aŭskultanto, kiu akceptas UDP sur la adreso kaj pordo, kiujn vi elektis. La tria estas la aro de malĉifritaj servoj, kiujn vi volas, ke uzantoj de la tunelo atingas.

Tiuj estas tri malsamaj politikoj, kaj nur la dua kaj la tria temas pri la VPN. Regulkompleto, kiu traktas ilin kiel unu, heredas fiaskmanieron, en kiu plistreĉigo de la aplikaĵa limo silente rompas la ligitecon de la gastiganto.

Tenu ilin en apartaj ĉenoj aŭ almenaŭ apartaj komentoj, por ke la sekva persono vidu, kiu linio ekzistas pro kiu kialo.

Kion ICMPv6 faras por la gastiganto

IPv6 fidas je ICMPv6 por multe pli ol eĥo. Najbara peto kaj anonco anstataŭas ARP kaj necesas por loka livero. Packet Too Big portas informon pri MTU de la vojo, kaj ignori ĝin produktas transigojn, kiuj haltas ĉe grandaj pakaĵoj. Anoncoj de enkursigilo portas la defaŭltan vojon kaj prefiksan informon, kiam la ligilo uzas aŭtomatan agordon.

RFC 4890 apartigas la mesaĝojn, kiujn filtro de gastiganto devas permesi, de tiuj, kiuj estas administra elekto, kaj faras tion en sekcio por gastiganto malsama ol la reguloj por enkursigilo, kiu plusendas inter retoj. Legi nur la plusendan sekcion produktas eniran politikon tro striktan por la gastiganto, kiun ĝi protektas.

La praktika regulo estas permesi la esencajn erarajn kaj agordajn mesaĝojn sur la interfaco, kiu bezonas ilin, limigitaj laŭ tipo kaj fonto, kie la platformo permesas, kaj eksplicite decidi pri la resto.

Anstataŭigi ĉion tion per ĝenerala permeso de ICMPv6 solvas la disponeblecproblemon kaj rezignas la filtradon. Anstataŭigi ĝin per ĝenerala forĵeto solvas la filtradproblemon kaj rezignas la gastiganton.

Enlasu la tunelon, poste la servon

Akceptu la transporton WireGuard sur la celita ekstera adreso kaj UDP-pordo, kaj akceptu la reenan trafikon per spurrado de konektoj. Poste permesu la aplikaĵajn servojn tra la tunela interfaco, el la fontoj, kiujn vi efektive rajtigas.

Permeso por la ekstera UDP-pordo ne rajtigas la malĉifritajn petojn ene de ĝi. Tiu distingo estas la tuta kialo, kial la tunela interfaco aperas en la servaj reguloj.

Legu la regulkompleton tiel, kiel ĝi estas, ne tiel, kiel la dosiero priskribas ĝin:

sudo nft list ruleset
ip -6 addr show
ip -6 route show default

Aŭskultanto sur fizika adreso estas aparta elmeto de la sama servo sur la tunela adreso. Se la maŝino ankaŭ plusendas trafikon al alia maŝino, tio estas decido de plusenda ĉeno, ne ĉi tiu enira politiko, kaj ĝi bezonas sian propran rezonadon.

Testu la ligilon, ne nur la tunelon

Funkcianta tunelo post la ŝanĝo pruvas malpli, ol ĝi ŝajnas, ĉar ekzistanta najbara ero kaj establita konekto povas kaŝi kontrolmesaĝon, kiun la politiko nun forĵetas.

Kontrolu la ligitecon rekte, poste kontrolu, ke la ekskludita vojo ankoraŭ fiaskas:

ip -6 neigh show
ping -6 -c 3 2001:db8:1::1
sudo nft -c -f /etc/nftables.conf

Najbara tabelo, kiu restas kompleta post restartiĝo, estas la signo, ke malkovro ankoraŭ funkcias. Tabelo, kiu malpleniĝas kaj neniam repleniiĝas, estas la signo, ke vi filtris ĝin. La tria komando validigas la sintakson de la regulkompleto sen apliki ĝin, kio indas fari, dum vi ankoraŭ havas sesion.

Rehavu gastiganton, el kiu vi ŝlosis vin

Antaŭ ol ŝanĝi fajroŝirmilajn regulojn, kiuj portas vian propran administran sesion, tenu duan kanalon: konsolon, serian konekton aŭ planitan retroversion, kiu forigas la novajn regulojn, se vi ne nuligos ĝin.

Se ŝanĝo tamen ŝlosas vin eksteren, la rehavo okazas per tiu kanalo kaj ne per la reto, kiun vi ĵus forigis. Restarigu la antaŭan regulkompleton el konservita kopio, konfirmu, ke la gastiganto denove estas atingebla, kaj nur poste aplikadu la celitan politikon en pli malgrandaj pecoj.

La fina politiko ne estas universala. Adresado, enkursigado kaj efektivigo de la fajroŝirmilo estas enigaĵoj de la deplojo, sed la limo samas ĉie: rifuzu neintencitan aplikaĵan aliron, dum vi konservas la kontrolan trafikon, kiu portas la rajtigitan tunelon.

Rilataj artikoloj