Mengapa Menggunakan VPN Untuk Mengakses Rumah Anda
Terdapat banyak sebab mengapa anda ingin mengakses rangkaian rumah anda dari jauh, dan cara terbaik untuk melakukannya adalah dengan pelayan VPN. Sebilangan penghala sebenarnya membolehkan anda menyiapkan pelayan VPN secara langsung di dalam penghala, tetapi dalam banyak kes, anda perlu menyiapkannya sendiri.
Raspberry Pi adalah kaedah terbaik untuk mencapainya. Mereka tidak memerlukan banyak tenaga untuk dijalankan, dan mereka mempunyai kekuatan yang cukup untuk menjalankan pelayan VPN. Anda boleh menyiapkannya di sebelah penghala anda dan pada dasarnya melupakannya.
Apabila anda mempunyai akses ke rangkaian rumah anda dari jauh, anda boleh mendapatkan fail anda dari mana sahaja. Anda boleh menjalankan komputer rumah anda dari jauh. Anda juga boleh menggunakan sambungan VPN rumah anda dari jalan raya. Penyediaan seperti ini membolehkan telefon, tablet, atau komputer riba anda bertindak seperti di rumah dari mana sahaja.
Sediakan Pi
Sebelum anda dapat menyiapkan VPN, anda perlu menyiapkan Raspberry Pi anda. Sebaiknya sediakan Pi dengan casing dan kad memori bersaiz baik, 16GB semestinya lebih dari cukup. Sekiranya boleh, sambungkan Pi ke penghala anda dengan kabel Ethernet. Ini akan mengurangkan sebarang kelewatan rangkaian.
Pasang Raspbian
Sistem operasi terbaik untuk digunakan pada Pi anda adalah Raspbian. Ini adalah pilihan lalai yang dikeluarkan oleh Raspberry Pi foundation, dan berdasarkan Debian, salah satu versi Linux yang paling selamat dan stabil yang ada.
Pergi ke Halaman muat turun Rasbian , dan ambil versi terkini. Anda boleh menggunakan versi Lite di sini, kerana anda sebenarnya tidak memerlukan desktop grafik.
Semasa memuat turun, dapatkan versi terkini Etcher untuk sistem operasi anda. Setelah muat turun selesai, ekstrak gambar Raspbian. Kemudian, buka Etcher. Pilih gambar Raspbian dari tempat anda mengekstraknya. Pilih kad SD anda (Masukkan dahulu). Akhirnya, tulis gambar ke kad.
bagaimana anda tahu jika seseorang menghalang anda
Biarkan kad SD di komputer anda setelah selesai. Buka pengurus fail dan semak kad. Anda mesti melihat beberapa partisi yang berbeza. Cari partition boot. Ia adalah fail dengan kernel.img di dalamnya. Buat fail teks kosong pada partition boot, dan panggil ia ssh tanpa perluasan fail.
Anda akhirnya dapat menghubungkan Pi anda. Pastikan anda memasangkannya terakhir. Anda tidak akan memerlukan layar, papan kekunci, atau tetikus. Anda akan mengakses Raspberry Pi dari jarak jauh melalui rangkaian anda.
Luangkan Pi beberapa minit untuk menyiapkannya. Kemudian, buka penyemak imbas web dan arahkan ke skrin pengurusan penghala anda. Cari Raspberry Pi dan perhatikan alamat IPnya.
Sama ada anda menggunakan Windows, Linux atau Mac, buka OpenSSH. Sambungkan ke Raspberry Pi dengan SSH.
$ ssh [email protected]
Jelas sekali, gunakan alamat IP sebenar Pi. Nama pengguna adalahselalu pi, dan kata laluan adalahraspberry.
Sediakan OpenVPN
OpenVPN tidak begitu mudah untuk disediakan sebagai pelayan. Berita baiknya, anda hanya perlu melakukannya sekali sahaja. Jadi, sebelum anda menggali, pastikan Raspbian benar-benar terkini.
$ sudo apt update $ sudo apt upgrade
Setelah kemas kini selesai, anda boleh memasang OpenVPN dan utiliti sijil yang anda perlukan.
$ sudo apt install openvpn easy-rsa
Lembaga Perakuan
Untuk mengesahkan peranti anda semasa mereka cuba menyambung ke pelayan, anda perlu menubuhkan pihak berkuasa sijil untuk membuat kunci pengesahan. Kekunci ini akan memastikan bahawa hanya peranti anda yang dapat menyambung ke rangkaian rumah anda.
Pertama, buat direktori untuk sijil anda. Pindah ke direktori itu.
$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs
Cari fail konfigurasi OpenSSL. Kemudian, paut yang terbaru denganmembukasl.cnf.
$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf
Dalam folder certs yang sama adalah fail yang disebut vars. Buka fail itu dengan penyunting teks anda. Nano adalah lalai, tetapi jangan ragu untuk memasang Vim, jika anda lebih selesa dengannya.
CariKEY_SIZEpemboleh ubah terlebih dahulu. Sudah siap2048secara lalai. Tukar kepada4096.
export KEY_SIZE=4096
Blok utama yang perlu anda hadapi menetapkan maklumat mengenai pihak berkuasa sijil anda. Ia sangat membantu sekiranya maklumat ini tepat, tetapi apa sahaja yang anda boleh ingat adalah baik.
export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'
Apabila anda mempunyai segalanya, simpan dan keluar.
Pakej Easy-RSA yang anda pasang sebelum ini mengandungi banyak skrip yang membantu mengatur semua yang anda perlukan. Anda hanya perlu menjalankannya. Mulakan dengan menambahkan fail vars sebagai sumber. Itu akan memuatkan semua pemboleh ubah yang baru anda tetapkan.
$ sudo source ./vars
Seterusnya, bersihkan kunci. Anda tidak mempunyai apa-apa, jadi jangan risau tentang mesej yang memberitahu bahawa kunci anda akan dihapuskan.
$ sudo ./clean-install
Akhirnya, bina autoriti sijil anda. Anda sudah menetapkan lalai, jadi anda boleh menerima lalai yang ditunjukkan. Ingatlah untuk menetapkan kata laluan yang kuat dan jawab ya untuk dua soalan terakhir, ikuti kata laluan.
$ sudo ./build-ca
Buat Beberapa Kekunci
Anda melalui semua masalah itu untuk menubuhkan pihak berkuasa sijil supaya anda dapat menandatangani kunci. Sekarang masanya untuk membuat beberapa. Mulakan dengan membina kunci pelayan anda.
$ sudo ./build-key-server server
Seterusnya, bina PEM Diffie-Hellman. Itulah yang digunakan OpenVPN untuk mengamankan sambungan pelanggan 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 pelanggan dan pelayan. Ini membantu mencegah beberapa jenis serangan pada sambungan.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key
Konfigurasi Pelayan
Anda mempunyai kunci. Bahagian seterusnya dalam menyiapkan OpenVPN adalah konfigurasi pelayan itu sendiri. Syukurlah, tidak banyak yang perlu anda lakukan di sini. Debian menyediakan konfigurasi asas yang boleh anda gunakan untuk memulakan. Jadi, 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 penyunting teks semula untuk membukanya/etc/openvpn/server.conf. Perkara pertama yang perlu anda temui ialahitu,perakuan, dankuncifail. Anda perlu menetapkannya agar sesuai dengan lokasi sebenar fail yang anda buat, yang semuanya ada/ etc / openvpn / certs / kunci.
ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret
Cariiaitumenetapkan, dan mengubahnya agar sesuai dengan Diffie-Hellman.pemyang anda buat.
dh dh4096.pem
Tetapkan jalan untuk kunci HMAC anda juga.
tls-auth /etc/openvpn/certs/keys/ta.key 0
Caricipherdan pastikan ia sesuai dengan contoh di bawah.
cipher AES-256-CBC
Beberapa pilihan seterusnya ada, tetapi mereka dikomentari dengan;. Keluarkan titik koma di hadapan setiap pilihan untuk mengaktifkannya.
push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'
Caripenggunadankumpulanpilihan. Komen mereka, dan ubahpenggunake openvpn.
user openvpn group nogroup
Akhirnya, dua baris terakhir ini tidak dalam konfigurasi lalai. Anda perlu menambahkannya di hujung fail.
Tetapkan intisari pengesahan untuk menentukan enkripsi yang lebih kuat untuk pengesahan pengguna.
# Authentication Digest auth SHA512
Kemudian, hadkan cipers yang boleh digunakan OpenVPN hanya untuk yang lebih kuat. Ini membantu mengehadkan kemungkinan serangan pada cipher yang lemah.
# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
Itu sahaja untuk konfigurasi. Simpan fail dan keluar.
Mulakan Pelayan
Sebelum anda dapat memulakan pelayan, anda perlu membuatnyabukavpnpengguna yang anda nyatakan.
$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn
Ini adalah pengguna khas hanya untuk menjalankan OpenVPN, dan tidak akan melakukan apa-apa lagi.
Sekarang, mulakan pelayan.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Periksa sama ada mereka berjalan
$ sudo systemctl status openvpn*.service
Sekiranya semuanya kelihatan baik, aktifkan pada permulaan.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Persediaan Pelanggan
Pelayan anda kini disediakan dan berjalan. Seterusnya, anda perlu mengatur konfigurasi pelanggan anda. Ini adalah konfigurasi yang akan anda gunakan untuk menyambungkan peranti anda ke pelayan anda. Kembali kepastifolder dan bersiap untuk membina kunci pelanggan. Anda boleh memilih untuk membina kunci yang berasingan untuk setiap pelanggan atau satu kunci untuk semua pelanggan. Untuk kegunaan rumah, satu kunci mesti baik.
$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client
Prosesnya hampir sama dengan pelayan, jadi ikuti prosedur yang sama.
Konfigurasi Pelanggan
Konfigurasi untuk klien sangat serupa dengan konfigurasi untuk pelayan. Sekali lagi, anda mempunyai templat yang telah dibuat untuk mendasarkan konfigurasi anda. Anda hanya perlu mengubahnya agar sesuai dengan pelayan.
Tukar menjadipelanggandirektori. Kemudian, bongkar konfigurasi sampel.
$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Bukapelanggan.ovpnfail dengan penyunting teks anda. Kemudian, carijauhpilihan. Dengan andaian anda belum menggunakan VPN, carian Google Apakah IP saya. Ambil alamat yang tertera, dan tetapkanjauhAlamat IP kepadanya. Tinggalkan nombor port.
remote 107.150.28.83 1194 #That IP ironically is a VPN
Tukar sijil untuk menggambarkan yang anda buat, seperti yang anda lakukan dengan pelayan.
ca ca.crt cert client.crt key client.key
Cari pilihan pengguna, dan tanggalkan mereka. Adalah baik untuk menjalankan pelanggan sebagaitiada siapa.
user nobody group nogroup
Tidak memenuhi syarattls-authpilihan untuk HMAC.
tls-auth ta.key 1
Seterusnya, caricipherpilihan dan pastikan ia sesuai dengan pelayan.
cipher AES-256-CBC
Kemudian, tambahkan sekatan pengesahan dan penyisipan pengesahan di bahagian bawah fail.
# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
Apabila semuanya kelihatan betul, simpan fail dan keluar. Gunakantaruntuk mengemas konfigurasi dan sijil, jadi 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 mengikut pilihan anda. SFTP, FTP, dan pemacu USB adalah pilihan terbaik.
Penghantaran Pelabuhan
Agar semua ini berfungsi, anda perlu mengkonfigurasi penghala anda untuk meneruskan lalu lintas VPN masuk ke Pi. Sekiranya anda sudah menggunakan VPN, anda perlu memastikan bahawa anda tidak menyambung pada port yang sama. Sekiranya anda berada, ubah port pada konfigurasi pelanggan dan pelayan anda.
Sambungkan ke antara muka web penghala anda dengan memasukkan alamat IPnya pada penyemak imbas anda.
Setiap penghala berbeza. Walaupun begitu, mereka semua mesti mempunyai beberapa bentuk fungsi ini. Cari di penghala anda.
Penyediaannya pada dasarnya sama pada setiap penghala. Masukkan port permulaan dan akhir. Mereka harus sama antara satu sama lain dan yang anda tetapkan dalam konfigurasi anda. Kemudian, untuk alamat IP, tetapkan ke IP Raspberry Pi anda. Simpan perubahan anda.
Sambungkan Kepada Pelanggan
Setiap pelanggan berbeza, jadi tidak ada penyelesaian universal. Sekiranya anda menggunakan Windows, anda memerlukannya Pelanggan Windows OpenVPN .
Di Android, anda boleh membuka tarball anda, dan memindahkan kunci ke telefon anda. Kemudian, pasang aplikasi OpenVPN. Buka aplikasi, dan masukkan maklumat dari fail konfigurasi anda. Kemudian pilih kunci anda.
Di Linux, anda perlu memasang OpenVPN seperti yang anda lakukan untuk pelayan.
$ sudo apt install openvpn
Kemudian, ubah menjadi/ etc / openvpn, dan bongkar tarball 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 mulakan pelanggan. Ia akan gagal. Anda perlu mengaktifkan pemajuan port pada penghala anda terlebih dahulu.
Pemikiran Penutup
Anda kini harus mempunyai persediaan yang berfungsi. Pelanggan anda akan berhubung terus melalui penghala anda ke Pi. Dari sana, anda boleh berkongsi dan menyambung melalui rangkaian maya anda, selagi semua peranti disambungkan ke VPN. Tidak ada had, jadi anda selalu dapat menghubungkan semua komputer anda ke Pi VPN.