Bakit Gumamit ng isang VPN Upang I-access ang Iyong Bahay
Mabilis na Mga Link
- Bakit Gumamit ng isang VPN Upang I-access ang Iyong Bahay
- I-set up ang Pi
- I-install ang Raspbian
- I-set up ang OpenVPN
- Awtoridad ng Sertipiko
- Gumawa ng Ilang Mga Susi
- Pag-configure ng Server
- Simulan Ang Server
- Pag-setup ng Client
- Pag-configure ng Client
- Pagpapasa ng Port
- Kumonekta Sa Client
- Pagwawakas ng Kaisipan
Maraming mga kadahilanan na nais mong ma-access ang iyong network ng bahay nang malayuan, at ang pinakamahusay na paraan upang gawin iyon ay sa isang VPN server. Ang ilang mga router ay talagang hinahayaan kang mag-set up ng isang VPN server nang direkta sa loob ng router, ngunit sa maraming mga kaso, kakailanganin mong i-set up ang iyong sarili.
Ang isang Raspberry Pi ay isang mahusay na paraan upang maisagawa ito. Hindi sila nangangailangan ng maraming enerhiya upang tumakbo, at mayroon silang sapat na lakas upang magpatakbo ng isang VPN server. Maaari kang mag-set up ng isa sa tabi ng iyong router at karaniwang kalimutan ang tungkol dito.
Kapag mayroon kang access sa iyong home network nang malayuan, maaari kang makarating sa iyong mga file mula sa kahit saan. Maaari mong patakbuhin ang iyong mga computer sa bahay nang malayuan. Maaari mo ring gamitin ang koneksyon sa VPN ng iyong bahay mula sa kalsada. Ang isang pag-setup na tulad nito ay nagbibigay-daan sa iyong telepono, tablet, o laptop na kumikilos tulad nito sa bahay mula saanman.
I-set up ang Pi
Bago mo masimulan ang pag-set up ng VPN, kakailanganin mong i-set up ang iyong Raspberry Pi. Pinakamabuting i-set up ang Pi na may kaso at disenteng laki ng memorya ng kard, ang 16GB ay dapat na higit pa sa sapat. Kung maaari, ikonekta ang iyong Pi sa iyong router gamit ang isang Ethernet cable. Ito ay i-minimize ang anumang mga pagkaantala sa network.
I-install ang Raspbian
Ang pinakamahusay na operating system na gagamitin sa iyong Pi ay Raspbian. Ito ang default na pagpipilian na inilagay ng pundasyon ng Raspberry Pi, at batay ito sa Debian, isa sa mga pinaka-secure at matatag na bersyon ng Linux na magagamit.
Pumunta sa pahina ng pag-download ng Rasbian, at kunin ang pinakabagong bersyon. Maaari mong gamitin ang bersyon na "Lite" dito, dahil hindi mo talaga kailangan ng isang graphical desktop.
Habang nag-download, makuha ang pinakabagong bersyon ng Etcher para sa iyong operating system. Matapos makumpleto ang pag-download, kunin ang imahe ng Raspbian. Pagkatapos, buksan ang Etcher. Piliin ang imahe ng Raspbian mula sa kung saan mo kinuha ito. Piliin ang iyong SD card (Ipasok muna). Sa wakas, isulat ang imahe sa card.
Iwanan ang SD card sa iyong computer kapag ito ay tapos na. Magbukas ng isang file manager at mag-browse sa card. Dapat mong makita ang isang pares ng iba't ibang mga partisyon. Maghanap para sa pagkahati ng "boot". Ito ang isa na may isang "kernel.img" file sa loob nito. Lumikha ng isang walang laman na file ng teksto sa partisyon ng "boot", at tawagan itong "ssh" na walang extension ng file.
Sa wakas maaari mong ikonekta ang iyong Pi. Tiyaking na plug mo ito sa wakas. Hindi mo kakailanganin ang isang screen, keyboard, o mouse. Malayo kang mai-access ang Raspberry Pi sa iyong network.
Bigyan ang Pi ng ilang minuto upang mai-set up ang sarili. Pagkatapos, buksan ang isang web browser at mag-navigate sa screen ng pamamahala ng iyong router. Hanapin ang Raspberry Pi at tandaan ang IP address nito.
Kung nasa Windows ka, Linux, o Mac, buksan ang OpenSSH. Kumonekta sa Raspberry Pi sa SSH.
$ ssh
Malinaw, gamitin ang aktwal na IP address ng Pi. Ang username ay palaging pi, at ang password ay raspberry.
I-set up ang OpenVPN
Ang OpenVPN ay hindi eksaktong simple upang i-set up bilang isang server. Ang mabuting balita ay, kailangan mo lamang itong gawin nang isang beses. Kaya, bago ka maghukay, tiyaking kumpleto na ang Raspbian.
$ sudo apt update $ sudo apt upgrade
Matapos matapos ang pag-update, maaari mong mai-install ang OpenVPN at utility ng sertipiko na kailangan mo.
$ sudo apt install openvpn madaling-rsa
Awtoridad ng Sertipiko
Upang mapatunayan ang iyong mga aparato kapag sinusubukan nilang kumonekta sa server, kailangan mong mag-set up ng isang awtoridad ng sertipiko upang lumikha ng mga susi ng sigining. Sisiguraduhin ng mga key na ito na ang iyong mga aparato lamang ang makakonekta sa iyong home network.
Una, lumikha ng isang direktoryo para sa iyong mga sertipiko. Ilipat sa direktoryo na iyon.
$ sudo make-cadir / etc / openvpn / certs $ cd / etc / openvpn / certs
Tumingin sa paligid para sa mga file ng pagsasaayos ng OpenSSL. Pagkatapos, i-link ang pinakabagong isa sa openssl.cnf.
$ ls | grep -i opensl $ sudo ln -s opensl-1.0.0.cnf openssl.cnf
Sa parehong "certs" folder ay isang file na tinatawag na "vars." Buksan ang file na iyon kasama ang iyong text editor. Ang Nano ay ang default, ngunit huwag mag-atubiling i-install ang Vim, kung mas komportable ka rito.
Hanapin muna ang variable na KEY_SIZE. Itinakda ito sa 2048 bilang default. Baguhin ito sa 4096.
i-export ang KEY_SIZE = 4096
Ang pangunahing bloke na kailangan mong harapin ang nagtatatag ng impormasyon tungkol sa iyong awtoridad sa sertipiko. Nakakatulong ito kung tumpak ang impormasyong ito, ngunit ang anumang maaari mong matandaan ay maayos.
i-export ang KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "" export KEY_OU = "MyOrganizationalUnit" export KEY_NAME = "HomeVPN"
Kapag mayroon ka ng lahat, i-save at lumabas.
Ang Easy-RSA package na iyong na-install bago naglalaman ng maraming mga script na makakatulong upang mai-set up ang lahat ng kailangan mo. Kailangan mo lamang patakbuhin ang mga ito. Magsimula sa pagdaragdag ng "vars" file bilang isang mapagkukunan. I-load nito ang lahat ng mga variable na itinakda mo lang.
$ mapagkukunan ng sudo ./vars
Susunod, linisin ang mga susi. Wala kang anumang, kaya huwag mag-alala tungkol sa mensahe na nagsasabi sa iyo na tatanggalin ang iyong mga susi.
$ sudo ./clean-install
Sa wakas, itayo ang iyong awtoridad sa sertipiko. Itinakda mo na ang mga default, sa gayon maaari mo lamang tanggapin ang mga pagkukulang na itinatanghal nito. Tandaan na magtakda ng isang malakas na password at sagutin ang "oo" sa huling dalawang katanungan, kasunod ng password.
Gumawa ng Ilang Mga Susi
Dumaan ka sa lahat ng problema na mag-set up ng isang awtoridad sa sertipiko upang maaari kang mag-sign key. Ngayon, oras na upang gumawa ng ilan. Magsimula sa pamamagitan ng pagbuo ng susi para sa iyong server.
$ sudo ./build-key-server server
Susunod, itayo ang diffie-Hellman PEM. Ito ay kung ano ang ginagamit ng OpenVPN upang ma-secure ang iyong mga koneksyon sa kliyente sa server.
$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem
Ang huling key na kailangan mo mula ngayon ay tinatawag na isang HMAC key. Ginagamit ng OpenVPN ang susi na ito upang mag-sign sa bawat indibidwal na packet ng impormasyon na ipinagpalit sa pagitan ng kliyente at server. Nakakatulong ito upang maiwasan ang ilang mga uri ng pag-atake sa koneksyon.
$ sudo openvpn --genkey --secret /etc/openvpn/certs/key/ta.key
Pag-configure ng Server
Mayroon kang mga susi. Ang susunod na piraso sa pag-set up ng OpenVPN ay ang pagsasaayos ng server mismo. Sa kabutihang palad, hindi lahat ng marami na kailangan mong gawin dito. Nagbibigay ang Debian ng isang batayang pagsasaayos na magagamit mo upang makapagsimula. Kaya, magsimula sa pamamagitan ng pagkuha ng file na pagsasaayos.
$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf
Gumamit ka ulit ng text editor upang buksan ang /etc/openvpn/server.conf. Ang mga unang bagay na kailangan mong hanapin ay ang ca, sert, at mga pangunahing file. Kailangan mong itakda ang mga ito upang tumugma sa mga aktwal na lokasyon ng mga file na nilikha mo, na lahat ay nasa / atbp / openvpn / certs / key.
ca /etc/openvpn/certs/key/ca.crt cert /etc/openvpn/certs/key/server.crt key /etc/openvpn/certs/key/server.key # Ang file na ito ay dapat itago lihim
Hanapin ang setting ng dh, at baguhin ito upang tumugma sa diffie-Hellman .pem na iyong nilikha.
dh dh4096.pem
Itakda ang landas para sa iyong HMAC key din.
tls-auth /etc/openvpn/certs/key/ta.key 0
Hanapin ang cipher at tiyaking tumutugma ito sa halimbawa sa ibaba.
cipher AES-256-CBC
Ang susunod na ilang mga pagpipilian ay nariyan, ngunit nagkomento sila sa isang ;. Alisin ang mga semicolons sa harap ng bawat pagpipilian upang paganahin ang mga ito.
itulak ang "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"
Maghanap para sa mga pagpipilian sa gumagamit at pangkat. Uncomment ang mga ito, at baguhin ang gumagamit sa "openvpn."
gumagamit n buksan ang bukana nv
Sa wakas, ang mga huling dalawang linya ay wala sa default na pagsasaayos. Kailangan mong idagdag ang mga ito sa dulo ng file.
Itakda ang digestication authentication upang tukuyin ang mas malakas na pag-encrypt para sa pagpapatunay ng gumagamit.
# Authentication Digest authA SHA512
Pagkatapos, limitahan ang mga ciper na maaaring magamit ng OpenVPN sa mga mas malakas lamang. Makakatulong ito na limitahan ang mga posibleng pag-atake sa mga mahina na ciphers.
# Limitahin ang mga Ciphers tls-cipher TLS-DHE-RSA-MAY-AES-256-GCM-SHA384: TLS-DHE-RSA-MAY-AES-128-GCM-SHA256: TLS-DHE-RSA-MAY-AES-256- CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-MAY-AES-128-CBC-SHA: TLS-DHE-RSA-MAY-CAMELLIA-128-CBC- SHA
Iyon lang ang para sa pagsasaayos. I-save ang file at exit.
Simulan Ang Server
Bago mo masimulan ang server, kailangan mong gawin ang openvpn user na iyong tinukoy.
$ sudo adduser --system --shell / usr / sbin / nologin --no-lumikha-bahay openvpn
Ito ay isang espesyal na gumagamit para lamang sa pagpapatakbo ng OpenVPN, at wala itong ibang gagawin.
Ngayon, simulan ang server.
Magsisimula ang $ sudo systemctl ng openvpn $ sudo systemctl pagsisimula
Suriin na pareho silang tumatakbo
$ sudo systemctl status openvpn * .service
Kung ang lahat ay mukhang maganda, paganahin ang mga ito sa pagsisimula.
paganahin ng $ sudo systemctl ang openvpn $ sudo systemctl paganahin
Pag-setup ng Client
Ang server mo ay naka-set up at tumatakbo. Susunod, kailangan mong i-set up ang iyong pagsasaayos ng kliyente. Ito ang pagsasaayos na gagamitin mo upang ikonekta ang iyong mga aparato sa iyong server. Bumalik sa folder ng certs at maghanda upang mabuo ang mga (s) client. Maaari kang pumili upang makabuo ng hiwalay na mga susi para sa bawat kliyente o isang key para sa lahat ng mga kliyente. Para sa paggamit ng bahay, ang isang susi ay dapat na maayos.
$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client
Ang proseso ay halos magkapareho sa server ng isa, kaya sundin ang parehong pamamaraan.
Pag-configure ng Client
Ang pagsasaayos para sa mga kliyente ay halos kapareho ng isa para sa server. Muli, mayroon kang isang paunang template upang mai-base ang iyong pagsasaayos. Kailangan mo lamang baguhin ito upang tumugma sa server.
Baguhin ang direktoryo ng kliyente. Pagkatapos, alisin ang pagsasaayos ng sample.
$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn
Buksan ang client.ovpn file sa iyong text editor. Pagkatapos, hanapin ang remote na pagpipilian. Sa pag-aakalang hindi ka pa gumagamit ng isang VPN, paghahanap ng Google "Ano ang aking IP." Kunin ang address na ipinapakita nito, at itakda ang remote na IP address dito. Iwanan ang numero ng port.
remote 107.150.28.83 1194 #That IP ironically ay isang VPN
Baguhin ang mga certs upang maipakita ang mga nilikha mo, tulad ng ginawa mo sa server.
ca ca.crt sert client.crt key client.key
Hanapin ang mga pagpipilian ng gumagamit, at uncomment ang mga ito. Maayos na patakbuhin ang mga kliyente bilang walang tao.
gumagamit ng walang tao group nogroup
Uncomment ang pagpipilian ng tls-auth para sa HMAC.
tls-auth ta.key 1
Susunod, hanapin ang pagpipilian ng cipher at siguraduhin na tumutugma ito sa server.
cipher AES-256-CBC
Pagkatapos, idagdag lamang ang mga paghihigpit ng digest at cipher na mga paghihigpit sa ilalim ng file.
# Authentication Digest auth SHA512 # Cipher Paghihigpit tls-cipher TLS-DHE-RSA-MAY-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-MAY -AES-256-CBC-SHA: TLS-DHE-RSA-MAY-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-MAY-AES-128-CBC-SHA: TLS-DHE-RSA-MAY-CAMELLIA -128-CBC-SHA
Kapag ang lahat ay mukhang tama, i-save ang file at exit. Gumamit ng tar upang i-pack up ang pagsasaayos at ang mga certs, upang maaari mong ipadala ang mga ito sa client.
$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C / etc / openvpn / certs / key ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn
Ilipat ang pakete na iyon sa kliyente subalit pinili mo. Ang SFTP, FTP, at isang USB drive ay lahat ng mahusay na mga pagpipilian.
Pagpapasa ng Port
Upang gumana ang anuman dito, kailangan mong i-configure ang iyong router upang maipasa ang papasok na trapiko ng VPN sa Pi. Kung gumagamit ka na ng VPN, kailangan mong tiyakin na hindi ka nakakonekta sa parehong port. Kung ikaw ay, baguhin ang port sa iyong kliyente at mga pagsasaayos ng server.
Kumonekta sa interface ng web ng iyong router sa pamamagitan ng pag-type sa IP address sa iyong browser.
Ang bawat router ay naiiba. Kahit na, lahat sila ay dapat magkaroon ng ilang anyo ng pag-andar na ito. Hanapin ito sa iyong router.
Ang pag-setup ay karaniwang pareho sa bawat router. Ipasok ang mga simula at pagtatapos ng mga port. Dapat silang pareho sa bawat isa at ang isa na iyong itinakda sa iyong mga pagsasaayos. Pagkatapos, para sa IP address, itakda iyon sa IP ng iyong Raspberry Pi. I-save ang iyong mga pagbabago.
Kumonekta Sa Client
Ang bawat kliyente ay naiiba, kaya't walang isang unibersal na solusyon. Kung nasa Windows ka, kakailanganin mo ang kliyente ng OpenVPN ng Windows .
Sa Android, maaari mong buksan ang iyong tarball, at ilipat ang mga susi sa iyong telepono. Pagkatapos, i-install ang OpenVPN app. Buksan ang app, at i-plug ang impormasyon mula sa iyong file ng pagsasaayos. Pagkatapos ay piliin ang iyong mga susi.
Sa Linux, kailangan mong i-install ang OpenVPN ng maraming katulad mo na ginawa para sa server.
$ sudo apt install openvpn
Pagkatapos, baguhin ang / atbp / openvpn, at alisin ang tarball na ipinadala mo.
$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz
Palitan ang pangalan ng client file.
$ sudo mv client.ovpn client.conf
Huwag simulan ang kliyente. Ito ay mabibigo. Kailangan mong paganahin ang pagpapasa ng port sa iyong router muna.
Pagwawakas ng Kaisipan
Dapat mayroon ka ngayong isang pag-setup ng nagtatrabaho. Ang iyong kliyente ay direktang kumonekta sa pamamagitan ng iyong router sa Pi. Mula doon, maaari kang magbahagi at kumonekta sa iyong virtual network, hangga't ang lahat ng mga aparato ay konektado sa VPN. Walang limitasyon, kaya maaari mong palaging ikonekta ang lahat ng iyong mga computer sa Pi VPN.