Anonim

Kenapa Gunakan VPN Untuk Akses Rumah Anda

Pautan Pantas

  • Kenapa Gunakan VPN Untuk Akses Rumah Anda
  • Sediakan Pi
    • Pasang Raspbian
  • Sediakan OpenVPN
    • Pihak Berkuasa Sijil
    • Buat Beberapa Kekunci
    • Konfigurasi Server
    • Mula Server
  • Persediaan Pelanggan
    • Konfigurasi Pelanggan
  • Penghantaran Pelabuhan
  • Sambung Kepada Pelanggan
  • Menutup Pikiran

Terdapat banyak sebab yang anda ingin akses rangkaian rumah anda dari jauh, dan cara terbaik untuk melakukannya adalah dengan pelayan VPN. Sesetengah router sebenarnya membiarkan anda menyediakan pelayan VPN secara langsung dalam penghala, tetapi dalam banyak kes, anda perlu menetapkan sendiri.

Raspberry Pi adalah cara terbaik untuk mencapai ini. Mereka tidak memerlukan banyak tenaga untuk dijalankan, dan mereka mempunyai kuasa yang cukup untuk menjalankan pelayan VPN. Anda boleh menetapkan satu di sebelah router anda dan pada dasarnya lupa tentangnya.

Apabila anda mempunyai akses ke rangkaian rumah anda dari jauh, anda boleh sampai ke fail anda dari mana-mana sahaja. Anda boleh menjalankan komputer rumah anda dari jauh. Anda juga boleh menggunakan sambungan VPN di rumah anda dari jalan raya. Persediaan seperti ini membolehkan telefon, tablet, atau komputer riba anda berfungsi seperti di rumah dari mana-mana sahaja.

Sediakan Pi

Sebelum anda dapat memulakan VPN, anda perlu menyediakan Ras Raspberry Pi anda. Adalah lebih baik untuk memasang Pi dengan kes dan kad memori saiz yang layak, 16GB harus lebih daripada cukup. Jika boleh, sambungkan Pi anda ke penghala anda dengan kabel Ethernet. Ia akan meminimumkan sebarang kelewatan rangkaian.

Pasang Raspbian

Sistem pengendalian terbaik untuk digunakan pada Pi anda ialah Raspbian. Ini pilihan default yang dibuat oleh asas Raspberry Pi, dan ia berdasarkan Debian, salah satu versi Linux yang paling selamat dan stabil.

Pergi ke halaman muat turun Rasbian, dan ambil versi terkini. Anda boleh menggunakan versi "Lite" di sini, kerana anda sebenarnya tidak memerlukan desktop grafis.

Semasa memuat turun, dapatkan Etcher versi terbaru untuk sistem pengendalian anda. Selepas muat turun selesai, ekstrak imej Raspbian. Kemudian, buka Etcher. Pilih imej Raspbian dari mana anda diekstrak. Pilih kad SD anda (Masukkan terlebih dahulu). Akhirnya, tulis imej ke kad.

Biarkan kad SD di komputer anda apabila selesai. Buka pengurus fail dan semak imbas ke kad. Anda sepatutnya melihat beberapa bahagian yang berbeza. Cari bahagian "boot". Ia adalah fail "kernel.img" di dalamnya. Buat fail teks kosong pada partition "boot", dan panggil ia "ssh" tanpa sambungan fail.

Anda akhirnya boleh menyambungkan Pi anda. Pastikan anda memasangkannya pada akhirnya. Anda tidak perlu skrin, papan kekunci, atau tetikus. Anda akan mengakses Raspberry Pi jauh dari rangkaian anda.

Beri Pi beberapa minit untuk menetapkan sendiri. Kemudian, buka penyemak imbas web dan navigasi ke skrin pengurusan penghala anda. Cari Raspberry Pi dan perhatikan alamat IPnya.

Sama ada anda berada di Windows, Linux, atau Mac, buka OpenSSH. Sambungkan ke Raspberry Pi dengan SSH.

$ ssh

Jelas sekali, gunakan alamat IP sebenar Pi. Nama pengguna sentiasa pi, dan kata laluannya adalah raspberry.

Sediakan OpenVPN

OpenVPN tidak mudah untuk didirikan sebagai pelayan. Berita baiknya, anda hanya perlu melakukannya sekali sahaja. Jadi, sebelum anda menggali, pastikan Raspbian sudah benar-benar terkini.

$ sudo apt update $ sudo apt upgrade

Selepas kemas kini selesai, anda boleh memasang OpenVPN dan utiliti sijil yang anda perlukan.

$ sudo apt install openvpn easy-rsa

Pihak Berkuasa Sijil

Untuk mengesahkan peranti anda apabila mereka cuba menyambung ke pelayan, anda perlu menyediakan pihak berkuasa sijil untuk membuat kunci sigining. Kunci ini akan memastikan bahawa hanya peranti anda yang dapat menyambung ke rangkaian rumah anda.

Pertama, buat direktori untuk sijil anda. Bergerak ke dalam direktori itu.

$ sudo make-cadir / etc / openvpn / certs $ cd / etc / openvpn / certs

Cari sekitar fail konfigurasi OpenSSL. Kemudian, hubungkan yang terbaru dengan openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Dalam folder "certs" yang sama adalah fail bernama "vars." Buka fail itu dengan editor teks anda. Nano adalah lalai, tetapi berasa bebas untuk memasang Vim, jika anda lebih selesa dengannya.

Cari pemboleh ubah KEY_SIZE dahulu. Ia ditetapkan ke 2048 secara lalai. Tukar ke 4096.

eksport KEY_SIZE = 4096

Blok utama yang perlu anda berurusan dengan membuat maklumat tentang kuasa sijil anda. Ia membantu jika maklumat ini tepat, tetapi apa sahaja yang anda boleh ingat adalah baik-baik saja.

eksport KEY_COUNTRY = eksport "AS" eksport KEY_PROVINCE = eksport "CA" KEY_CITY = eksport "SanFrancisco" KEY_ORG = eksport "Fort-Funston" KEY_EMAIL = "" eksport KEY_OU = eksport "MyOrganizationalUnit" KEY_NAME = "HomeVPN"

Apabila anda mempunyai segalanya, simpan dan keluar.

Pakej Easy-RSA yang anda pasangkan sebelum ini mengandungi banyak skrip yang membantu untuk menyediakan semua yang anda perlukan. Anda hanya perlu menjalankannya. Mula dengan menambah fail "var" sebagai sumber. Itu akan memuatkan semua pembolehubah yang baru anda tetapkan.

$ sudo sumber ./vars

Seterusnya, bersihkan kunci. Anda tidak mempunyai apa-apa, jadi jangan bimbang tentang mesej yang memberitahu anda bahawa kunci anda akan dipadamkan.

$ sudo ./clean-install

Akhirnya, buat kuasa perakuan anda. Anda sudah menetapkan lalai, jadi anda boleh menerima butiran yang diberikan. Ingat untuk menetapkan kata laluan yang kuat dan jawapan "ya" kepada dua soalan terakhir, mengikut kata laluan.

$ sudo ./build-ca

Buat Beberapa Kekunci

Anda mengalami kesulitan untuk menubuhkan pihak berkuasa sijil supaya anda boleh menandatangani kekunci. Sekarang, sudah tiba masanya untuk membuat beberapa. Mula dengan membina kunci untuk pelayan anda.

$ sudo ./build-key-server server

Seterusnya, buatkan PEM Diffie-Hellman. Itulah yang digunakan oleh OpenVPN untuk memastikan sambungan klien anda ke pelayan.

$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem

Kunci terakhir yang anda perlukan dari sekarang dipanggil kunci HMAC. OpenVPN menggunakan kunci ini untuk menandatangani setiap paket maklumat yang ditukar antara klien dan pelayan. Ia membantu untuk mengelakkan serangan tertentu pada sambungan.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Konfigurasi Server

Anda mempunyai kunci. Sekeping seterusnya dalam menyediakan OpenVPN adalah konfigurasi pelayan itu sendiri. Syukurlah, tidak semua yang perlu anda lakukan di sini. Debian menyediakan konfigurasi asas yang boleh anda gunakan untuk memulakan. Oleh itu, mulakan dengan mendapatkan fail konfigurasi itu.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf

Gunakan lagi editor teks untuk membuka /etc/openvpn/server.conf. Perkara-perkara pertama yang perlu anda temukan adalah fail ca, cert, dan kunci. Anda perlu menetapkannya agar sepadan dengan lokasi sebenar fail yang anda buat, yang semuanya berada dalam / etc / openvpn / certs / keys.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # Fail ini hendaklah disimpan rahsia

Cari tetapan dh, dan ubahnya untuk dipadankan dengan .pem Diffie-Hellman yang anda buat.

dh dh4096.pem

Tetapkan laluan untuk kekunci HMAC anda juga.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Cari cipher dan pastikan ia sepadan dengan contoh di bawah.

cipher AES-256-CBC

Beberapa pilihan seterusnya ada, tetapi mereka berkomentar dengan; Keluarkan titik koma di depan setiap pilihan untuk membolehkannya.

push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Cari pengguna dan pilihan kumpulan. Uncomment them, dan ubah pengguna ke "openvpn."

kumpulan kumpulan openvpn pengguna

Akhirnya, dua baris terakhir ini tidak dalam konfigurasi lalai. Anda perlu menambahnya pada akhir fail.

Tetapkan pengesahan pengesahan untuk menentukan penyulitan kuat untuk pengesahan pengguna.

# Authentication Digest auth SHA512

Kemudian, hadkan pembuka cip yang boleh digunakan oleh OpenVPN hanya kepada yang lebih kuat. Ini membantu mengehadkan kemungkinan serangan terhadap ciphers yang lemah.

# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: CBC-SHA: TLS-DHE-RSA-DENGAN-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-DENGAN AES-128-CBC- SHA

Itu sahaja untuk konfigurasi. Simpan fail dan keluar.

Mula Server

Sebelum anda memulakan pelayan, anda perlu membuat pengguna openvpn yang anda tetapkan.

$ sudo adduser --system --shell / usr / sbin / nologin --no-create-home openvpn

Ia adalah pengguna istimewa hanya untuk menjalankan OpenVPN, dan ia tidak akan melakukan apa-apa lagi.

Sekarang, mulakan pelayan.

$ sudo systemctl start openvpn $ sudo systemctl start

Semak bahawa kedua-duanya berjalan

$ sudo systemctl status openvpn * .service

Sekiranya semuanya kelihatan baik, aktifkannya pada permulaan.

$ sudo systemctl enable openvpn $ sudo enable systemctl

Persediaan Pelanggan

Pelayan anda kini ditubuhkan dan berjalan. Seterusnya, anda perlu menyediakan konfigurasi klien anda. Ini adalah konfigurasi yang akan anda gunakan untuk menyambungkan peranti anda ke pelayan anda. Kembali ke folder certs dan bersedia untuk membina kunci klien. Anda boleh memilih untuk membina kunci berasingan bagi setiap pelanggan atau satu kunci untuk semua pelanggan. Untuk kegunaan rumah, satu kunci harus baik-baik saja.

$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client

Proses ini hampir sama dengan pelayan, jadi ikuti prosedur yang sama.

Konfigurasi Pelanggan

Konfigurasi untuk klien sangat mirip dengan pelayan untuk pelayan. Sekali lagi, anda mempunyai template pra-dibuat untuk mendayakan konfigurasi anda. Anda hanya perlu mengubahnya untuk sepadan dengan pelayan.

Tukar ke dalam direktori klien. Kemudian, hapuskan konfigurasi sampel.

$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Buka fail client.ovpn dengan editor teks anda. Kemudian, cari pilihan jauh. Dengan mengandaikan bahawa anda belum menggunakan VPN, carian Google "Apakah IP saya." Ambil alamat yang dipamerkannya, dan tetapkan alamat IP jauhnya. Tinggalkan nombor port.

jauh 107.150.28.83 1194 # Bahawa IP ironinya adalah VPN

Tukar sijil untuk mencerminkan yang anda buat, sama seperti yang anda lakukan dengan pelayan.

ca.crt cert client.crt client.key utama

Cari pilihan pengguna, dan laporkannya. Tidak apa-apa untuk mengendalikan pelanggan sebagai tiada siapa.

kumpulan pengguna tanpa kumpulan

Uncomment the option tls-auth for HMAC.

tls-auth ta.key 1

Seterusnya, cari pilihan cipher dan pastikan ia sepadan dengan pelayan.

cipher AES-256-CBC

Kemudian, hanya tambah pengesahan pengesahan dan sekatan cipher di bahagian bawah fail.

# Authentication Digest auth SHA512 # Sekatan Cipher tls-cipher TLS-DHE-RSA-DENGAN-AES-256-GCM-SHA384: TLS-DHE-RSA-DENGAN-AES-128-GCM-SHA256: TLS-DHE-RSA-DENGAN -AES-256-CBC-SHA: TLS-DHE-RSA-DENGAN-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-WITH-AES-128-CBC-SHA: TLS-DHE-RSA- -128-CBC-SHA

Apabila semuanya kelihatan betul, simpan fail dan keluar. Gunakan tar untuk membungkus konfigurasi dan sijil, supaya anda boleh menghantarnya kepada pelanggan.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C / etc / openvpn / certs / keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Pindahkan pakej itu kepada pelanggan namun anda memilih. SFTP, FTP, dan pemacu USB adalah semua pilihan hebat.

Penghantaran Pelabuhan

Agar mana-mana ini berfungsi, anda perlu mengkonfigurasi penghala anda untuk meneruskan trafik VPN masuk ke Pi. Jika anda sudah menggunakan VPN, anda perlu memastikan bahawa anda tidak menyambungkan pada port yang sama. Jika anda, ubah port pada konfigurasi pelanggan dan pelayan anda.

Sambung ke antara muka web penghala anda dengan menaip alamat IPnya pada penyemak imbas anda.

Setiap penghala berbeza. Walaupun masih ada, mereka semua harus mempunyai beberapa bentuk fungsi ini. Cari di penghala anda.

Persediaan pada dasarnya adalah sama pada setiap penghala. Masukkan port mula dan akhir. Mereka sepatutnya sama seperti satu sama lain dan satu yang anda tetapkan dalam konfigurasi anda. Kemudian, untuk alamat IP, tetapkannya kepada IP Raspberry Pi anda. Simpan perubahan anda.

Sambung Kepada Pelanggan

Setiap pelanggan adalah berbeza, jadi tidak ada penyelesaian sejagat. Jika anda berada di Windows, anda memerlukan klien Windows OpenVPN .

Di Android, anda boleh membuka tarball anda, dan memindahkan kunci ke telefon anda. Kemudian, pasang aplikasi OpenVPN. Buka aplikasi, dan pasangkan maklumat dari fail konfigurasi anda. Kemudian pilih kekunci anda.

Di Linux, anda perlu memasang OpenVPN seperti yang anda lakukan untuk pelayan.

$ sudo apt install openvpn

Kemudian, tukar ke / etc / openvpn, dan bungkus tarbal yang anda hantar.

$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz

Namakan semula fail klien.

$ sudo mv client.ovpn client.conf

Jangan memulakan pelanggan lagi. Ia akan gagal. Anda perlu mendayakan penghantaran pelabuhan pada router anda terlebih dahulu.

Menutup Pikiran

Anda kini perlu mempunyai persediaan kerja. Pelanggan anda akan menyambung terus melalui penghala anda ke Pi. Dari situ, anda boleh berkongsi dan menyambungkan rangkaian maya anda, selagi semua peranti disambungkan ke VPN. Tiada had, jadi anda sentiasa boleh menyambungkan semua komputer anda ke VPN Pi.

Hidupkan pi raspberry menjadi vpn untuk mengakses rangkaian anda dari mana-mana sahaja