Knowledgebase Maagizo rahisi ya kufanya kazi na huduma ya Profitserver
Kuu ya Knowledgebase Usanidi wa seva ya VPN kwenye Linux: PPTP au OpenVPN?

Usanidi wa seva ya VPN kwenye Linux: PPTP au OpenVPN?


Siku hizi, teknolojia ya VPN inakuwa maarufu zaidi. Watumiaji wa kawaida hutumia VPN kufikia Mtandao kwa usalama. Pia husaidia kuzunguka tovuti na huduma zilizozuiwa ndani ya nchi na kulinda dhidi ya tabia mbaya ya nje inayowezekana. Unapounganisha kwenye seva ya VPN, kuna njia salama kati ya kompyuta yako na seva ambayo haiwezi kufikiwa kutoka nje, kwa hivyo seva ya VPN inakuwa kituo chako cha kufikia Mtandao. Kuna huduma nyingi za VPN huko nje, za bure na za kulipwa, lakini ikiwa hazifanyi kazi kwako kwa sababu fulani, unaweza kusanidi seva yako ya VPN kila wakati.

Ili kuendesha VPN yako, unapaswa kukodisha seva ya VPS. Kuna programu tofauti zinazokuwezesha kuunda muunganisho wa VPN. Inatofautiana kutoka kwa kila mmoja na mifumo ya uendeshaji inayoungwa mkono na algorithms kutumika. Tutaangalia njia mbili huru za kusanidi seva ya VPN. Ya kwanza inategemea itifaki ya PPTP ambayo tayari inachukuliwa kuwa ya kizamani na si salama lakini ni rahisi sana kusanidi. Nyingine inaajiri programu ya kisasa na salama ya OpenVPN lakini inahitaji kusakinisha programu ya mteja wa tatu na mchakato wa usanidi wa kina zaidi.

Katika mazingira yetu ya majaribio, tutatumia seva pepe inayoendeshwa na Ubuntu Server 18.04. Firewall itazimwa kwenye seva kwa sababu usanidi wake unastahili makala tofauti. Tutaelezea mchakato wa usanidi kwenye Windows 10.

Maandalizi

Bila kujali seva ya VPN unayochagua, ufikiaji wa Mtandao utawekwa kwa njia zilizojumuishwa za mfumo wa uendeshaji. Ili kufungua ufikiaji wa Mtandao kupitia kiolesura cha huduma ya nje inabidi uruhusu usambazaji wa pakiti kati ya violesura na usanidi tafsiri ya anwani ya mtandao.

Ili kuwasha usambazaji wa pakiti fungua faili "/etc/sysctl.conf" na ubadilishe "net.ipv4.ip_forward" thamani ya kigezo ndani 1.

washa usambazaji wa pakiti kwa usanidi wa VPN

Ili kuomba mabadiliko bila kuanzisha upya kompyuta, endesha amri

sudo sysctl -p /etc/sysctl.conf

Tafsiri ya anwani ya mtandao imesanidiwa kwa njia ya iptables. Kwanza, angalia jina la kiolesura chako cha nje cha mtandao kinachoendesha amri "Ip link show" - utahitaji katika hatua inayofuata. Jina letu ni "en3".

onyesho la kiungo cha ip

Washa tafsiri ya anwani ya mtandao kwenye kiolesura chako cha nje kwa nodi zote za mtandao wa ndani.

sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Kumbuka kwamba unahitaji kutaja jina halisi la kiolesura cha seva yako, inaweza kuwa tofauti na yetu.

Kwa chaguo-msingi, sheria zote zilizoundwa na iptables huwekwa upya baada ya seva kuanza upya. Ili kuzuia hili, tumia "iptables-inaendelea" matumizi. Sakinisha kifurushi kifuatacho:

sudo apt install iptables-persistent

Wakati fulani wakati wa mchakato wa usakinishaji, utaona dirisha la usanidi ambalo litakupendekeza uhifadhi sheria za sasa za iptables. Kwa kuwa sheria tayari zimefafanuliwa, tu kuthibitisha na bonyeza "Ndiyo" mara mbili. Kwa kuwa sasa sheria zitatumika kiatomati baada ya seva kuanza tena.

Washa tafsiri ya anwani

Seva ya PPTP

Usanidi wa seva

Sakinisha kifurushi:

sudo apt install pptpd

Baada ya usakinishaji kumalizika, fungua faili "/etc/pptpd.conf" katika hariri yoyote ya maandishi na uihariri kama hii:

option /etc/ppp/pptpd-options #path to the settings file
logwtmp #client connections logging mechanism
connections 100 #number of simultaneous connections
localip 172.16.0.1 #the address that will serve as a client gateway
remoteip 172.16.0.2-200 #range of addresses

Baada ya hayo, hariri faili "/etc/ppp/pptpd-chaguo". Vigezo vingi vimewekwa kwa chaguo-msingi.

#name of the service for new client records
name pptpd
#restrict obsolete authentication methods
refuse-pap
refuse-chap
refuse-mschap
#allow a more secure authentication method
require-mschap-v2
#enable encryption
require-mppe-128
#specify dns servers for clients (use any available servers)
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd

Katika hatua inayofuata, utahitaji kuunda rekodi ya miunganisho ya mteja. Hebu tuseme unataka kuongeza mtumiaji "vpnuser" na nenosiri "1" na kuruhusu kushughulikia kwa nguvu kwa ajili yake. Fungua faili "/etc/ppp/chap-secrets" na ongeza laini ifuatayo na vigezo vya mtumiaji mwishoni mwa faili:

vpnuser pptpd 1 *

"pptpd" thamani ni jina la huduma ambayo tulibainisha kwenye faili "pptpd-chaguo". Badala ya "*" unaweza kutaja anwani ya IP isiyobadilika. Katika matokeo, faili "Siri za Chap" inapaswa kuonekana kama hii:

Usanidi wa seva ya VPN

Ili kutumia mipangilio, weka upya pptpd huduma na uiongeze kwenye upakiaji otomatiki.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Usanidi wa seva umekamilika.

Usanidi wa mteja

Open "Anza" - "Mipangilio" - Mtandao na Mtandao - "VPN" na bonyeza "Ongeza muunganisho wa VPN"

Sanidi mteja kwa muunganisho wa VPN

Ingiza vigezo vya uunganisho kwenye dirisha lililofunguliwa na ubofye "Okoa"

  • Mtoa huduma wa VPN: "Windows (imejengwa ndani)"
  • Jina la muunganisho: "vpn_connect" (unaweza kuchagua jina lolote)
  • Jina la seva au anwani: (taja anwani ya IP ya nje ya seva)
  • Aina ya VPN: "Otomatiki"
  • Aina ya maelezo ya kuingia: "Jina la mtumiaji na nenosiri"
  • Jina la mtumiaji: vpnuser (jina limebainishwa katika faili ya "chap-siri" kwenye seva)
  • password: 1 (kama katika faili ya "chap-siri")

Baada ya kuhifadhi vigezo, utaona muunganisho mpya wa VPN kwenye dirisha. Bonyeza-kushoto uunganisho na uchague "Unganisha". Katika kesi ya uunganisho uliofanikiwa, utaona "Imeunganishwa" hadhi.

Inaongeza muunganisho wa VPN

Katika Chaguzi, utapata anwani za ndani za mteja na seva. Shamba "Anwani ya lengwa" inaonyesha anwani ya seva ya nje.

Jinsi ya kusanidi seva ya VPN peke yako

Inapounganishwa, anwani ya IP ya ndani ya seva, 172.16.0.1 kwa upande wetu, inakuwa lango chaguo-msingi kwa pakiti zote zinazotoka.

Angalia IP-anwani ya nje

Kwa kutumia huduma yoyote ya mtandaoni unaweza kuhakikisha kuwa anwani ya IP ya nje ya kompyuta sasa ni sawa na anwani ya IP ya seva yako ya VPN.

Seva ya OpenVPN

Usanidi wa seva

Wacha tukuze kiwango cha ruhusa cha mtumiaji wa sasa kwa sababu kwa usanidi wetu zaidi tutahitaji ufikiaji wa mizizi.

sudo -s

Sakinisha pakiti zote muhimu. Tutahitaji "Rahisi-RSA" pakiti ya kudhibiti funguo za usimbaji fiche.

apt install openvpn easy-rsa iptables-persistent

Ruhusu miunganisho inayoingia kwenye bandari 1194 kupitia itifaki ya UDP na utumie sheria za iptables.

sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT

sudo netfilter-persistent save

Unda saraka na faili zilizonakiliwa kutoka kwa kifurushi cha "Easy-RSA" na uende ndani yake.

make-cadir ~/openvpn

cd ~/openvpn

Tengeneza Miundombinu Muhimu ya Umma (PKI).

./easyrsa init-pki

Tengeneza cheti cha mizizi cha Mamlaka ya Cheti (CA).

./easyrsa build-ca

Wakati wa mchakato wa kuunda, utaulizwa kuweka na kukumbuka nenosiri. Utahitaji pia kujibu maswali na kuingiza maelezo kuhusu mmiliki wa ufunguo. Unaweza kuacha thamani chaguo-msingi zilizotolewa katika mabano ya mraba. Bonyeza "Enter" ili kukamilisha ingizo.

Tengeneza ufunguo wa kibinafsi na ombi la cheti. Kama hoja, taja jina la kiholela; kwa upande wetu, ni "vpn-server".

./easyrsa gen-req vpn-server nopass

Acha thamani ya Jina la Kawaida kama chaguo-msingi.

Saini ombi la cheti cha seva iliyotolewa.

./easyrsa sign-req server vpn-server

Katika hatua hii, jibu "ndiyo" ili kuthibitisha saini, kisha ingiza nenosiri ambalo liliundwa wakati wa uzalishaji wa cheti cha mizizi.

Tengeneza vigezo vya Diffie-Hellman. Vigezo hivi hutumiwa kwa ubadilishanaji wa ufunguo salama kati ya seva na mteja.

./easyrsa gen-dh

Faili zote muhimu zimetolewa. Wacha tuunda folda ya "funguo" kwenye saraka ya kazi ya OpenVPN ili kuhifadhi funguo na kunakili faili zilizoundwa hapo.

mkdir /etc/openvpn/keys

sudo cp pki/ca.crt pki/issued/vpn-server.crt pki/private/vpn-server.key pki/dh.pem /etc/openvpn/keys

Sanidi NAT ukitumia iptables sheria. Unda faili yenye jina nat na uifungue kwa kuhaririwa katika /etc/openvpn/ saraka.

#!/bin/sh

# Reset firewall settings
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

# Allow OpenVPN connections (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT

iptables -A INPUT -i tun0 -j ACCEPT

# (eth0 in our case, may vary):
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

# (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Enable masquerading for the local network (eth0 in our case, may vary)
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

# Deny incoming connections from outside
iptables -A INPUT -i eth0 -j DROP

# Deny transit traffic from outside (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -j DROP

sudo netfilter-persistent save

Hifadhi faili na uifanye iweze kutekelezwa.

sudo chmod 755 /etc/openvpn/nat

Nakili kiolezo cha usanidi wa seva.

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

Fungua faili "/etc/openvpn/server.conf" kwa uhariri, hakikisha kuwa ina mistari ifuatayo, na uihariri ikihitajika:

#Port, protocol, and interface

port 1194

proto udp

dev tun
#Path to the encryption keys

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/vpn-server.crt

key /etc/openvpn/keys/vpn-server.key

dh /etc/openvpn/keys/dh.pem

#SHA256 Hashing Algorithm

auth SHA256
#Switching off additional encryption

#tls-auth ta.key 0
#Network parameters

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist /var/log/openvpn/ipp.txt

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"
#Ping every 10 seconds to check the connection.

keepalive 10 120
#Set up AES-256 encryption for the tunnel.

cipher AES-256-GCM
#Demoting the service OpenVPN after launch

user nobody

group nogroup
#Switching on parameters saving after reboot

persist-key

persist-tun
#Set log verbosity

verb 3
#Redirecting logs

log-append /var/log/openvpn/openvpn.log
#Script the rule installation launch.

up /etc/openvpn/nat

Washa usambazaji wa trafiki kwenye seva.

sudo sysctl -w net.ipv4.ip_forward=1

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf

Anzisha OpenVPN ili kutumia usanidi.

systemctl restart openvpn@server

Mipangilio ya seva imekamilika!

Usanidi wa mteja

Nenda kwenye tovuti rasmi ya OpenVPN "https://openvpn.net”, nenda kwa “JUMUIYA” sehemu.

Заходим на официальный сайт проекта "https://openvpn.net", переходим katika раздел "COMUNITY".

Tembeza chini na upakue kisakinishi kwa toleo lako la mfumo wa uendeshaji. Kwa upande wetu, ni Windows 11 ARM64.

пролистываем вниз na скачиваем инсталлятор для своей версии операционной системы. Unaweza kutumia Windows 11 ARM64.

Sakinisha programu ukiacha vigezo vyote kwa chaguo-msingi.

Katika hatua inayofuata, utahitaji kuandaa faili ifuatayo kwenye seva na kuihamisha kwa kompyuta ya mteja:

  • funguo za umma na za kibinafsi;
  • nakala ya ufunguo wa kituo cha uthibitisho;
  • config faili template.

Unganisha kwa seva, inua haki, na uende kwenye saraka yetu iliyoundwa "~/openvpn".

sudo -s

cd ~/openvpn

Tengeneza ufunguo wa kibinafsi na ombi la cheti kwa mteja. Kama hoja, taja jina la kiholela; kwa upande wetu, ni "mteja1".

./easyrsa gen-req client1 nopass

Ingiza nenosiri tunaloweka wakati wa kuunda cheti cha mizizi na uache thamani ya Jina la Kawaida kama chaguo-msingi.

Вводим пароль, который мы устанавливали при создании корневого сертификата и оставляем значение Jina la kawaida по умолчанию.

Saini ombi la cheti cha mteja kilichozalishwa.

./easyrsa sign-req client client1

Katika hatua hii, jibu "ndiyo" ili kuthibitisha saini, kisha ingiza nenosiri ambalo liliundwa wakati wa uzalishaji wa cheti cha mizizi.

На этом шаге отвечаем "ndiyo" для подтверждения подписи, после чего вводим пароль, который был создан при создании корневого сертифика.

Kwa urahisi, hebu tuunde folda inayoitwa 'mteja1' kwenye saraka ya nyumbani na tunakili faili zote zilizokusudiwa kuhamishiwa kwa kompyuta ya mteja ndani yake.

mkdir ~/client1

cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/

Nakili kiolezo cha faili ya usanidi wa mteja kwenye saraka sawa. Badilisha kiendelezi cha faili kuwa ".ovpn" wakati wa kuiga.

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

Badilisha mmiliki wa saraka na faili zote "~/mteja1/" kuweza kuzisambaza kwa mteja. Hebu tufanye "mihail" mmiliki kwa upande wetu.

chown -R mihail:mihail ~/client1

Nenda kwa kompyuta ya mteja na unakili yaliyomo kwenye faili ya "~/mteja1/" folda. Unaweza kufanya hivyo kwa msaada wa "PSCP" matumizi, ambayo huenda na Putty.

PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1

Unaweza kuhifadhi faili muhimu "ca.crt", "mteja1.crt", "mteja1.ufunguo" popote unapotaka. Kwa upande wetu, ziko kwenye folda hii "c:\Faili za Programu\OpenVPN\funguo", na tunaweka faili ya usanidi "mteja.ovpn" katika "c:\Program Files\OpenVPN\config" saraka.

Sasa hebu tuanze kusanidi mteja. Fungua faili "c:\Program Files\OpenVPN\config\client.ovpn" katika hariri ya maandishi na uhariri mistari ifuatayo:

#announce that this is the client

client
#interface and protocol just like on the server

dev tun

proto udp
#IP address of the server and port

remote ip_address 1194
#saving parameters after reload

persist-key

persist-tun
#key paths

ca “c:\\Program Files\\OpenVPN\\keys\\ca.cert”

cert “c:\\Program Files\\OpenVPN\\keys\\client1.crt”

key “c:\\Program Files\\OpenVPN\\keys\\client1.key”
#enable server verification

remote-cert-tls server
#disable extra encryption

#tls-auth ta.key 1

cipher AES-256-CBC

auth-nocache

verb 3

Wacha wengine bila kuguswa.

Hifadhi faili na uzindua programu ya mteja "OpenVPN GUI".

Usanidi wa VPN umekamilika

Bofya kulia kwenye ikoni ya programu kwenye upau wa kazi na uchague "Unganisha". Ikiwa muunganisho umefanikiwa ikoni itabadilika kuwa kijani.

Tumia huduma yoyote ya mtandaoni ili kuhakikisha kuwa anwani yako ya IP ya umma imebadilika na sasa ni sawa na anwani ya IP ya seva.

❮ Makala iliyotangulia Jinsi ya kusanidi Wireguard VPN kwenye seva yako
Makala yanayofuata ❯ Usanidi wa seva ya FTP

Tuulize kuhusu VPS

Daima tuko tayari kujibu maswali yako wakati wowote wa mchana au usiku.