Домашен VPN сервер или облачен сервер: кој стигнува до вашиот NAS?
Тунелот се крева, но домашниот NAS останува недостапен. Изберете ја локацијата на endpoint според ресурсот што треба да го допрете, па проверете ја рутата.
Тунелот се крева, клиентот покажува зелена точка, а ssh 192.168.1.20 сѐ уште виси додека не истече времето. Токму тоа го доживеав откако изнајмив мал облачен примерок и ставив WireGuard на него: ракување во ред, DNS во ред, а NAS-от на мојата маса исто толку недостапен како да е на Месечината. Со тунелот немаше ништо погрешно. Endpoint-от стоеше во мрежа што нема рута до мојот дом. Локацијата на endpoint-от одлучува кои мрежи се соседни, затоа изберете ја според ресурсот што прв треба да го допрете, а хостингот споредете го второ.
Тунелот стигнува само до мрежите што endpoint-от може да ги рутира
VPN му дава на вашиот клиент адреса во сопствениот домен за рутирање на endpoint-от. Кога клиентот праќа пакет до 192.168.1.20, endpoint-от мора да знае каде оди тој. Табелата на облачен VM ги знае подмрежите на VPC на провајдерот; за вашиот LAN никогаш не слушнала. Поврзано и достапно се два различни факти, а најголемиот дел од забуната меѓу дом и облак доаѓа од земањето на првото како доказ за второто.
Една команда го решава. На endpoint-от ip route get 192.168.1.20 или именува LAN интерфејс, или покажува на стандардната рута. На домашна машина одговорот е страната на LAN. На облачен примерок пакетот излегува кон интернет и умира. Вклучувањето на net.ipv4.ip_forward=1 и додавањето правило MASQUERADE не го менува тоа, бидејќи нема каде да се препрати додека нешто од домашната страна не заврши врска во облакот.
Домашниот случај има втора половина: повратната рута. Пакетите што го напуштаат LAN низ кутијата на тунелот се NAT-уваат, или на LAN му треба статична рута назад кон подмрежата на тунелот. Кога работи само еден правец, проверете sysctl net.ipv4.conf.all.rp_filter. Строгото филтрирање на повратната патека ги отфрла одговорите што пристигнуваат на друг интерфејс од оној што го предвидува рутата, а симптомот изгледа точно како правило на огнен ѕид.
Прочитајте го симптомот пред да ја допрете конфигурацијата
Тунелот не се воспоставува: клучеви, адреса на endpoint-от или блокиран UDP порт. Тунелот е горе, но LAN домаќините се мртви: поставеност и рутирање. Тунелот е горе, но прелистувањето е мртво: препраќање, NAT или DNS. Тоа се три слоја и три различни проверки, а препишувањето на веќе точна конфигурација троши една вечер.
| 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 |
Достапноста од влез кон домот заслужува посебна проверка, бидејќи таа одлучува дали хостингот дома е воопшто можен. Споредете ја WAN адресата што ја пријавува рутерот со адресата што ја гледа надворешен домаќин. Ако таа падне во 100.64.0.0/10, или двете не се совпаѓаат, вие сте зад carrier-grade NAT и ниедно препраќање на порт никогаш нема да работи. Вистинските опции се реле, облачна врска што ѕвони од домот кон надвор, или преместување на endpoint-от.
Што ви дава хостингот дома и колку чини
Домот е единствената поставеност што стандардно е внатре во LAN, и тоа е целата причина да ставите сервер таму. Уредите што одговараат само на локалниот сегмент, како печатачите и административните страници на NAS што ги отфрлаат нелокалните подмрежи, работат без дополнително рутирање. Вие исто така сами управувате со машината, рутерот и горната врска.
Трошоците се физички. Прикачувањето од домот е таванот за сите клиенти одеднаш, затоа видео повикот и резервната копија се натпреваруваат за истата цевка. Струја, абење на дискот, лепенки, динамична адреса што бара DDNS, рутер што мора да препраќа UDP навнатре и евентуално двоен NAT — сето тоа паѓа на вас. Она што луѓето го прескокнуваат е обновувањето: ако кутијата умре додека ве нема, единствениот пат до домот умира заедно со неа. Држете втор уред со истите клучеви или барем план за физички пристап.
Ако сакате пристап до LAN без кутијата дома, изградете врска наместо да се преправате. Облачниот endpoint станува рутер: тунел од домашната страна со AllowedIPs = 192.168.1.0/24 на облачниот peer, плус препраќање и NAT на облачната кутија. Водичот за препраќање на strongSwan ја поминува повратната половина од таа поставеност, и токму таму повеќето од овие обиди пропаѓаат. Домашниот peer сега мора да биде горе за нешто да работи, значи заменивте една зависност со друга и треба да го запишете тоа.
За што всушност служи облачен endpoint
Облачниот endpoint го менува вашиот јавен излез. Сообраќајот излегува од опсегот на адреси на провајдерот, и сајтовите ја гледаат таа адреса наместо домашната. Тоа е вредноста, и затоа облачен VPN не ви го дава NAS-от: го преместивте излезот, не LAN-от.
Сѐ уште ја управувате гостинската система, VPN услугата и нејзините акредитиви, додека провајдерот управува со хипервизорот и физичката мрежа, и оваа поделба е важна кога нешто ќе се расипе во 2 часот наутро. Јавниот endpoint постојано се скенира, затоа држете го портот за управување затворен, дозволете само VPN портот и лепете според распоред. Безбедносните групи и огнените ѕидови на провајдерот мора да го дозволуваат тој порт, а некои облаци го фрлаат препратениот сообраќај ако не ја наместите проверката на извор и одредиште на примерокот.
Мал примерок покрива шака клиенти, но шифрирањето е CPU работа, а burstable примерок што ги потрошил кредитите се однесува нерамномерно под постојан товар. Гледајте ја патеката што навистина ја користите, не листот со спецификации.
Одлука што можете да ја запишете
Задачата ја одредува поставеноста, не етикетата на кутијата. Ако ви треба уред на домашниот LAN, најевтиниот точен одговор е endpoint дома; облачната кутија работи само откако ќе ја изградите повратната врска. Ако ви треба различен јавен излез, одговорот е облак и прашањето за LAN воопшто не се поставува. Да ги сакате двете е легитимно, но значи два endpoint-а, два сета клучеви и две документирани рути.
| 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 |
Проверете од клиентот по ред: ракување, адреса на peer, LAN домаќин, потоа IP на излезот. curl -s https://ifconfig.me покажува што гледа интернетот, а ip route get 192.168.1.20 покажува што мисли endpoint-от. Кога проверката на излезот ќе помине, а проверката на NAS-от виси, одговорот за поставеноста веќе го имате; менувањето на AllowedIPs на клиентот нема да создаде рута. Поделена линија како 10.8.0.0/24, 192.168.1.0/24 ја држи LAN сообраќајот во тунелот само кога таа рута навистина постои.