VPN sa home LAN

VPN sa home LAN

Tl; DR: Nag-i-install ako ng Wireguard sa isang VPS, kumonekta dito mula sa aking home router sa OpenWRT, at ina-access ang aking home subnet mula sa aking telepono.

Kung pinapanatili mo ang iyong personal na imprastraktura sa isang home server o may maraming mga IP-controlled na device sa bahay, malamang na gusto mong magkaroon ng access sa mga ito mula sa trabaho, mula sa bus, tren at metro. Kadalasan, para sa mga katulad na gawain, ang IP ay binili mula sa provider, pagkatapos kung saan ang mga port ng bawat serbisyo ay ipinapasa sa labas.

Sa halip, nag-set up ako ng VPN na may access sa aking home LAN. Ang mga pakinabang ng solusyon na ito:

  • aninaw: Pakiramdam ko ay nasa tahanan ako sa anumang pagkakataon.
  • Ang pagiging simple: itakda ito at kalimutan ito, hindi na kailangang mag-isip tungkol sa pagpapasa ng bawat port.
  • Π¦Π΅Π½Π°: Mayroon na akong VPS; para sa mga ganoong gawain, ang modernong VPN ay halos libre sa mga tuntunin ng mga mapagkukunan.
  • katiwasayan: walang lumalabas, maaari mong iwan ang MongoDB nang walang password at walang magnanakaw ng iyong data.

Gaya ng dati, may mga downsides. Una, kakailanganin mong i-configure ang bawat kliyente nang hiwalay, kasama ang bahagi ng server. Maaaring hindi maginhawa kung mayroon kang malaking bilang ng mga device kung saan mo gustong mag-access ng mga serbisyo. Pangalawa, maaaring mayroon kang LAN na may parehong saklaw sa trabaho - kakailanganin mong lutasin ang problemang ito.

Kailangan namin ang:

  1. VPS (sa aking kaso sa Debian 10).
  2. OpenWRT router.
  3. Numero ng telepono.
  4. Home server na may ilang serbisyo sa web para sa pagsubok.
  5. Straight arms.

Ang VPN technology na gagamitin ko ay Wireguard. Ang solusyon na ito ay mayroon ding mga kalakasan at kahinaan, hindi ko ilalarawan ang mga ito. Para sa VPN gumagamit ako ng subnet 192.168.99.0/24, at sa aking bahay 192.168.0.0/24.

configuration ng VPS

Kahit na ang pinakakaawa-awa na VPS para sa 30 rubles sa isang buwan ay sapat na para sa negosyo, kung ikaw ay sapat na mapalad na magkaroon ng isa mang-agaw.

Ginagawa ko ang lahat ng mga operasyon sa server bilang ugat sa isang malinis na makina; kung kinakailangan, magdagdag ng `sudo` at iakma ang mga tagubilin.

Walang oras ang Wireguard para dalhin sa stable, kaya nagpapatakbo ako ng `apt edit-sources` at nagdagdag ng mga backport sa dalawang linya sa dulo ng file:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

Ang package ay naka-install sa karaniwang paraan: apt update && apt install wireguard.

Susunod, bumubuo kami ng isang key pares: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Ulitin ang operasyong ito nang dalawang beses pa para sa bawat device na kalahok sa circuit. Baguhin ang landas sa mga pangunahing file para sa isa pang device at huwag kalimutan ang tungkol sa seguridad ng mga pribadong key.

Ngayon inihahanda namin ang config. Upang mag-file /etc/wireguard/wg0.conf nakalagay ang config:

[Interface] Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

Sa seksyon [Interface] ang mga setting ng makina mismo ay ipinahiwatig, at sa [Peer] β€” mga setting para sa mga kumonekta dito. SA AllowedIPs na pinaghihiwalay ng mga kuwit, ang mga subnet na iruruta sa katumbas na peer ay tinukoy. Dahil dito, ang mga kapantay ng "client" na device sa VPN subnet ay dapat may mask /32, lahat ng iba pa ay iruruta ng server. Dahil ang home network ay iruruta sa OpenWRT, sa AllowedIPs Idinaragdag namin ang home subnet ng kaukulang peer. SA PrivateKey ΠΈ PublicKey mabulok ang pribadong key na nabuo para sa VPS at ang mga pampublikong key ng mga peer nang naaayon.

Sa VPS, ang natitira na lang ay patakbuhin ang command na maglalabas ng interface at idagdag ito sa autorun: systemctl enable --now wg-quick@wg0. Maaaring suriin ang kasalukuyang katayuan ng koneksyon gamit ang command wg.

OpenWRT Configuration

Ang lahat ng kailangan mo para sa yugtong ito ay nasa luci module (OpenWRT web interface). Mag-log in at buksan ang tab na Software sa menu ng System. Ang OpenWRT ay hindi nag-iimbak ng cache sa makina, kaya kailangan mong i-update ang listahan ng mga magagamit na pakete sa pamamagitan ng pag-click sa berdeng pindutan ng Mga listahan ng pag-update. Pagkatapos makumpleto, magmaneho sa filter luci-app-wireguard at, tumingin sa bintana na may magandang dependency tree, i-install ang package na ito.

Sa menu ng Mga Network, piliin ang Mga Interface at i-click ang berdeng button na Magdagdag ng Bagong Interface sa ilalim ng listahan ng mga umiiral na. Pagkatapos ipasok ang pangalan (din wg0 sa aking kaso) at pagpili sa WireGuard VPN protocol, bubukas ang isang form ng mga setting na may apat na tab.

VPN sa home LAN

Sa tab na Mga Pangkalahatang Setting, kailangan mong ipasok ang pribadong key at IP address na inihanda para sa OpenWRT kasama ang subnet.

VPN sa home LAN

Sa tab na Mga Setting ng Firewall, ikonekta ang interface sa lokal na network. Sa ganitong paraan, ang mga koneksyon mula sa VPN ay malayang papasok sa lokal na lugar.

VPN sa home LAN

Sa tab na Peers, i-click ang tanging button, pagkatapos ay punan mo ang data ng server ng VPS sa na-update na form: public key, Allowed IPs (kailangan mong iruta ang buong VPN subnet sa server). Sa Endpoint Host at Endpoint Port, ilagay ang IP address ng VPS na may port na dating tinukoy sa ListenPort directive, ayon sa pagkakabanggit. Suriin ang Route Allowed IPs para sa mga rutang gagawin. At siguraduhing punan ang Persistent Keep Alive, kung hindi ay masisira ang tunnel mula sa VPS hanggang sa router kung ang huli ay nasa likod ng NAT.

VPN sa home LAN

VPN sa home LAN

Pagkatapos nito, maaari mong i-save ang mga setting, at pagkatapos ay sa pahina na may listahan ng mga interface, i-click ang I-save at ilapat. Kung kinakailangan, tahasang ilunsad ang interface gamit ang pindutan ng I-restart.

Pag-set up ng isang smartphone

Kakailanganin mo ang kliyente ng Wireguard, available ito sa F-Droid, Google Play at App Store. Pagkatapos buksan ang application, pindutin ang plus sign at sa seksyong Interface ipasok ang pangalan ng koneksyon, pribadong key (awtomatikong bubuo ang pampublikong key) at address ng telepono na may /32 mask. Sa seksyong Peer, tukuyin ang VPS public key, isang address pair: ang VPN server port bilang Endpoint, at mga ruta patungo sa VPN at home subnet.

Naka-bold na screenshot mula sa telepono
VPN sa home LAN

Mag-click sa floppy disk sa sulok, i-on ito at...

Tapusin

Ngayon ay maaari mong i-access ang pagsubaybay sa bahay, baguhin ang mga setting ng router, o gawin ang anumang bagay sa antas ng IP.

Mga screenshot mula sa lokal na lugar
VPN sa home LAN

VPN sa home LAN

VPN sa home LAN

Pinagmulan: www.habr.com

Magdagdag ng komento