Simu elfu tano kwenye OpenVPN. Kuweka vigezo vya itifaki ya Diffie-Hellman. Inasanidi OpenVPN kwa ufikiaji wa mteja kwa rasilimali za mtandao wa ndani

OpenVPN ni kifurushi cha programu kinachokuruhusu kulinda trafiki ya Mtandao ya mtumiaji dhidi ya kusikilizwa, kutoa uhamishaji wa data uliosimbwa kwa njia fiche kutoka kwa kifaa cha mteja hadi kwa seva na OpenVPN iliyosakinishwa. Nzuri kwa kutumia umma pointi za wifi ufikiaji ambapo habari inaweza kuingiliwa na wahusika wengine. Au katika kesi wakati IP yako imezuiwa kwenye tovuti fulani na unahitaji kuepuka kizuizi hiki kwa usalama.

Mbali na kusakinisha na kusanidi OpenVPN kwenye seva, lazima uweze kusanidi mteja kwa ufikiaji kutoka kwa kompyuta ambapo, kama mfumo wa uendeshaji Windows itatumika.

Kwa kutumia kidhibiti cha kawaida cha kifurushi, sasisha openvpn.

# uwezo wa kusakinisha openvpn

OpenVPN inahitaji utengenezaji wa vyeti kwa seva na wateja. Hii ni ya kimantiki, kwa sababu muunganisho kutoka kwa mteja hadi kwa seva lazima ufiche.

Nenda kwenye folda ya openvpn:

# cd /etc/openvpn

Tutazalisha funguo kwa kutumia rahisi-rsa.

Unda folda iliyo na faili za usanidi na viungo vya hati za kutengeneza cheti:

# make-cadir rsa # cd rsa

Fungua faili ya usanidi vars na ubadilishe vigezo:

Hamisha KEY_COUNTRY="US" hamisha KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL=" [barua pepe imelindwa]"

KEY_COUNTRY- onyesha msimbo wa nchi (RU, UA, nk);
KEY_PROVINCE- hatua hii haifai ikiwa huishi Marekani. :) Inaweza kubadilishwa na XX;
KEY_CITY- mji wako unapoishi;
KEY_EMAIL- barua pepe yako.

Na pia ondoa laini ya usafirishaji KEY_CN, taja jina la seva kama thamani:

Hamisha KEY_CN="example.com"

Vigezo vyote vimejazwa kwa herufi za Kilatini.

Hifadhi faili na uiendeshe:

# . vars

Kisha endesha kuondoa vyeti vya zamani:

# ./safisha-yote

Unda cheti cha mizizi:

# ./build-ca

Iwapo wakati wa kutoa cheti cha mizizi utapokea hitilafu:0E065068:configuration file routines:STR_COPY:variable haina thamani:conf_def.c:618:line 198 , iongeze kwenye faili. vars mstari:

Hamisha KEY_ALTNAMES="kitu"

Na kisha utekeleze tena amri zilizotangulia: . vars, ./clean-all, ./build-ca.

Hatua inayofuata ni kuunda ufunguo na cheti cha seva.

# ./build-key-server

Kisha unda cheti na ufunguo kwa mteja:

# ./build-key mteja

Tafadhali kumbuka kuwa lazima utengeneze cheti chako na ufunguo kwa kila mteja. Unahitaji tu kutaja majina tofauti (badala ya mteja) na ubadilishe njia kwao kwenye faili za usanidi. Wakati huo huo, unaweza kulinda funguo za mteja na nenosiri; kwa kufanya hivyo, tumia amri jenga-ufunguo-pasi badala ya ufunguo wa kujenga.

# ./build-dh

Na ufunguo wa uthibitishaji wa tls:

# openvpn --genkey --secret /etc/openvpn/ta.key

Sasa unahitaji kunakili vyeti vya seva na funguo kwenye folda ya mipangilio ya OpenVPN:

# vitufe vya cp/ca.crt/server.crt keys/server.key key/dh2048.pem /etc/openvpn/

Na pia kuweka haki juu yao ambayo inaruhusu kusoma na kurekebisha tu kwa mmiliki wao.

# chmod 0600 /etc/openvpn/ca.crt /etc/openvpn/server.crt /etc/openvpn/server.key /etc/openvpn/dh2048.pem /etc/openvpn/ta.key

Hakikisha unakili kwenye kompyuta yako, kwa mfano, kwenye eneo-kazi lako, kutoka kwenye folda funguo funguo zinazohitajika ili kuunganisha mteja: mteja.crt, mteja.ufunguo, ca.crt, ufunguo wa ta.

Hii inakamilisha mchakato wa kuandaa vyeti.

Urekebishaji wa Seva

Saraka ya /usr/share/doc/openvpn/ ina faili ya mfano ya kusanidi seva ya Openvpn. Nakili kwa /etc/openvpn/ saraka na uifungue:

Cd /etc/openvpn;cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/;gunzip server.conf.gz

Sasa hebu tuangalie vigezo muhimu kwa openvpn kufanya kazi.

Lango ambalo Openvpn itakubali miunganisho. Chaguo-msingi ni 1194. Ninapendekeza kuibadilisha kwa madhumuni ya kuficha. Unaweza hata kuficha OpenVPN kama seva ya Wavuti kwa kubainisha bandari 80.

Bandari ya 20100

Tunasajili njia za cheti na faili muhimu za seva.

Ca ca.crt cert server.crt key server.key

Njia ya ufunguo wa Diffie-Hellman.

Dh dh2048.pem

Njia zinaweza kubainishwa ama jamaa na saraka ya /etc/openvpn (ikiwa faili ziko ndani yake) au kabisa.

Tafuta na uondoe maoni kwenye mstari:

Bonyeza "redirect-gateway def1 bypass-dhcp"

Inahitajika ili kuweza kufikia Mtandao kupitia seva ya OpenVPN. Ikiwa hutaiondoa, basi kompyuta tu ndani ya mtandao zitapatikana.

Pia unahitaji kubainisha seva za DNS kwa kuunganisha wateja.

Bonyeza "dhcp-chaguo DNS 213.183.57.55" shinikiza "dhcp-chaguo DNS 87.98.175.85"

Kulingana na eneo la seva, unaweza kuchagua seva zingine za DNS, kwa mfano, kwenye mradi wa OpenNIC.

Tls-auth ta.key 0

Makini! Katika mipangilio ya mteja, nambari ya mwisho ya paramu hii inapaswa kubadilishwa na 1 - tls-auth ta.key 1.

Chini katika faili ya usanidi kuna orodha ya misimbo inayopatikana. Toa maoni kwa msimbo AES-128-CBC.

Cipher AES-128-CBC#AES

Ikiwa ni lazima, inaweza kubadilishwa na AES-256-CBC. Cipher katika faili ya usanidi wa mteja lazima iwe sawa na cipher ya seva.

Pia ongeza parameta ya auth. Kwa chaguo-msingi, funguo za sha1 zilizo na urefu wa bits 160 hutumiwa kwa uthibitishaji, lakini algorithm ya sha1 inatambuliwa kuwa hatari. Kubainisha kigezo kifuatacho kutatumia funguo 512-bit SHA512.

Thibitisha SHA512

Na pia kigezo cha tls-version-min, ambacho huamua toleo la tls la kutumia. KATIKA kwa kesi hii, toleo la hivi punde 1.2. Makini! Kidhibiti cha Mtandao hakiauni (wakati wa kuandika) chaguo hili. Kwa hiyo, ikiwa unapanga kuunganisha Seva ya VPN kupitia Kidhibiti cha Mtandao, basi parameta hii HAIJAbainishwa katika mipangilio ya seva.

Tls-toleo-dakika 1.2

OpenVPN haipaswi kuendeshwa kama mzizi. Kwa hivyo ondoa mistari:

Mtumiaji hakuna kundi nogroup

Itakuwa wazo nzuri kuwezesha kumbukumbu kwa OpenVPN. Hasa wakati wa hatua za kwanza za matumizi baada ya kuanzisha ili kupata makosa, nk.

Ingia /var/log/openvpn.log

Acha vigezo vingine vyote vya faili ya usanidi /etc/openvpn/server.conf na maadili chaguo-msingi. Hii inakamilisha usanidi wa seva ya OpenVPN.

Washa openvpn kwa amri:

# systemctl wezesha openvpn

Na uanze upya:

# huduma openvpn iwashe tena

Pia itakuwa wazo nzuri kuangalia logi kwa makosa.

Elekeza tena trafiki kupitia OpenVPN

Ili kuweza kufikia Mtandao kupitia seva ya OpenVPN, unahitaji kufanya kitu kwa hili.

1. Sanidi sysctl

Kwenye koni, endesha amri:

# sysctl net.ipv4.ip_forward

Ikiwa pato la amri ni sawa na net.ipv4.ip_forward = 1, basi hakuna kitu kinachohitaji kubadilishwa. Ikiwa thamani ya kutofautiana ni 0, basi kwa faili /etc/sysctl.conf unahitaji kuongeza mstari:

Net.ipv4.ip_forward = 1

Na pakia tena sheria na amri:

# sysctl -p

2. Sanidi iptables

Endesha amri zifuatazo kwenye koni moja baada ya nyingine:

# iptables -A MBELE -i eth0 -o tun0 -m hali --hali IMEANZISHWA,INAYOHUSIANA -j KUBALI # iptables -A MBELE -s 10.8.0.0/24 -o eth0 -j KUBALI # iptables -t nat -A POSTROUTING - s 10.8.0.0/24 -o eth0 -j MASQUERADE

Kwa hivyo, tutaruhusu trafiki kupita kwa seva ya OpenVPN kwa subnet ya 10.8.0.0 ndani ya mfumo wa miunganisho iliyoanzishwa tayari.

Ikiwa mteja wa openvpn anahitaji kupeana anwani maalum ya IP ya nje kwa seva, basi badala ya amri ya mwisho kutoka kwa orodha ya zile za awali za iptables, unahitaji kuendesha hii:

A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 127.0.0.1

Ambapo baada ya parameter --kwa-chanzo unapaswa kutaja IP ya nje ya seva.

OpenVPN mteja kwa Windows

Wacha tuanze kusanidi mteja wa Openvpn kwenye Windows. Kila kitu ni rahisi hapa: kufunga kutoka kwa tovuti rasmi, kuunda faili ya usanidi na uzinduzi.

Inastahili kuzingatia kwamba unapaswa kuendesha OpenVPN kwenye Windows na haki za msimamizi ikiwa Udhibiti wa Akaunti ya Mtumiaji unafanya kazi.

Ikiwa haukubadilisha njia ya usakinishaji, basi mfano faili za usanidi kwenye PC yako ziko kwenye saraka C:\Program Files\OpenVPN\sampuli-config. Nakili faili kutoka hapa mteja.ovpn na kuiweka kwenye saraka C:\Program Files\OpenVPN\config.

Je, unakumbuka vyeti vilivyoundwa kwa ajili ya mteja? Zinapaswa pia kupakuliwa kutoka kwa seva na kunakiliwa kwenye saraka hii.

Fungua faili ya usanidi ya mteja.ovpn na upate parameter kijijini-seva yangu-1 1194. Badala ya seva yangu, taja ip au Jina la kikoa seva yako. Kisha bandari ambayo tulibadilisha hapo awali. Kama matokeo, mstari unaweza kuonekana kama hii:

Ca ca.crt cert client.crt key client.key

Unapaswa pia kutoa maoni kwa parameta inayobainisha njia ya kitufe cha tls.

Tls-auth ta.key 1

Tayari ilisemwa hapo awali kwamba nambari ya mwisho kwenye seva inapaswa kuwa 0, kwa mteja - 1.

Na vigezo vya mwisho ni misimbo uliyoweka kwenye seva.

Cipher AES-128-CBC auth SHA512 tls-version-min 1.2

Hii ndiyo yote inahitajika ili kusanidi mteja. Jaribu kuendesha mteja wa OpenVPN na kuunganisha kwenye seva yako. Taarifa muhimu ya uunganisho itaonyeshwa kwenye dirisha la openvpn gui.

OpenVPN na NetworkManager

Inasakinisha kiolesura cha picha kwa Kidhibiti cha Mtandao.

# uwezo wa kusakinisha meneja wa mtandao-openvpn-gnome

Na tunaanza upya.

Kidhibiti-mtandao cha huduma # anzisha upya

Tunakili vyeti vilivyotolewa kwa mteja kwenye folda ya kiholela kwenye kompyuta. Kwa mfano, katika /home/user/.openvpn/.

Bofya kulia kwenye ikoni meneja wa mtandao, chagua kipengee cha "badilisha miunganisho", ongeza muunganisho mpya wa aina ya "OpenVPN".

Tunaashiria:

  • Jina la muunganisho
  • Lango (kikoa au ip ya seva)
  • Aina: vyeti

Cheti cha mtumiaji ni cheti tulichotengeneza mwanzoni kwa mteja (client.crt).
Cheti cha CA - faili ya ca.crt.
Ufunguo wa faragha ni ufunguo wa mteja (client.key).

Bonyeza kitufe cha "Advanced". Katika dirisha linalofungua, kwenye kichupo cha "Jumla" utahitaji kubadilisha vitu kadhaa.

  • Tumia lango tofauti la lango (ikiwa ulibainisha lisilo la kawaida wakati wa kusanidi seva)
  • Tumia compression ya lzo

Badili hadi kichupo cha "Usalama". Chagua cipher kama katika vigezo vya seva. Thamani ya kigezo cha "Uthibitishaji wa Hmac" inapaswa kuwekwa kwa kanuni, kama ilivyo katika thamani ya uthibitishaji wa seva. Katika makala tulichagua SHA512.

Fungua kichupo cha "Uthibitishaji wa TLS" na uangalie visanduku:

  • Thibitisha programu rika...
  • Tumia uthibitishaji wa hiari wa TLS

Kwa kigezo cha mwisho, taja njia ya faili ya ta.key, chagua 1 kama mwelekeo muhimu kutoka kwenye orodha ya kushuka.Sawa na faili ya usanidi ya Windows.

Tunahifadhi muunganisho na jaribu kuunganisha. :)

Ikiwezekana, wacha tuangalie NM inaandika nini wakati wa kuunganisha kwenye logi ya mfumo:

# mkia -f /var/log/syslog

Katika kuwasiliana na

Kibanda hiki ni dondoo kutoka kwa vifungu vingi na maelezo madogo ya hatua na bila maji. Inachukuliwa kuwa mamlaka ya uthibitishaji na seva ya OpenVPN ziko kwenye seva pangishi sawa. Kwa kuongezea, nimechoka kuvinjari mada hii kila wakati, kwa sababu ... Idadi kubwa ya miongozo imepitwa na wakati, ambayo inamaanisha inachukua muda mwingi kuboresha huduma.

Kuanzisha OpenVPN kwa ufikiaji wa mteja kwa rasilimali za mtandao wa ndani

Seva

Mipangilio ya seva

Sakinisha OpenVPN na uunde mtumiaji wa jina moja ambalo daemon itaendesha:

Apt install openvpn adduser --system --no-create-home --disabled-login --group openvpn

Unda usanidi wa seva ya openvpn na maudhui yafuatayo:

Mcedit /etc/openvpn/server.conf port 1194 proto udp dev tun0 #user openvpn #group openvpn dh /etc/openvpn/keys/dh.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys /vpn-server.crt ufunguo /etc/openvpn/keys/vpn-server.key tls-auth /etc/openvpn/keys/ta.key 0 #crl-verify /etc/openvpn/keys/crl.pem script-security 2 cipher AES-256-CBC tls-server comp-lzo bubu 10 persist-key endelea-tun max-clients 50 keepalive 10 900 client-config-dir /etc/openvpn/ccd ifconfig-pool-persist /etc/openvpn/ccd /ipp.txt seva 10.15.0.0 255.255.255.0 ### Chaguo hizi zinahitaji maelezo fulani. # Sukuma (hamisha kwa mteja) sukuma seva yako ya DNS "dhcp-option DNS 192.168.0.1" # Sukuma jina la kikoa shinikiza "dhcp-option DOMAIN mydomain.com" # Sukuma njia ndogo ya ndani. Ili wateja waweze kuipata, bonyeza "njia 192.168.0.0 255.255.254.0" ### /var/log/openvpn/openvpn-status.log 1 status-version 3 log-append /var/log/openvpn / openvpn-server.log kitenzi 5

Unda saraka za kumbukumbu na kuhifadhi anwani za IP za mteja:

Mkdir /var/log/openvpn/ mkdir /etc/openvpn/ccd

Kituo cha idhini na funguo

Enda kwa saraka ya nyumbani, pakua na upakue toleo la easyrsa 3:

Cd wget https://github.com/OpenVPN/easy-rsa/archive/master.zip unzip master.zip

Nenda kwenye saraka ya easyrsa3 na utangaze vijiti vyake:

Cd ~/easy-rsa-master/easyrsa3 cp ~/easy-rsa-master/easyrsa3/vars.mfano ~/easy-rsa-master/easyrsa3/vars

Anzisha PKI (Miundombinu muhimu ya Umma):

./easyrsa init-pki

Unda cheti cha mizizi. Inahitajika ili kuingia nenosiri tata na Jina la kawaida la seva, kwa mfano seva yangu ya vpn:

./easyrsa build-ca

Unda funguo za Diffie-Hellman:

./easyrsa gen-dh

Unda ombi la cheti kwa seva ya OVPN. Tafadhali kumbuka kuwa cheti hakitakuwa na nenosiri (kigezo cha nopass), vinginevyo OpenVPN itauliza nenosiri hili kila unapoanza:

./easyrsa gen-req vpn-server nopass

Unda cheti cha seva ya OVPN yenyewe:

./easyrsa sign-req seva vpn-server

Nakili funguo zilizopokelewa kwenye saraka ya kazi ya openvpn:

Mkdir -p /etc/openvpn/keys cp ~/easy-rsa-master/easyrsa3/pki/ca.crt /etc/openvpn/keys cp ~/easy-rsa-master/easyrsa3/pki/issued/vpn-server. crt /etc/openvpn/keys cp ~/easy-rsa-master/easyrsa3/pki/private/vpn-server.key /etc/openvpn/keys cp ~/easy-rsa-master/easyrsa3/pki/dh.pem / nk/openvpn/funguo

Unda “Ngome ya ulinzi ya HMAC” ili kulinda dhidi ya mashambulizi ya DoS na mafuriko kwenye bandari ya UDP:

Cd /etc/openvpn/keys/ openvpn --genkey --secret ta.key

Zindua openvpn:

/etc/init.d/openvpn anza

Mteja

Funguo

Kuunda ombi la ufunguo unaolindwa na nenosiri kwa mteja (unahitajika kuingizwa kila wakati unapounganisha) na jina la Mtumiaji:

Cd ~/easy-rsa-master/easyrsa3 ./easyrsa gen-req Mtumiaji

./easyrsa gen-req Nopass ya mtumiaji

Kuunda ufunguo wa mtumiaji (kwa chaguo-msingi kutoka kwa vars kwa muda wa miaka 10):

./easyrsa sign-req mteja Mtumiaji

Au na kikomo cha uhalali wa cheti cha siku 90 (baada ya kuisha, unaweza kukitoa tena):

./easyrsa sign-req mteja User -days 90

Hamisha faili hizi kwa mteja:

~/easy-rsa-master/easyrsa3/pki/issued/User.crt ~/easy-rsa-master/easyrsa3/pki/private/User.key ~/easy-rsa-master/easyrsa3/pki/ca.crt / nk/openvpn/keys/ta.key

Sanidi

mteja dev tun proto udp kijijini xxx.xxx.xxx.xxx 1194 cipher AES-256-CBC tls-client ca "ca.crt" tls-auth "ta.key" cert 1 "User.crt" key "User.key" seva ya remote-cert-tls comp-lzo tun-mtu 1500 mssfix 1450 kitenzi 3 nobind suluhisha-jaribu tena isiyo na mwisho

Kwa urahisi, faili zote tano za mteja zinaweza kuwa

Kufutwa kwa vyeti

Inazalisha faili muhimu iliyobatilishwa:

Cd ~/easy-rsa-master/easyrsa3 ./easyrsa gen-crl

Ln -s ~/easy-rsa-master/easyrsa3/pki/crl.pem /etc/openvpn/keys

Ongeza mstari kwa /etc/openvpn/server.conf

Crl-verify /etc/openvpn/keys/crl.pem

Kubatilisha cheti cha Mtumiaji:

./easyrsa batilisha Mtumiaji

Kila wakati unapobatilisha cheti, lazima usasishe crl.pem ili kukifanya mabadiliko:

./easyrsa gen-crl

Kumbuka: faili muhimu ya jina moja haiwezi kuundwa hadi ya zamani itakapofutwa. Ukijaribu kuunda cheti na jina lililopo, utapokea hitilafu:

Imeshindwa kusasisha hifadhidata Hitilafu ya Easy-RSA: utiaji saini umeshindwa (openssl towe hapo juu inaweza kuwa na maelezo zaidi)

Usanidi wa Iptables Ndogo kwa ufikiaji wa mteja wa OpenVPN kwa mtandao wa ndani

# Wezesha mbele katika mwangwi wa kernel "1" > /proc/sys/net/ipv4/ip_forward # Ruhusu miunganisho inayoingia kwenye bandari ya OVPN iptables -A INPUT -p UDP --dport 1194 -j ACCEPT # Ruhusu mbele kati ya subnet ya OVPN na mitaa # Zaidi ya hayo, ziweke mwanzoni mwa mlolongo, ikiwa kuna sheria nyingi iptables -A FORWARD -s 10.15.0.0/24 -d 192.168.0.0/24 -j KUBALI iptables -A MBELE -d 10.15.0.0 /24 -s 192.168.0.0/ 24 -j KUBALI

Inasanidi OpenVPN ili kufikia Mtandao

Nilikutana na thread, nikacheka na kuamua kuongeza maelezo. Ikiwa OpenVPN inahitajika ili kufikia Mtandao, unahitaji kufanya OpenVPN kuwa lango chaguo-msingi na urekebishe sheria za iptables.
Kwa kweli, usanidi wa seva:

Port 1194 proto udp dev tun0 dh /etc/openvpn/keys/dh.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/vpn-server.crt ufunguo /etc/openvpn/keys/vpn -server.key tls-auth /etc/openvpn/keys/ta.key 0 crl-verify /etc/openvpn/keys/crl.pem script-security 2 cipher AES-256-CBC tls-server comp-lzo bubu 10 inaendelea -key persist-tun max-clients 50 keepalive 10 900 client-config-dir /etc/openvpn/ccd ifconfig-pool-persist /etc/openvpn/ccd/ipp.txt seva 10.15.0.0 255.255.255.0 push-gateway. def1" hali /var/log/openvpn/openvpn-status.log 1 status-version 3 log-append /var/log/openvpn/openvpn-server.log kitenzi 5

Usanidi wa mteja hautatofautiana na hapo juu.

Kima cha chini cha usanidi wa Iptables kwa wateja wa OpenVPN kufikia Mtandao

sheria za iptables:

# Wezesha mbele katika mwangwi wa kernel "1" > /proc/sys/net/ipv4/ip_forward # Ruhusu miunganisho inayoingia kwenye bandari ya OVPN iptables -A INPUT -p UDP --dport 1194 -j ACCEPT # Ruhusu pakiti za usafiri kwa OpenVPN iptables subnet -A FORWARD -s 10.15.0.0/24 -j KUBALI iptables -A FORWARD -d 10.15.0.0/24 -j KUBALI # x.x.x.x - IP ya nje ya seva, ikiwa ni iptables tuli -t nat -A POSTROUTING s 10.15.0.0/ 24 -j SNAT --to-source x.x.x.x # Ikiwa IP ya nje ya seva ni yenye nguvu, basi tumia hii badala ya kanuni ya awali # iptables -t nat -A POSTROUTING -s 10.15.0.0/24 - j MASQUERADE

Baadhi ya maelezo

Ili kuwatenga uwezekano wa shambulio la mitm, kosa ambalo linaonekana kama hii kwenye kumbukumbu za mteja:

ONYO: Hakuna mbinu ya uthibitishaji wa cheti cha seva iliyowezeshwa. Tazama http://openvpn.net/howto.html#mitm kwa habari zaidi.

Seva ya kigezo ya remote-cert-tls inatumika, ambayo tayari iko kwenye usanidi wa mteja.

Orodha ya vyeti halali na vilivyobatilishwa

Orodha ya vyeti halali na vilivyobatilishwa inaweza kutazamwa katika faili ~/easy-rsa-master/easyrsa3/pki/index.txt. Mwanzo wa mstari wa maelezo kwa kila cheti huanza na herufi V au R, ambayo ina maana Halali na Imebatilishwa, kwa mfano:

V 241019110411Z 01 haijulikani /CN=vpn-server R 241019110842Z 141202085241Z 02 haijulikani /CN=User1 R 241020105823Z 1412011030 haijulikani 1Z 1030 1/1030 3Z 1034 1Z 9 41 202085814Z 04 haijulikani /CN=User2 V 141203091049Z 05 haijulikani /CN=User3

Kama unaweza kuona, cheti cha kwanza na cha tano ni halali, 2-4 zimefutwa.

Ikiwa mteja yuko kwenye Windows

Sakinisha OpenVPN GUI kwa kupakua kutoka hapa. Nakili funguo za mteja kwenye C:\Program Files\OpenVPN\config\ . Nakili usanidi wa mteja na ubandike kwenye faili ya client.ovpn na kuiweka hapo. Kunapaswa kuwa na jumla ya faili tano katika saraka hii - User.crt, User.key, ca.crt, ta.key, client.ovpn.
Hakikisha kuendesha OpenVPN GUI kama msimamizi, vinginevyo njia hazitafufuliwa katika mfumo, na kuunganisha bonyeza mara mbili kwa icon kwenye tray (eneo karibu na saa, kwa kawaida katika kona ya chini ya kulia).

Juni 19, 2018 11:32 asubuhi Maoni 2,171 | Hakuna maoni

1: Sakinisha OpenVPN

Sasisha faharasa ya kifurushi:

Kifurushi cha OpenVPN kinapatikana katika hazina chaguomsingi, kwa hivyo unaweza kutumia apt kwa usakinishaji. Utahitaji pia kifurushi cha rahisi-rsa, ambacho kitakusaidia kuunda mamlaka ya cheti cha ndani (CA) kwa VPN.

apt-get install openvpn rahisi-rsa

2: Kuanzisha OpenVPN

Unapaswa kutoa sampuli ya faili ya usanidi wa VPN kutoka /etc/openvpn na uiongeze kwenye usakinishaji wako. Ili kufanya hivyo, tumia amri:

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

Kisha fungua server.conf katika kihariri cha maandishi:

nano /etc/openvpn/server.conf

Kuna mabadiliko kadhaa unayohitaji kufanya kwenye faili.

  • Linda seva zaidi ngazi ya juu usimbaji fiche
  • Elekeza upya trafiki ya wavuti hadi unakoenda
  • Zuia hoja za DNS kuvuja nje ya muunganisho wa VPN
  • Weka haki za ufikiaji.

Kwanza, ongeza urefu wa ufunguo wa RSA mara mbili. Ili kufanya hivyo, tafuta mstari:

# Vigezo vya Diffie hellman.
# Tengeneza yako mwenyewe na:
# openssl dhparam -out dh1024.pem 1024
# Badilisha 2048 kwa 1024 ikiwa unatumia
#2048 funguo kidogo.
dh dh1024.pem

Na ubadilishe thamani yake kuwa dh2048.pem:

dh dh2048.pem

Tafuta sehemu ya lango-mwingine na uondoe nusu-koloni mwanzoni mwa njia ya kuelekeza-lango-mwingine ili uitoe maoni. Hii itamruhusu mteja kuelekeza trafiki yake kupitia seva ya OpenVPN.

# Ikiwashwa, maagizo haya yatasanidi
# wateja wote kuelekeza upya chaguo-msingi lao
# lango la mtandao kupitia VPN, na kusababisha
# trafiki yote ya IP kama vile kuvinjari wavuti na
# na utafutaji wa DNS ili kupitia VPN
# (Mashine ya seva ya OpenVPN inaweza kuhitaji NAT
# au unganisha kiolesura cha TUN/TAP kwenye mtandao
# ili hii ifanye kazi vizuri).
;sukuma "redirect-lango def1 bypass-dhcp"

Kama matokeo, mstari unapaswa kuonekana kama hii:

kushinikiza "redirect-lango def1 bypass-dhcp"

Unapaswa pia kuruhusu seva kutumia OpenDNS kwa azimio la DNS ikiwezekana. Hii itasaidia kuzuia hoja za DNS kuvuja nje ya muunganisho wa VPN.

# Mipangilio fulani ya mtandao maalum ya Windows
# inaweza kusukumwa kwa wateja, kama vile DNS
# au anwani za seva za WINS. TAARIFA:
# http://openvpn.net/faq.html#dhcpcaveats
# Anwani zilizo hapa chini zinarejelea umma
Seva # za DNS zinazotolewa na opendns.com.
;shinikiza "dhcp-chaguo DNS 208.67.222.222"
;shinikiza "dhcp-chaguo DNS 208.67.220.220"

Toa maoni kwenye mistari bonyeza "dhcp-option DNS 208.67.222.222" na ubonyeze "dhcp-option DNS 208.67.220.220".

kushinikiza "dhcp-chaguo DNS 208.67.222.222"
kushinikiza "dhcp-chaguo DNS 208.67.220.220"

Sasa fafanua ruhusa katika server.conf:

# Unaweza toa maoni yako juu ya hili
Mifumo # isiyo ya Windows.
; mtumiaji hakuna
; kundi nogroup

Toa maoni kwa mistari yote miwili:

mtumiaji hakuna mtu
kundi nogroup

Kwa msingi, OpenVPN huendesha kama mtumiaji wa mizizi na kwa hivyo ina ufikiaji kamili wa mfumo. OpenVPN inahitaji kuwekewa vikwazo katika haki, na kwa hili huhitaji kutumia mtu yeyote na hakuna kikundi. Huyu ni mtumiaji asiyejaliwa asiye na uwezo wa kuingia kwa chaguo-msingi, mara nyingi huhifadhiwa kwa ajili ya kuendesha programu zisizoaminika.

Hifadhi na funga faili.

3: Uelekezaji wa Pakiti

Hiki ni kigezo cha sysctl ambacho huambia kernel ya seva kusambaza trafiki kutoka kwa vifaa vya mteja hadi kwenye Mtandao. Vinginevyo, trafiki itaacha kwenye seva. Unaweza kuwezesha usambazaji wa pakiti kwa kutumia amri hii:

echo 1 > /proc/sys/net/ipv4/ip_forward

Fanya thamani hii iwe ya kudumu ili irejeshwe baada ya kuwasha upya:

nano /etc/sysctl.conf

Tafuta mstari net.ipv4.ip_forward.


#net.ipv4.ip_forward=1

Iondoe maoni:

# Toa maoni kwenye mstari unaofuata ili kuwezesha usambazaji wa pakiti kwa IPv4
net.ipv4.ip_forward=1

Hifadhi na funga faili.

4: Kusanidi ngome ya ufw

ufw ni kiolesura cha iptables. Kuweka ufw ni rahisi sana. Unahitaji kuongeza sheria chache na kufanya mabadiliko kadhaa ya usanidi na kisha uwashe.

Sakinisha ufw:

apt-get install ufw

Washa usaidizi wa SSH:

Katika mwongozo, OpenVPN inafanya kazi kupitia UDP, fungua trafiki hii kwenye bandari 1194.

ufw ruhusu 1194/udp

Lazima pia usanidi sera ya uelekezaji ya UFW. Tutafanya hivyo katika faili kuu ya usanidi wa UFW.

nano /etc/default/ufw

Tafuta DEFAULT_FORWARD_POLICY="DROP". Badilisha thamani katika nukuu na KUBALI.

DEFAULT_FORWARD_POLICY="KUBALI"

Hifadhi na funga faili.

Kisha ongeza sheria za ziada za ufw za tafsiri ya anwani ya mtandao na uigaji wa IP kwa wateja waliounganishwa.

nano /etc/ufw/before.rules

Mwanzo wa faili ya before.rules inahitaji kuhaririwa kama inavyoonyeshwa hapa chini. Unahitaji kuongeza sehemu iliyoangaziwa kwa rangi nyekundu:

#sheria.kabla
#
# Sheria ambazo zinapaswa kuendeshwa kabla ya safu ya amri ya ufw iliyoongezwa. Desturi
Sheria # zinapaswa kuongezwa kwa moja ya minyororo hii:
# ufw-kabla-ingizo
# ufw-kabla-matokeo
# ufw-mbele-mbele
#
# ANZA SHERIA ZA OPENVPN

Sheria za jedwali # NAT

*nat

:KUACHILISHA KUBALI


# Ruhusu trafiki kutoka kwa mteja wa OpenVPN hadi eth0


-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE


JITOE

# MALIZA SHERIA ZA OPENVPN
#"Usifute mistari hii inayohitajika, vinginevyo kutakuwa na makosa
*chujio

Hifadhi na funga faili.

Sasa unaweza kuwezesha firewall:

ufw wezesha
Amri inaweza kuharibu miunganisho iliyopo ya ssh. Ungependa kuendelea na operesheni (y|n)?

Chagua y:

Firewall inatumika na imewezeshwa wakati wa kuanzisha mfumo

Sasa angalia sheria na hali ya firewall:

hali ya ufw
Hali: hai
Kwa Hatua Kutoka
-- ------ ----
22 RUHUSU Popote
1194/udp RUHUSU Popote
22 (v6) RUHUSU Popote (v6)
1194/udp (v6) RUHUSU Popote (v6)

5: Kuunda Mamlaka ya Cheti

OpenVPN hutumia vyeti kusimba trafiki kwa njia fiche.

Katika sehemu hii, tutaunda CA katika hatua mbili: ya kwanza ni kuweka vigezo, pili ni kuzalisha CA.

OpenVPN inaauni uthibitishaji unaotegemea cheti pande mbili, ambayo ina maana kwamba mteja lazima athibitishe cheti cha seva na seva lazima ithibitishe cheti cha mteja ili kuanzisha kuaminiana.

Nakili maandishi ya Easy-RSA:

cp -r /usr/share/easy-rsa/ /etc/openvpn

Unda saraka kwa funguo:

mkdir /etc/openvpn/easy-rsa/keys

Easy-RSA hutoa faili inayobadilika ambayo inaweza kuhaririwa ili kuunda vyeti vyenye thamani chaguomsingi zilizobainishwa awali. Maelezo haya yanakiliwa katika vyeti na funguo na yatasaidia kutambua funguo baadaye.

nano /etc/openvpn/easy-rsa/vars

Thamani zilizoangaziwa katika nyekundu lazima zibadilishwe na data yako mwenyewe:

hamisha KEY_COUNTRY="US"
hamisha KEY_PROVINCE="TX "
hamisha KEY_CITY="Dallas"
export KEY_ORG="Jina la Kampuni Yangu"
hamisha KEY_EMAIL=" [barua pepe imelindwa] "
export KEY_OU="MYOrganizationalUnit "

Katika faili sawa ya vars, hariri mstari hapa chini. Kwa urahisi, tunapendekeza kutumia seva kama jina. Ikiwa ungependa kutumia jina tofauti, utahitaji kusasisha faili za usanidi za OpenVPN zinazorejelea server.key na server.crt. Tafuta:

#X509 Sehemu ya Mada
hamisha KEY_NAME=" EasyRSA "

Na ubadilishe thamani yake:

#X509 Sehemu ya Mada
hamisha KEY_NAME="seva"

Hifadhi na funga faili.

Sasa tunahitaji kutengeneza kitufe cha Diffie-Hellman; hii inaweza kuchukua dakika kadhaa. Bendera ya -out inabainisha mahali pa kuhifadhi vigezo vipya.

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

Nenda kwenye saraka:

cd /etc/openvpn/easy-rsa

Anzisha PKI (Miundombinu muhimu ya Umma). Kumbuka kipindi (.) na nafasi kabla ya ./varscommand. Hii inabainisha saraka ya kazi ya sasa.

Amri itarudisha matokeo yafuatayo. Kwa kuwa hakuna kitu kwenye saraka ya funguo bado, hii ni pato la kawaida.

KUMBUKA: Ukikimbia ./clean-all, nitakuwa nikifanya rm -rf kwenye /etc/openvpn/easy-rsa/keys

Sasa unahitaji kufuta saraka yako ya kazi ya funguo zozote za zamani zinazowezekana au faili za sampuli ili kutoa nafasi kwa funguo mpya.

Amri hii ya mwisho huunda mamlaka ya cheti (CA) kwa kuita amri ingiliani ya OpenSSL. Toleo litakuuliza uthibitishe vigeu ambavyo ulifafanua hapo awali katika faili ya Easy-RSA (jina la nchi, shirika, n.k.).

Ili kukubali maadili chaguo-msingi, bonyeza tu Enter.

CA iko tayari.

6: Kuzalisha funguo za seva na vyeti

Kukaa kwenye saraka /etc/openvpn/easy-rsa, sasa ingiza amri ili kuunda ufunguo wa seva. Thamani ya seva ni kigezo cha kuhamisha KEY_NAME ambacho umeweka katika faili ya Vars Easy-RSA.

./build-key-server seva

Amri itatoa karibu towe sawa na kukimbia ./build-ca, na unaweza kubonyeza Enter tena ili kukubali maadili chaguo-msingi. Walakini, wakati huu kuna mistari miwili zaidi:



Nenosiri la changamoto:
Jina la kampuni la hiari:

Acha mistari yote miwili wazi kwa kubonyeza Enter.

Mwishowe kutakuwa na mistari miwili zaidi ambayo unahitaji kujibu y:

Kutia saini cheti?

Mstari wa mwisho utatoa:


Msingi wa Data Umesasishwa

7: Vifunguo vya Seva ya Kusonga na Vyeti

OpenVPN itatafuta CA, cheti na ufunguo wa seva katika /etc/openvpn. Nakili hadi eneo sahihi.

cp /etc/openvpn/easy-rsa/keys/(server.crt,server.key,ca.crt) /etc/openvpn

Unaweza kuthibitisha kuwa operesheni ilifanikiwa:

Unapaswa kuona cheti cha seva na faili muhimu.

Seva ya OpenVPN sasa iko tayari kuanza. Iendesha na uangalie hali:

huduma openvpn kuanza
hali ya huduma ya openvpn

Amri ya mwisho itajibu:

* openvpn.service - Huduma ya OpenVPN
Imepakiwa: imepakiwa (/lib/systemd/system/openvpn.service; imewezeshwa)
Imetumika: hai (imetoka) tangu Alhamisi 2015-06-25 02:20:18 EDT; 9 zilizopita
Mchakato: 2505 ExecStart=/bin/true (code=imetoka, hali=0/SUCCESS)
PID kuu: 2505 (code=imetoka, hali=0/SUCCESS)

Seva ya OpenVPN inafanya kazi!

Ikiwa amri inaripoti kwamba VPN haifanyi kazi, angalia /var/log/syslog:

Hitilafu ya chaguo: --key inashindwa na "server.key": Hakuna faili au saraka kama hiyo

Hitilafu hii inasema kwamba server.key haikunakiliwa ipasavyo kwa /etc/openvpn. Nakili tena na ujaribu kuanzisha seva.

8: Kuzalisha vyeti vya mteja na funguo

Hapo awali, ulisakinisha na kusanidi seva ya OpenVPN, uliunda mamlaka ya cheti na cheti cha seva na ufunguo. Katika hatua hii, unahitaji kutumia CA ya seva ili kuunda vyeti na funguo kwa kila kifaa cha mteja kitakachounganishwa kwenye VPN.

Kuunda funguo na vyeti

Kumbuka: Kwa chaguomsingi, OpenVPN haiauni miunganisho ya mteja kwa wakati mmoja kwa seva iliyoundwa na cheti na ufunguo sawa (angalia nakala-cn katika /etc/openvpn/server.conf).

Ili kuunda kitambulisho cha kibinafsi kwa kila kifaa unachopanga kuunganisha kwenye VPN, lazima urudie sehemu hii kwa kila moja (lakini lazima ubadilishe jina la mteja, kama vile client2 au iphone2). Ikiwa una kitambulisho mahususi, vifaa vinaweza baadaye kuzimwa kibinafsi. Katika somo hili, jina la mteja lililotumika katika mifano ni mteja1.

Kusanya ufunguo wa mteja mteja1 kwenye saraka ya /etc/openvpn/easy-rsa.

./build-key mteja1

Utaombwa tena kubadilisha au kuthibitisha viambajengo na mistari hii miwili, ambayo inapaswa kuwa tupu. Bonyeza Enter ili kukubali thamani chaguomsingi.

Tafadhali ingiza sifa "za ziada" zifuatazo
kutumwa na ombi lako la cheti
Nenosiri la changamoto:
Jina la kampuni la hiari:

Kama hapo awali, mistari miwili inayofuata mwishoni mwa mchakato wa ujenzi inahitaji jibu y:

Kutia saini cheti?
Ombi la cheti 1 kati ya 1 limethibitishwa, unajitolea?

Ikiwa kusanyiko kuu lilifanikiwa, matokeo yataonekana tena kama hii:

Andika hifadhidata iliyo na maingizo 1 mapya
Msingi wa Data Umesasishwa

Mfano wa faili ya usanidi wa mteja inapaswa kunakiliwa kwenye saraka ya vitufe vya Easy-RSA na kutumika kama kiolezo ambacho kitapakuliwa kwa vifaa vya mteja ili kuhaririwa. Wakati wa mchakato wa kunakili, unahitaji kubadilisha jina la faili kutoka client.conf hadi client.ovpn kwa sababu ni lazima wateja watumie kiendelezi cha .ovpn.

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf

Rudia sehemu hii kwa wateja wako wote, ukibadilisha jina la mteja.

Kumbuka: Jina la rudufu la client.ovpn halihitaji kuhusishwa na kifaa cha mteja. Programu ya mteja ya OpenVPN itatumia jina la faili kama kitambulisho cha muunganisho wa VPN yenyewe. Nakili client.ovpn kwa jina ambalo litatumia VPN kwenye mfumo wako wa uendeshaji. Kwa mfano: work.ovpn ingefafanuliwa kama mtandao wa kazi, shule.ovpn - kama shule, nk.

Pia unahitaji kubadilisha kila faili ya mteja na kutaja anwani ya IP ya seva ya OpenVPN ili mteja ajue cha kuunganisha. Fungua client.ovpn ukitumia nano au kihariri kingine cha maandishi.

nano /etc/openvpn/easy-rsa/keys/client.ovpn

Badilisha my-server-1 na anwani ya IP ya VPN kwenye laini ya mbali.

# Jina la mwenyeji/IP na bandari ya seva.
# Unaweza kuwa na maingizo mengi ya mbali
# kupakia usawa kati ya seva.
kijijini-seva yangu-1 1194

Kisha tafuta sehemu hii na utoe maoni ya mtumiaji hakuna na kikundi nogroup kama ulivyofanya kwenye server.conf. Hii haitumiki kwa Windows OS.

# Punguza marupurupu baada ya kuanzishwa (isiyo ya Windows pekee)
mtumiaji hakuna mtu
kundi hakuna kundi

Kuhamisha funguo na vyeti kwa vifaa vya mteja

Kumbuka kwamba vyeti na funguo za mteja huhifadhiwa kwenye seva ya OpenVPN kwenye saraka ya /etc/openvpn/easy-rsa/keys.

Sasa unahitaji kuhamisha cheti cha mteja, ufunguo na faili za wasifu kwenye folda kwenye kifaa hiki cha mteja.

Kwa mfano, katika kesi hii faili zinapaswa kuwa katika etc/openvpn/easy-rsa/keys/client1.crt na /etc/openvpn/easy-rsa/keys/client1.key.

Faili za ca.crt na client.ovpn ni sawa kwa wateja wote. Pakua faili hizi mbili; Kumbuka kuwa faili ya ca.crt iko katika saraka tofauti.

  • /etc/openvpn/easy-rsa/keys/client.ovpn
  • /etc/openvpn/ca.crt

Programu ya uhamishaji unayochagua ni juu yako na mfumo wa uendeshaji wa kifaa chako, lakini inashauriwa kuchagua programu zinazotumia SFTP (Itifaki ya Kuhamisha Faili ya SSH) au SCP (Nakala Salama). Hii itahamisha faili za mteja kupitia muunganisho uliosimbwa kwa njia fiche.

Chini ni mfano wa amri ya SCP. Huweka faili client1.key kwenye saraka ya Vipakuliwa kwenye kompyuta ya ndani.

scp root@your-server-ip:/etc/openvpn/easy-rsa/keys/client1.key Pakua/

Unaweza pia kutumia programu na miongozo ifuatayo:

Kisha hakikisha kuwa kifaa cha mteja kina faili hizi:

  • mteja1.crt
  • mteja1.ufunguo
  • mteja.ovpn
  • ca.crt

9: Unda wasifu mmoja wa OpenVPN kwa wateja

Kuna njia kadhaa za kusimamia faili za mteja, lakini rahisi zaidi ni kutumia wasifu mmoja. Wasifu huundwa kwa kurekebisha faili ya kiolezo cha client.ovpn na kuongeza CA ya seva, cheti cha mteja, na ufunguo wa mteja. Baada ya hayo, wasifu wa mteja.ovpn pekee ndio unahitaji kuingizwa kwenye programu ya OpenVPN ya mteja.

Katika sehemu iliyo hapa chini, unahitaji kutoa maoni kwa njia tatu ili kujumuisha cheti na ufunguo moja kwa moja kwenye faili ya client.ovpn. Inapaswa kuonekana kama hii:

Vifungu # vya SSL/TLS.
# . . .
;ca.crt
;cert client.crt
;ufunguo wa mteja

Hifadhi na funga faili ya client.ovpn.

Unaweza kuongeza vyeti kwa kutumia msimbo. Kwanza ongeza CA:

mwangwi" " >> /etc/openvpn/easy-rsa/keys/client.ovpn
paka /etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
mwangwi"
" >> /etc/openvpn/easy-rsa/keys/client.ovpn

Kisha ongeza cheti:

mwangwi" " >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
mwangwi"
" >> /etc/openvpn/easy-rsa/keys/client.ovpn

Mwishowe ongeza ufunguo:

mwangwi" " >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.key >> /etc/openvpn/easy-rsa/keys/client.ovpn
mwangwi"
" >> /etc/openvpn/easy-rsa/keys/client.ovpn

Sasa una wasifu mmoja ambao unaweza kunakiliwa kwa kifaa cha mteja.

10: Kuweka wasifu wa mteja

Kuna zaidi kwenye majukwaa tofauti maombi rahisi kuunganisha kwa seva ya OpenVPN. Utapata maagizo ya kusakinisha wateja kwenye mifumo tofauti katika sehemu ya 5 ya mwongozo.

Hitimisho

Sasa una mtandao wa kibinafsi wa kibinafsi unaofanya kazi kikamilifu kwenye seva yako ya OpenVPN. Unaweza kuvinjari wavuti na kupakua maudhui bila kuwa na wasiwasi kuhusu wavamizi wanaofuatilia shughuli zako.

Mara tu umeanzisha muunganisho uliofanikiwa na mteja, unaweza kuthibitisha kuwa trafiki inapitishwa kupitia VPN.

Inavyofanya kazi?

Mara tu usanidi wa OpenVPN utakapokamilika, seva itaweza kukubali na kuelekeza upya salama ya SSL ya nje miunganisho ya mtandao kwa adapta ya mtandao pepe (tun/tap) iliyoundwa wakati huduma ya VPN ilizinduliwa, bila kuathiri sheria za usindikaji wa trafiki ya miingiliano mingine (adapta ya mtandao ya nje, n.k.) Shukrani kwa teknolojia hii, unaweza kujipatia ufikiaji wa kijijini. seva na kikundi kilicho kwenye vifaa vyake vya mtandao wa ndani hata kama adapta kuu ya Mtandao ya seva hii haikubali miunganisho inayoingia kutoka kwa mitandao ya umma na/au haiwapitishi kwa mashine zinazohitajika ziko kwenye mtandao wake wa LAN.

Ikihitajika, unaweza pia kusanidi uelekezaji wa trafiki ya Mtandao ya wateja wa OpenVPN kupitia seva ya VPN (hatua zinazohitajika kwa hili zimeelezewa katika mwongozo huu). Kwa uelekezaji upya kama huo, seva pangishi inayochakata miunganisho ya VPN pia itafanya kazi ya seva mbadala (Proksi) - kuunganisha sheria za shughuli za mtandao wa mtumiaji na trafiki ya mtandao ya mteja wa handaki kwa niaba yake.

Mahitaji ya Mfumo

Kabla ya kuanza kusakinisha OpenVPN, hakikisha kwamba mipangilio muhimu imesanidiwa ipasavyo kwenye seva yako. vigezo vya msingi, iliyotolewa hapa chini. (ikiwa unatumia seva pepe, hatua hizi tatu tayari zimekamilika na zinaweza kurukwa):

  1. Seva ina angalau anwani moja tuli ya nje ya IP (au, unaweza kutumia huduma za DynamicDNS ambazo husasisha kiotomatiki maelezo kuhusu anwani ya IP ya sasa ya kifaa, kwa mfano, DynDNS)
  2. Inaruhusiwa kupakua vifurushi vya programu kutoka kwa hazina rasmi. Ili kuangalia hii, fungua faili kwenye seva /etc/apt/sources.list na uhakikishe kuwa anwani za mtandao aina "deb http://..." sasa na hajatoa maoni (hayupo # mwanzoni mwa mstari na url ya kumbukumbu). Hii ni, kwa mfano, kile kioo cha Amerika cha hazina za Ubuntu Precise zilizoongezwa kwa sources.list inaonekana kama: # Tazama http://help.ubuntu.com/community/UpgradeNotes kwa jinsi ya kusasisha hadi
    matoleo # mapya zaidi ya usambazaji.
    deb http://us.archive.ubuntu.com/ubuntu/ sahihi kuu imezuiwa
    deb-src http://us.archive.ubuntu.com/ubuntu/ sahihi kuu imezuiwa
  3. Vigezo vya mtandao ni sawa: jina la mwenyeji, anwani ya IP ya seva yako na vigezo vyake vya DNS(kigezo cha mwisho kitahitajika kwa kuelekeza trafiki ya mtandao ya mteja). Tafuta waliotajwa mipangilio ya mtandao inawezekana katika faili /etc/hosts.

Ili kuhakikisha kiwango kinachokubalika cha usalama wa mashine, tunapendekeza pia kwamba kwanza usome makala yetu ya utangulizi kuhusu kusanidi zana za usalama za Linux.

Inasakinisha OpenVPN kwenye seva

Ili kufunga kifurushi openvpn kwa seva, lazima uendeshe amri zifuatazo kwa mlolongo:

  1. Sasisha hazina za kifurushi:
    apt-kupata sasisho
  2. Pakua masasisho yanayopatikana kwa programu zilizosakinishwa:
    apt-get upgrade
  3. Sakinisha kifurushi openvpn:
    apt-get install openvpn
  4. OpenVPN inajumuisha safu ya zana za usimbaji fiche rahisi-rsa. Kwa utendakazi wa kawaida wa daemon, hati rahisi-rsa zinapaswa kuwekwa kwenye saraka /etc/openvpn:
    cd /etc/openvpn/ && make-cadir rahisi-rsa

Maandalizi ya funguo za umma (PKI - Miundombinu ya Ufunguo wa Umma)

Washa katika hatua hii unahitaji kuzalisha na kusaini jozi za mtumiaji na funguo za seva. Ili kuthibitisha jozi zilizoundwa tutatumia mamlaka ya uthibitisho (CA - Mamlaka ya Cheti), iko kwenye seva ya VPN yenyewe. Kwa hivyo, wacha tuunde CA:

  1. Nenda kwenye folda /etc/openvpn/easy-rsa: cd /etc/openvpn/easy-rsa
  2. Unda kiungo cha ishara openssl-1.0.0.cnf -> openssl.cnf: ln -s openssl-1.0.0.cnf openssl.cnf
  3. Anzisha hati vars: chanzo ./vars
  4. Kwa kujibu, utapokea arifa ifuatayo: KUMBUKA: Ikiwa utaendesha ./clean-all, nitakuwa nikifanya rm -rf kwenye /etc/openvpn/easy-rsa/keys.
  5. Endesha hati safi-yote: ./safisha-yote
  6. Tekeleza hati kujenga-ca kuunda mamlaka ya uthibitisho. Kwa kujibu maongozi yanayoonekana, ingiza taarifa zinazohitajika (kwa herufi za Kilatini). Usipobainisha eigenvalues kwa baadhi ya sehemu zinazohitajika, thamani chaguomsingi [iliyoonyeshwa kwenye mabano ya mraba] itatumika: ./build-ca
  7. Sasa unaweza kuendelea kutengeneza cheti cha umma/vifunguo vya faragha vya seva ya VPN.

Inazalisha ufunguo/cheti cha seva

  1. Tengeneza ufunguo: ./build-key-server server Jaza maelezo sawa na kujenga-ca. Sehemu za "Jina la Kampuni" na "Nenosiri la Changamoto" zinaweza kuachwa wazi.
  2. Baada ya uundaji wa ufunguo uliofaulu, ombi litaonekana ili litiwe saini na mamlaka ya uidhinishaji. Ingiza ndio kwa uthibitisho.

Uzalishaji wa funguo za mteja

  1. Unda jozi muhimu kwa mtumiaji: ./build-key client1 Kumbuka: faili muhimu iliyotengenezwa mteja1.ufunguo haijasimbwa kwa chaguomsingi. Hii inaruhusu mtu yeyote aliye na idhini ya kufikia faili hii kuunganisha kwenye mtandao wako pepe wa faragha. Ili kuondokana na kipengele hiki unaweza kutumia amri ./build-key-pass mteja1 badala ya ./build-key mteja1. Katika kesi hii, ufunguo utasimbwa kwa nenosiri ulilochagua.
  2. Rudia utaratibu wa kizazi kwa kila siku zijazo Wateja wa VPN, kuchukua nafasi mteja 1 kwa jina unalotaka. Tahadhari: Majina muhimu lazima yawe ya kipekee.
    Unaweza kutengeneza funguo za mteja baadaye. Ili kufanya hivyo utahitaji kuanzisha upya hati vars(timu chanzo ./vars), na kisha anza utaratibu wa kutengeneza ufunguo unaohitajika.

Kuweka Vigezo vya Itifaki ya Diffie-Hellman

Vigezo vya itifaki ya Diffie-Hellman huamua jinsi data inabadilishwa kati ya seva ya OpenVPN na wateja. Baada ya kuunda faili .pem, tutataja vigezo kulingana na ambayo seva itaanzisha uhusiano salama na watumiaji.

Faili ya .pem inapaswa kuzalishwa kwa kutumia amri: ./build-dh Jibu litaonyesha seti. alama za nasibu, ikionyesha kuwa mchakato wa uzalishaji unaendelea. Baada ya kukamilisha utaratibu katika saraka nk/openvpn/easy-rsa/keys faili itaonekana dh1024.pem.

Vifunguo vya Kusogeza na Vyeti

Baada ya kutengeneza funguo, unahitaji kuzihamisha kwenye saraka zinazotumiwa na seva/programu za mteja za OpenVPN.

Kwenye seva:

  1. Nenda kwenye saraka ambapo funguo zilizoundwa zimehifadhiwa: cd /etc/openvpn/easy-rsa/keys
  2. Nakili cheti na ufunguo wa Mamlaka ya Cheti (CA), faili ya mipangilio ya DH, ufunguo wa seva ya VPN na cheti kwenye saraka. /etc/openvpn: cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn MUHIMU: Faili zilizoorodheshwa hapo juu ndizo msingi wa utendakazi na usalama wa VPN. Kuzingatia kwao kunaweza kusababisha athari mbaya. Zihifadhi katika hifadhi salama na usihamishe faili hizi kupitia vituo visivyolindwa.

Kwenye kifaa cha mteja:

Nakili faili ca.crt, client1.crt, client1.key kwa folda ya kifaa cha mteja inayotumiwa na programu ya OpenVPN (kwa mfano, kwa Linux hii ni /etc/openvpn)

Seva ya OpenVPN na usanidi wa mteja

Katika sehemu hii ya maagizo tutaunda faili mbili za usanidi. Ya kwanza ni faili ya mipangilio ya seva ya OpenVPN, ya pili ni vigezo vya uunganisho wa VPN kwa kifaa cha mteja. Kila mteja wa OpenVPN lazima atumie yake mwenyewe faili mwenyewe usanidi (isipokuwa ni kuunganisha watumiaji kadhaa kwa kutumia jozi moja muhimu ya kawaida kwa wote).

Mipangilio ya seva:

  1. Kama sehemu ya kuanzia katika usanidi, unaweza kutumia sampuli ya faili ya usanidi ya seva ya OpenVPN, ambayo ina orodha ya vigezo vinavyopatikana vya uendeshaji wa programu na maelezo ya kina ya vigezo hivi. Nakili hati hii kwenye saraka /etc/openvpn/ ili kuihariri na kisha kuanza seva ya VPN: gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz >/etc/openvpn/server.conf
  2. Faili imenakiliwa katika hatua ya awali seva.conf ni usanidi unaoweza kutekelezeka kabisa. Inatosha kwa operesheni ya kawaida ya seva ikiwa hauitaji kushughulikia trafiki yote ya mtandao ya mteja kupitia seva ya VPN au chaguzi zingine maalum.
    Jambo pekee unalohitaji kulipa kipaumbele ni majina na njia za cheti cha seva (.crt) na faili zake za ufunguo (.key), pamoja na cheti cha CA (.crt).
    Majina ya vitufe vilivyo kwenye saraka /etc/openvpn lazima ilingane kabisa na majina ya funguo kwenye usanidi seva.conf. Unaweza kuangalia hii kwa kutumia amri zifuatazo:
    • Jua majina ya faili muhimu (faili mbili.crt na one.key) kwenye folda /etc/openvpn kwa kutumia amri: ls /etc/openvpn
    • Tunaangalia ikiwa majina ya faili zilizoonyeshwa hapo juu yanalingana na majina ya funguo kwenye faili /etc/openvpn/server.conf(baada ya block # Cheti cha mizizi cha SSL/TLS (ca), cheti (cheti), na ufunguo wa kibinafsi (ufunguo)): nano /etc/server.conf Ikiwa majina ni tofauti, fanya marekebisho yanayofaa kwa faili ya usanidi (sio kwa majina ya faili kwenye folda ya openvpn) na uihifadhi. (CTRL+X).
    • Anzisha tena OpenVPN ili kutekeleza mabadiliko: /etc/init.d/openvpn anzisha upya

Mipangilio ya mteja:

  1. Tunakili sampuli ya faili ya usanidi wa mteja kwenye saraka yoyote inayofaa (kwa upande wetu, saraka ya nyumbani ya mtumiaji (nyumbani), ambaye kwa niaba yake tunatekeleza amri: gunzip -c /usr/share/doc/openvpn/examples/sample- config-files/client.conf.gz>/home/1cloud
  2. Nenda kwenye folda funguo na unakili faili muhimu muhimu (kwa upande wetu: client1.key, client1.crt, ca.crt) kwa saraka sawa (/home/1cloud): cd /etc/openvpn/easy-rsa/keys > cp client1.key client1.crt ca.crt /home/1cloud
  3. Fungua usanidi wa mteja: nano /home/1cloud/client.conf
  4. Kutafuta kizuizi # Jina la mwenyeji/IP na bandari ya seva na badala yake mfano.com taja anwani ya IP ya seva ya OpenVPN: # Jina la mwenyeji/IP na bandari ya seva.
    # Unaweza kuwa na maingizo mengi ya mbali
    # kupakia usawa kati ya seva.
    mfano wa mbali.com 1194
  5. Katika faili sawa tunapata block Vifungu vya #SSL/TLS. na angalia majina ya faili za ufunguo wa mtumiaji (sawa na jinsi tulivyofanya kwenye usanidi wa seva): Vifurushi vya # SSL/TLS.
    # Tazama faili ya usanidi wa seva kwa zaidi
    #maelezo. Ni bora kutumia
    # jozi tofauti za faili za .crt/.
    # kwa kila mteja. Ca moja
    Faili # inaweza kutumika kwa wateja wote.
    kaka.crt
    cert client1.crt
    key client1.key
  6. Hifadhi faili ya usanidi wa mteja ( CTRL+X).
  7. Sasa unahitaji kuhamisha faili za mtumiaji client.conf, client1.key, client1.crt, ca.crt kwa kifaa cha mteja ambacho utaunganisha kwa seva ya VPN. Hii inaweza kufanywa kupitia FTP, SCP, au kwa urahisi kuunda faili zilizo na majina sawa kwenye kifaa cha mtumiaji (kupitia nano kwenye Linux, kupitia Notepad kwenye Windows) na kunakili kabisa yaliyomo kwenye hati chanzo kutoka kwa seva ya mbali ndani yao.
    Makini! Baadhi ya programu za mteja wa OpenVPN (kwa mfano kwenye Android na iOS) hufanya kazi na kiendelezi cha faili ya usanidi .ovpn, si .conf. Ukikutana na tatizo hili, badilisha tu faili ya mipangilio ya mteja ipasavyo.
    Tunaweka faili zilizohamishwa kwenye folda ambayo programu ya OpenVPN unayotumia inafanya kazi (angalia hati za programu).
  8. Unganisha kwenye seva. Baada ya muunganisho uliofanikiwa, adapta ya mtandao ya kawaida imeamilishwa kwenye kifaa cha mteja. Unaweza kuangalia hii kwenye Linux kwa kutumia amri ifconfig(adapta inapaswa kuonyeshwa TUN), kwenye OS iliyo na kiolesura cha picha, unaweza kuangalia usahihi wa unganisho moja kwa moja kwenye programu ya unganisho la VPN.

Makini! Kwa kuwa bado hatujasanidi upangaji wa trafiki yote ya Mtandao kupitia seva ya VPN, ufikiaji wa Mtandao kwenye kifaa cha mteja utakoma kufanya kazi baada ya kukiunganisha kwenye mtandao pepe wa kibinafsi. Maagizo ya kuelekeza trafiki ya mtandao ya watumiaji kupitia seva ya VPN yamewasilishwa hapa chini.B.

Tanua trafiki yote ya mteja wa mtandao wa kibinafsi kupitia seva ya VPN

Katika usanidi huu tutasanidi uelekezaji wa trafiki zote Watumiaji wa VPN kupitia seva ya OpenVPN huku ukidumisha usimbaji fiche wa SSL kutoka kwa mteja hadi seva.

  1. Kwenye seva, fungua faili ya usanidi ya OpenVPN server.conf: nano /etc/openvpn/server.conf
  2. Tendua mstari wa usanidi hapa chini (ondoa ishara ; mwanzoni mwa mstari): kushinikiza "redirect-gateway def1 bypass-dhcp"
  3. Hifadhi na funga faili (CTRL+X)
  4. Fungua faili /etc/sysctl.conf:
    nano /etc/sysctl.conf
  5. Toa maoni au ongeza mstari ulio hapa chini kwa fungua faili ili kuhakikisha usambazaji wa IPv4 wa trafiki unaruhusiwa: net.ipv4.ip_forward=1
  6. Hifadhi na funga faili (CTRL+X)
  7. Ingiza amri ya kutumia mabadiliko kwenye kikao cha sasa: echo 1 > /proc/sys/net/ipv4/ip_forward
  8. Ingiza amri zifuatazo sequentially (mstari mmoja = amri moja) ili kusanidi firewall iptables kwa kusambaza trafiki kupitia VPN:







  9. Ongeza orodha sawa ya sheria za iptables kwenye faili /etc/rc.local ili zitumike kila wakati mfumo unapoanza: nano /etc/rc.local
    Maudhui ya faili:
    #!/bin/sh -e
    #
    # [...]
    #
    iptables -A FORWARD -m state --state INAHUSIANA,IMEANZISHWA -j KUBALI
    iptables -A MBELE -s 10.8.0.0/24 -j KUBALI
    iptables -A MBELE -j KATAA
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    iptables -A INPUT -i tun+ -j KUBALI
    iptables -A MBELE -i tun+ -j KUBALI
    iptables -A INPUT -i bomba+ -j KUBALI
    iptables -A MBELE -i bomba+ -j KUBALI
    toka 0
    Hifadhi na funga hati (CTRL+X)
  10. Mipangilio iliyo hapo juu huwezesha trafiki yote ya mteja, isipokuwa hoja za DNS, kutumwa kupitia seva ya VPN. Ili kusambaza maombi ya DNS unahitaji kusakinisha kifurushi dnsmasq na ufanye mabadiliko kwenye faili /etc/openvpn/server.conf
  11. Sakinisha dnsmasq:
    Ikiwa unatumia Ubuntu 12.04: apt-get install dnsmasq && dpkg-reconfigure resolvconf Kichawi cha usanidi kitatokea. Juu ya hatua ya kwanza (tayarisha /etc/resolv.conf kwa masasisho yanayobadilika) tunajibu ndio, basi hapana (Weka faili asili kwa faili inayobadilika?)
    Ikiwa unatumia Debian 7: apt-get install dnsmasq resolvconf
  12. Sasa unahitaji kuhariri dnsmasq: nano /etc/dnsmasq.conf Hakikisha kuwa vigezo vifuatavyo havijatolewa maoni au kuongezwa kwenye faili: listen-address=10.8.0.1
    funga-interfaces
  13. Ifuatayo, unahitaji kuongeza kwenye faili /etc/network/interfaces habari kuhusu seva za DNS zinazotumiwa. Labda kwa upande wako habari hii tayari iko (kama, kwa mfano, katika kesi ya seva zilizokodishwa kwa wavuti), lakini ikiwa sivyo, ongeza kama ifuatavyo:
    Fungua faili ya usanidi wa kiolesura: nano /etc/network/interfaces Ongeza safu ya dns-nameservers inayoonyesha anwani za seva za DNS unazotumia (kwa mfano, seva moja kutoka kwa mtoaji wako wa mtandao na seva moja ya google ya umma: 8.8.8.8): # Kiolesura cha msingi cha mtandao
    otomatiki eth0
    iface eth0 inet dhcp
    dns-nameservers 77.88.8.8 8.8.8.8
  14. Katika mipangilio ya kawaida Huduma ya dnsmasq hufanya kazi kabla ya adapta ya OpenVPN virtual tun kuanza. Hii husababisha makosa na dnsmasq kukomesha. Ili kurekebisha tatizo hili, unahitaji kuongeza faili /etc/rc.local mstari ulio na amri inayoanzisha tena dnsmasq baada ya OpenVPN kuanzishwa. Mstari huu unapaswa kuwekwa kwenye faili baada ya vigezo vya iptables, iliyoonyeshwa na sisi mapema: nano /etc/rc.local
    Yaliyomo kwenye faili:
    ...
    iptables -A MBELE -i tun+ -j KUBALI
    iptables -A INPUT -i bomba+ -j KUBALI
    iptables -A MBELE -i bomba+ -j KUBALI
    /etc/init.d/dnsmasq anzisha upya
    toka 0
  15. Jambo la mwisho la kufanya ni kubatilisha mstari unaoruhusu wateja wa OpenVPN kutumia seva za DNS kwenye faili /etc/openvpn/server.conf:
    nano /etc/openvpn/server.conf Yaliyomo kwenye faili: ....
    kushinikiza "dhcp-chaguo DNS 10.8.0.1"
  16. Anzisha tena seva ili kutumia mipangilio yote na uangalie usahihi wao: fungua upya