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:
- VPS (dalam kes saya pada Debian 10).
- penghala OpenWRT.
- Nombor telefon.
- Pelayan rumah dengan beberapa perkhidmatan web untuk ujian.
- 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
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.
Pada tab Tetapan Umum, anda perlu memasukkan kunci peribadi dan alamat IP yang disediakan untuk OpenWRT bersama-sama dengan subnet.
Pada tab Tetapan Firewall, sambungkan antara muka ke rangkaian tempatan. Dengan cara ini, sambungan daripada VPN akan memasuki kawasan setempat secara bebas.
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.
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
Tangkapan skrin tebal daripada telefon
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
Sumber: www.habr.com