Namų VPN serveris ar debesijos serveris: kuris pasiekia jūsų NAS?
Tunelis pakyla, bet namų NAS lieka nepasiekiamas. Pasirinkite endpoint vietą pagal išteklių, kurį turite pasiekti, ir tada patikrinkite maršrutą.
Tunelis pakyla, klientas rodo žalią tašką, ir ssh 192.168.1.20 vis tiek kabo, kol baigiasi laikas. Būtent tai patyriau išsinuomojęs mažą debesijos instanciją ir įdiegęs joje WireGuard: rankos paspaudimas tvarkingas, DNS tvarkingas, o NAS ant mano stalo toks nepasiekiamas, tarsi būtų Mėnulyje. Su tuneliu viskas buvo gerai. Endpoint stovėjo tinkle, kuriame nėra maršruto į mano namus. Endpoint vieta lemia, kurie tinklai yra gretimi, todėl rinkitės ją pagal išteklių, kurį reikia pasiekti pirmiausia, o hostingą lyginkite antra.
Tunelis pasiekia tik tuos tinklus, kuriuos endpoint gali maršrutizuoti
VPN suteikia klientui adresą endpointo pačio maršrutizavimo domene. Kai klientas siunčia paketą į 192.168.1.20, endpoint turi žinoti, kur jis eina. Debesijos VM lentelė žino teikėjo VPC potinklius; apie jūsų LAN ji niekada negirdėjo. Prisijungta ir pasiekiama yra du skirtingi faktai, o didžioji namų ir debesijos painiavos dalis kyla pirmąjį laikant antrojo įrodymu.
Viena komanda tai išsprendžia. Endpointe ip route get 192.168.1.20 arba nurodo LAN sąsają, arba rodo numatytąjį maršrutą. Namų kompiuteryje atsakymas yra LAN pusė. Debesijos instancijoje paketas išeina į internetą ir žūva. Įjungimas net.ipv4.ip_forward=1 ir MASQUERADE taisyklės pridėjimas to nepakeičia, nes nėra ko persiųsti, kol kažkas namų pusėje neužbaigia jungties į debesiją.
Namų atvejis turi antrą pusę: grįžimo kelią. Paketai, paliekantys LAN per tunelio dėžę, patenka į NAT, arba LAN reikia statinio maršruto atgal į tunelio potinklį. Kai veikia tik viena kryptis, patikrinkite sysctl net.ipv4.conf.all.rp_filter. Griežtas atvirkštinio kelio filtravimas išmeta atsakymus, kurie ateina per kitą sąsają nei numato maršrutas, ir simptomas atrodo lygiai kaip ugniasienės taisyklė.
Perskaitykite simptomą prieš liesdami konfigūraciją
Tunelis nesusikuria: raktai, endpoint adresas arba užblokuotas UDP prievadas. Tunelis pakilo, bet LAN mazgai mirę: vieta ir maršrutizavimas. Tunelis pakilo, bet naršymas miręs: persiuntimas, NAT arba DNS. Tai trys sluoksniai ir trys skirtingi patikrinimai, o jau teisingos konfigūracijos perrašymas praranda vakarą.
| Symptom | First suspect | Check |
|---|---|---|
| Handshake fails, no transfer | Keys, endpoint port, UDP blocked | wg show, then the port from outside |
| Peer pings, LAN host times out | No route to the LAN | ip route get on the endpoint |
| Tunnel up, name resolution fails | DNS options in the peer config | Resolve a name from the client |
| Large transfers reset the connection | MTU | Lower the tunnel MTU and retry |
Įeinantis pasiekiamumas iš namų nusipelno atskiro patikrinimo, nes jis nusprendžia, ar hostingas namuose apskritai įmanomas. Palyginkite WAN adresą, kurį praneša maršrutizatorius, su adresu, kurį mato išorinis mazgas. Jei jis patenka į 100.64.0.0/10 arba abu nesutampa, esate už operatoriaus NAT ir joks prievado persiuntimas niekada neveiks. Tikros galimybės yra relė, debesijos jungtis, kuri skambina iš namų į išorę, arba endpoint perkėlimas.
Ką duoda hostingas namuose ir kiek kainuoja
Namai yra vienintelė vieta, kuri pagal nutylėjimą yra LAN viduje, ir tai yra visa priežastis ten laikyti serverį. Įrenginiai, kurie atsako tik lokaliame segmente, pavyzdžiui, spausdintuvai ir NAS administravimo puslapiai, atmetantys nelokalinius potinklius, veikia be papildomo maršrutizavimo. Mašiną, maršrutizatorių ir jungtį taip pat valdote patys.
Išlaidos yra fizinės. Namų įkėlimas yra visų klientų lubos vienu metu, todėl vaizdo skambutis ir atsarginė kopija varžosi dėl tos pačios vamzdžio. Elektra, disko susidėvėjimas, pataisos, dinaminis adresas, kuriam reikia DDNS, maršrutizatorius, kuris turi persiųsti UDP į vidų, ir galbūt dvigubas NAT — visa tai krenta ant jūsų. Ko žmonės praleidžia, tai atkūrimas: jei dėžė miršta, kai jūsų nėra, jūsų vienintelis kelias į namus miršta kartu. Laikykite antrą įrenginį su tais pačiais raktais arba bent fizinės prieigos planą.
Jei norite LAN prieigos be dėžės namuose, statykite jungtį, o ne apsimeskite. Debesijos endpoint tampa maršrutizatoriumi: tunelis iš namų pusės su AllowedIPs = 192.168.1.0/24 debesijos peer, plius persiuntimas ir NAT debesijos dėžėje. strongSwan persiuntimo vadovas apžvelgia grįžimo pusę tos konfigūracijos, ir būtent ten žlunga dauguma šių bandymų. Namų peer dabar turi būti gyvas, kad kas nors veiktų, taigi vieną priklausomybę iškeitėte į kitą ir turėtumėte tai užsirašyti.
Kam iš tikrųjų skirtas debesijos endpoint
Debesijos endpoint keičia jūsų viešą išėjimą. Srautas išeina iš teikėjo adresų diapazono, ir svetainės mato tą adresą, o ne namų. Tai ir yra vertė, ir todėl debesijos VPN neduoda jums NAS: jūs perkėlėte išėjimą, o ne LAN.
Jūs vis dar valdote svečio sistemą, VPN paslaugą ir jos prisijungimo duomenis, o teikėjas valdo hipervizorių ir fizinį tinklą, ir šis padalijimas svarbus, kai kas nors sugenda 2 valandą nakties. Viešas endpoint nuolat skenuojamas, todėl laikykite valdymo prievadą uždarytą, leiskite tik VPN prievadą ir diekite pataisas pagal grafiką. Saugumo grupės ir teikėjo ugniasienės turi leisti tą prievadą, o kai kurios debesys išmeta persiųstą srautą, jei instancijoje nesureguliuosite šaltinio ir paskirties tikrinimo.
Maža instancija padengia saują klientų, bet šifravimas yra CPU darbas, o kreditus išnaudojusi burstable instancija elgiasi netolygiai esant nuolatinei apkrovai. Žiūrėkite į kelią, kurį iš tikrųjų naudojate, o ne į specifikacijos lapą.
Sprendimas, kurį galite užsirašyti
Vietą nulemia užduotis, o ne etiketė ant dėžės. Jei jums reikia įrenginio namų LAN, pigiausias teisingas atsakymas yra endpoint namuose; debesijos dėžė veikia tik po to, kai pastatote grįžimo jungtį. Jei jums reikia kito viešo išėjimo, atsakymas yra debesija ir LAN klausimas net nekyla. Norėti abiejų yra teisėta, bet tai reiškia du endpointus, du raktų rinkinius ir du dokumentuotus maršrutus.
| What you need | Endpoint location | What else must exist |
|---|---|---|
| Reach a NAS or printer on the home LAN | A box on that LAN | Port forward or relay, DDNS, recovery plan |
| Browse from an exit unrelated to home | Cloud instance | Firewall and egress rules, patching |
| Both, reliably | Two endpoints, or cloud plus a link home | Separate keys, routes, documented failure modes |
Tikrinkite iš kliento iš eilės: rankos paspaudimas, peer adresas, LAN mazgas, tada išėjimo IP. curl -s https://ifconfig.me rodo, ką mato internetas, o ip route get 192.168.1.20 rodo, ką mano endpoint. Kai išėjimo patikrinimas praeina, o NAS patikrinimas kabo, atsakymą apie vietą jau turite; AllowedIPs keitimas kliente maršruto nesukurs. Padalinta eilutė, tokia kaip 10.8.0.0/24, 192.168.1.0/24 saugo LAN srautą tunelyje tik tada, kai tas maršrutas tikrai egzistuoja.