VPN ke LAN rumah

VPN ke LAN rumah

TL; DR: Saya memasang Wireguard pada VPS, menyambung kepadanya dari penghala rumah saya pada OpenWRT, dan mengakses subnet rumah saya dari telefon saya.

Jika anda menyimpan infrastruktur peribadi anda pada pelayan rumah atau mempunyai banyak peranti terkawal IP di rumah, maka anda mungkin mahu mempunyai akses kepada mereka dari tempat kerja, dari bas, kereta api dan metro. Selalunya, untuk tugas yang serupa, IP dibeli daripada pembekal, selepas itu port setiap perkhidmatan dimajukan ke luar.

Sebaliknya, saya menyediakan VPN dengan akses kepada LAN rumah saya. Kelebihan penyelesaian ini:

  • ketelusan: Saya berasa selesa dalam apa jua keadaan.
  • Kesederhanaan: tetapkannya dan lupakannya, tidak perlu memikirkan untuk memajukan setiap port.
  • Π¦Π΅Π½Π°: Saya sudah mempunyai VPS; untuk tugasan sedemikian, VPN moden hampir percuma dari segi sumber.
  • keselamatan: tiada apa yang melekat, anda boleh meninggalkan MongoDB tanpa kata laluan dan tiada siapa yang akan mencuri data anda.

Seperti biasa, terdapat keburukan. Pertama, anda perlu mengkonfigurasi setiap pelanggan secara berasingan, termasuk di bahagian pelayan. Ia boleh menyusahkan jika anda mempunyai sejumlah besar peranti yang anda ingin akses perkhidmatan. Kedua, anda mungkin mempunyai LAN dengan julat yang sama di tempat kerja - anda perlu menyelesaikan masalah ini.

Kita perlukan:

  1. VPS (dalam kes saya pada Debian 10).
  2. penghala OpenWRT.
  3. Nombor telefon.
  4. Pelayan rumah dengan beberapa perkhidmatan web untuk ujian.
  5. Lengan lurus.

Teknologi VPN yang saya akan gunakan ialah Wireguard. Penyelesaian ini juga mempunyai kekuatan dan kelemahan, saya tidak akan menerangkannya. Untuk VPN saya menggunakan subnet 192.168.99.0/24, dan di rumah saya 192.168.0.0/24.

Konfigurasi VPS

Malah VPS yang paling menyedihkan untuk 30 rubel sebulan sudah cukup untuk perniagaan, jika anda cukup bernasib baik untuk memilikinya ragut.

Saya melakukan semua operasi pada pelayan sebagai akar pada mesin yang bersih; jika perlu, tambah `sudo` dan sesuaikan arahan.

Wireguard tidak mempunyai masa untuk dibawa ke dalam stabil, jadi saya menjalankan `apt edit-sources` dan menambah backports dalam dua baris pada akhir fail:

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

Pakej dipasang dengan cara biasa: apt update && apt install wireguard.

Seterusnya, kami menjana pasangan kunci: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. Ulangi operasi ini dua kali lagi untuk setiap peranti yang mengambil bahagian dalam litar. Tukar laluan ke fail utama untuk peranti lain dan jangan lupa tentang keselamatan kunci peribadi.

Sekarang kami menyediakan konfigurasi. Untuk memfailkan /etc/wireguard/wg0.conf config diletakkan:

[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

Dalam bahagian [Interface] tetapan mesin itu sendiri ditunjukkan, dan dalam [Peer] β€” tetapan untuk mereka yang akan menyambung kepadanya. DALAM AllowedIPs dipisahkan dengan koma, subnet yang akan dihalakan ke peer yang sepadan ditentukan. Oleh sebab itu, rakan sebaya peranti "klien" dalam subnet VPN mesti mempunyai topeng /32, semua yang lain akan dihalakan oleh pelayan. Memandangkan rangkaian rumah akan dihalakan melalui OpenWRT, in AllowedIPs Kami menambah subnet rumah rakan sebaya yang sepadan. DALAM PrivateKey ΠΈ PublicKey menguraikan kunci persendirian yang dijana untuk VPS dan kunci awam rakan setara dengan sewajarnya.

Pada VPS, yang tinggal hanyalah menjalankan arahan yang akan memaparkan antara muka dan menambahkannya ke autorun: systemctl enable --now wg-quick@wg0. Status sambungan semasa boleh disemak dengan arahan wg.

Konfigurasi OpenWRT

Semua yang anda perlukan untuk peringkat ini adalah dalam modul luci (antara muka web OpenWRT). Log masuk dan buka tab Perisian dalam menu Sistem. OpenWRT tidak menyimpan cache pada mesin, jadi anda perlu mengemas kini senarai pakej yang tersedia dengan mengklik butang senarai Kemas kini hijau. Selepas selesai, pandu ke dalam penapis luci-app-wireguard dan, melihat tingkap dengan pokok pergantungan yang cantik, pasang pakej ini.

Dalam menu Rangkaian, pilih Antara Muka dan klik butang Tambah Antara Muka Baharu hijau di bawah senarai yang sedia ada. Selepas memasukkan nama (juga wg0 dalam kes saya) dan memilih protokol VPN WireGuard, borang tetapan dengan empat tab dibuka.

VPN ke LAN rumah

Pada tab Tetapan Umum, anda perlu memasukkan kunci peribadi dan alamat IP yang disediakan untuk OpenWRT bersama-sama dengan subnet.

VPN ke LAN rumah

Pada tab Tetapan Firewall, sambungkan antara muka ke rangkaian tempatan. Dengan cara ini, sambungan daripada VPN akan memasuki kawasan setempat secara bebas.

VPN ke LAN rumah

Pada tab Rakan Sebaya, klik satu-satunya butang, selepas itu anda mengisi data pelayan VPS dalam borang yang dikemas kini: kunci awam, IP Dibenarkan (anda perlu menghalakan keseluruhan subnet VPN ke pelayan). Dalam Hos Titik Akhir dan Port Titik Akhir, masukkan alamat IP VPS dengan port yang dinyatakan sebelum ini dalam arahan ListenPort, masing-masing. Semak IP Laluan Dibenarkan untuk laluan dibuat. Dan pastikan anda mengisi Persistent Keep Alive, jika tidak, terowong dari VPS ke penghala akan rosak jika yang terakhir berada di belakang NAT.

VPN ke LAN rumah

VPN ke LAN rumah

Selepas ini, anda boleh menyimpan tetapan, dan kemudian pada halaman dengan senarai antara muka, klik Simpan dan gunakan. Jika perlu, lancarkan antara muka secara eksplisit dengan butang Mulakan Semula.

Menyediakan telefon pintar

Anda memerlukan klien Wireguard, ia boleh didapati di F-Droid, Google Play dan App Store. Selepas membuka aplikasi, tekan tanda tambah dan di bahagian Antara muka masukkan nama sambungan, kunci peribadi (kunci awam akan dijana secara automatik) dan alamat telefon dengan topeng /32. Dalam bahagian Peer, nyatakan kunci awam VPS, pasangan alamat: port pelayan VPN sebagai Titik Akhir, dan laluan ke VPN dan subnet rumah.

Tangkapan skrin tebal daripada telefon
VPN ke LAN rumah

Klik pada cakera liut di sudut, hidupkan dan...

Selesai

Kini anda boleh mengakses pemantauan rumah, menukar tetapan penghala atau melakukan apa-apa sahaja di peringkat IP.

Tangkapan skrin dari kawasan setempat
VPN ke LAN rumah

VPN ke LAN rumah

VPN ke LAN rumah

Sumber: www.habr.com

Tambah komen