Bibliotēka Vienkāršas instrukcijas darbam ar Profitserver pakalpojumu
galvenais Bibliotēka VPN servera iestatīšana operētājsistēmā Linux: PPTP vai OpenVPN?

VPN servera iestatīšana operētājsistēmā Linux: PPTP vai OpenVPN?


Mūsdienās VPN tehnoloģija kļūst arvien populārāka. Parastie lietotāji izmanto VPN, lai droši piekļūtu internetam. Tas arī palīdz apiet lokāli bloķētas vietnes un pakalpojumus un aizsargāt pret iespējamu ārēju ļaunprātīgu rīcību. Kad veidojat savienojumu ar VPN serveri, starp datoru un serveri ir drošs tunelis, kuram nevar piekļūt no ārpuses, tāpēc VPN serveris kļūst par jūsu interneta piekļuves punktu. Ir daudz VPN pakalpojumu, gan bezmaksas, gan maksas, taču, ja tie kāda iemesla dēļ jums nedarbojas, vienmēr varat konfigurēt savu VPN serveri.

Lai palaistu savu oun VPN, jums tas jādara īrēt VPS serveri. Ir dažādas programmatūras, kas ļauj izveidot VPN savienojumu. Tas atšķiras viens no otra ar atbalstītajām operētājsistēmām un izmantotajiem algoritmiem. Mēs apskatīsim divas neatkarīgas pieejas VPN servera iestatīšanai. Pirmā ir balstīta uz PPTP protokolu, kas jau tiek uzskatīts par novecojušu un nav drošu, bet ir patiešām viegli konfigurējams. Otrā tiek izmantota mūsdienīga un droša programmatūra OpenVPN, taču ir jāinstalē trešās puses klienta lietojumprogramma un jāveic rūpīgāks iestatīšanas process.

Mūsu testa vidē mēs izmantosim virtuālo serveri, ko nodrošina Ubuntu Server 18.04. Ugunsmūris serverī tiks izslēgts, jo tā konfigurācija ir pelnījusi atsevišķu rakstu. Mēs aprakstīsim iestatīšanas procesu operētājsistēmā Windows 10.

Sagatavošana

Neatkarīgi no tā, kuru VPN serveri izvēlaties, piekļuve internetam tiks iestatīta ar integrētiem operētājsistēmas līdzekļiem. Lai atvērtu piekļuvi internetam, izmantojot ārējo pakalpojumu interfeisu, ir jāatļauj pakešu pārsūtīšana starp saskarnēm un jākonfigurē tīkla adreses tulkošana.

Lai ieslēgtu pakešu pārsūtīšanu, atveriet failu “/etc/sysctl.conf” un mainīt “net.ipv4.ip_forward” parametra vērtību 1.

ieslēdziet pakešu pārsūtīšanu VPN iestatīšanai

Lai lietotu izmaiņas, nepārstartējot datoru, palaidiet komandu

sudo sysctl -p /etc/sysctl.conf

Tīkla adreses tulkošana tiek konfigurēta, izmantojot iptables. Vispirms pārbaudiet ārējā tīkla interfeisa nosaukumu, kurā tiek izpildīta komanda “IP saišu šovs” - jums tas būs vajadzīgs nākamajā darbībā. Mūsu vārds ir “ens3”.

ip saite parādīt

Iespējojiet tīkla adrešu tulkošanu savā ārējā saskarnē visiem lokālā tīkla mezgliem.

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

Ņemiet vērā, ka jums ir jānorāda sava servera saskarnes īstais nosaukums, tas var atšķirties no mūsu.

Pēc noklusējuma visi iptables izveidotie noteikumi tiek atiestatīti pēc servera restartēšanas. Lai to novērstu, izmantojiet “iptables-persistents” lietderība. Instalējiet šādu paketi:

sudo apt install iptables-persistent

Kādā brīdī instalēšanas procesa laikā jūs redzēsit konfigurācijas logu, kas ieteiks saglabāt pašreizējos iptables noteikumus. Tā kā noteikumi jau ir definēti, vienkārši apstipriniet un noklikšķiniet "Jā" divreiz. Kopš tagad noteikumi tiks piemēroti automātiski pēc servera restartēšanas.

Ieslēdziet adreses tulkošanu

PPTP serveris

Servera konfigurācija

Instalējiet paketi:

sudo apt install pptpd

Kad instalēšana ir beigusies, atveriet failu “/etc/pptpd.conf” jebkurā teksta redaktorā un rediģējiet to šādi:

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

Pēc tam rediģējiet failu “/etc/ppp/pptpd-options”. Lielākā daļa parametru ir iestatīti pēc noklusējuma.

#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

Nākamajā posmā jums būs jāizveido ieraksts klientu savienojumiem. Pieņemsim, ka vēlaties pievienot lietotāju “vplietotājs” ar paroli "1" un ļauj viņam dinamiski adresēt. Atveriet failu “/etc/ppp/chap-secrets” un faila beigās pievienojiet šādu rindiņu ar lietotāja parametriem:

vpnuser pptpd 1 *

“pptpd” vērtība ir failā norādītā pakalpojuma nosaukums “pptpd-opcijas”. Tā vietā "*" varat norādīt fiksētu IP adresi. Rezultātā fails "Kopnoslēpumi" vajadzētu izskatīties šādi:

VPN servera iestatīšana

Lai lietotu iestatījumus, atiestatiet pptpd pakalpojumu un pievienojiet to automātiskajai ielādei.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Servera konfigurēšana ir pabeigta.

Klienta konfigurācija

atvērts "Sākt" - "Iestatījumi" - Tīkls un internets - "VPN" un noklikšķiniet “Pievienot VPN savienojumu”

Iestatiet klientu VPN savienojumam

Atvērtajā logā ievadiet savienojuma parametrus un noklikšķiniet uz “Saglabāt”

  • VPN nodrošinātājs: “Windows (iebūvēts)”
  • Savienojuma nosaukums: “vpn_connect” (varat izvēlēties jebkuru nosaukumu)
  • Servera nosaukums vai adrese: (norādiet servera ārējo IP adresi)
  • VPN veids: “Automātiski”
  • Pierakstīšanās informācijas veids: “Lietotājvārds un parole”
  • Lietotāja vārds: vplietotājs (nosaukums norādīts servera failā "chap-secrets")
  • parole: 1 (kā "chap-secrets" failā)

Pēc parametru saglabāšanas logā redzēsit jauno VPN savienojumu. Ar peles kreiso taustiņu noklikšķiniet uz savienojuma un atlasiet "Connect". Veiksmīga savienojuma gadījumā jūs redzēsit "Savienots" statusu.

VPN savienojuma pievienošana

Sadaļā Opcijas atradīsit klienta un servera iekšējās adreses. Lauks “Galamērķa adrese” parāda ārējā servera adresi.

Kā pats iestatīt VPN serveri

Kad ir izveidots savienojums, servera iekšējā IP adrese, 172.16.0.1 mūsu gadījumā kļūst par noklusējuma vārteju visām izejošajām paketēm.

Pārbaudiet ārējo IP adresi

Izmantojot jebkuru tiešsaistes pakalpojumu, varat pārliecināties, vai datora ārējā IP adrese tagad ir tāda pati kā jūsu VPN servera IP adrese.

OpenVPN serveris

Servera konfigurācija

Veicināsim pašreizējā lietotāja atļauju līmeni, jo turpmākai konfigurācijai mums būs nepieciešama root piekļuve.

sudo -s

Instalējiet visas nepieciešamās paketes. Mums vajadzēs “Easy-RSA” pakete, lai pārvaldītu šifrēšanas atslēgas.

apt install openvpn easy-rsa iptables-persistent

Atļaut ienākošos savienojumus 1194. portā, izmantojot UDP protokolu, un lietot iptables noteikumus.

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

sudo netfilter-persistent save

Izveidojiet direktoriju ar kopētiem failiem no pakotnes “Easy-RSA” un atrodiet to.

make-cadir ~/openvpn

cd ~/openvpn

Ģenerēt publiskās atslēgas infrastruktūru (PKI).

./easyrsa init-pki

Ģenerējiet sertifikātu iestādes (CA) saknes sertifikātu.

./easyrsa build-ca

Izveides procesa laikā jums tiks piedāvāts iestatīt un atcerēties paroli. Jums būs jāatbild arī uz jautājumiem un jāievada informācija par atslēgas īpašnieku. Kvadrātveida iekavās varat atstāt noklusējuma vērtības. Lai pabeigtu ievadi, nospiediet taustiņu "Enter".

Ģenerējiet privāto atslēgu un sertifikāta pieprasījumu. Kā argumentu norādiet patvaļīgu nosaukumu; mūsu gadījumā tas ir “vpn-server”.

./easyrsa gen-req vpn-server nopass

Atstājiet kopējā nosaukuma vērtību kā noklusējuma vērtību.

Parakstiet ģenerēto servera sertifikāta pieprasījumu.

./easyrsa sign-req server vpn-server

Šajā solī atbildiet ar "jā", lai apstiprinātu parakstu, pēc tam ievadiet paroli, kas tika izveidota saknes sertifikāta ģenerēšanas laikā.

Ģenerēt Difī-Helmana parametrus. Šie parametri tiek izmantoti drošai atslēgu apmaiņai starp serveri un klientu.

./easyrsa gen-dh

Visi nepieciešamie faili ir ģenerēti. Izveidosim mapi "atslēgas" OpenVPN darba direktorijā, lai saglabātu atslēgas un kopētu tur izveidotos failus.

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

Konfigurējiet NAT, izmantojot iptables noteikumi. Izveidojiet failu ar nosaukumu nat un atveriet to rediģēšanai sadaļā /etc/openvpn/ katalogs.

#!/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

Saglabājiet failu un padariet to izpildāmu.

sudo chmod 755 /etc/openvpn/nat

Kopējiet servera konfigurācijas veidni.

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

Atveriet failu “/etc/openvpn/server.conf” lai rediģētu, pārliecinieties, vai tajā ir šādas rindas, un rediģējiet tās, ja nepieciešams:

#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

Iespējot datplūsmas pāradresāciju serverī.

sudo sysctl -w net.ipv4.ip_forward=1

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

Lai lietotu konfigurāciju, palaidiet OpenVPN.

systemctl restart openvpn@server

Servera konfigurēšana ir pabeigta!

Klienta konfigurācija

Dodieties uz OpenVPN oficiālo vietni "https://openvpn.net”, dodieties uz “KOPIENA” sadaļā.

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

Ritiniet uz leju un lejupielādējiet savas operētājsistēmas versijas instalētāju. Mūsu gadījumā tā ir Windows 11 ARM64.

пролистываем вниз и скачиваем инсталлятор для своей версии операционной системы. В нашем случае это Windows 11 ARM64.

Instalējiet lietojumprogrammu, pēc noklusējuma atstājot visus parametrus.

Nākamajā posmā jums būs jāsagatavo šāds fails serverī un jāpārsūta uz klienta datoru:

  • publiskās un privātās atslēgas;
  • sertifikācijas centra atslēgas kopija;
  • konfigurācijas faila veidne.

Izveidojiet savienojumu ar serveri, paaugstiniet privilēģijas un dodieties uz mūsu izveidoto direktoriju. "~/openvpn".

sudo -s

cd ~/openvpn

Ģenerējiet klientam privāto atslēgu un sertifikāta pieprasījumu. Kā argumentu norādiet patvaļīgu nosaukumu; mūsu gadījumā tas ir “client1”.

./easyrsa gen-req client1 nopass

Ievadiet paroli, ko iestatījām, veidojot saknes sertifikātu, un atstājiet kopējā nosaukuma vērtību kā noklusējuma vērtību.

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

Parakstiet ģenerēto klienta sertifikāta pieprasījumu.

./easyrsa sign-req client client1

Šajā solī atbildiet ar "jā", lai apstiprinātu parakstu, pēc tam ievadiet paroli, kas tika izveidota saknes sertifikāta ģenerēšanas laikā.

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

Ērtības labad mājas direktorijā izveidosim mapi ar nosaukumu “client1” un kopēsim tajā visus failus, kas paredzēti pārsūtīšanai uz klienta datoru.

mkdir ~/client1

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

Kopējiet klienta konfigurācijas faila veidni tajā pašā direktorijā. Mainiet faila paplašinājumu uz “.ovpn” kopēšanas laikā.

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

Mainiet direktorijas un visu failu īpašnieku “~/klients1/” lai varētu tās izplatīt klientam. Pagatavosim "mihail" īpašnieks mūsu gadījumā.

chown -R mihail:mihail ~/client1

Dodieties uz klienta datoru un kopējiet saturu “~/klients1/” mapi. To var izdarīt ar palīdzību "PSCP" lietderība, kas atbilst Putty.

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

Varat saglabāt galvenos failus “ca.crt”, “client1.crt”, “klients1.atslēga” kur vien vēlies. Mūsu gadījumā tie atrodas šajā mapē “c:\Program Files\OpenVPN\keys”, un mēs pārveidojam konfigurācijas failu “client.ovpn” stāšanās “c:\Program Files\OpenVPN\config” katalogs.

Tagad ķersimies pie klienta konfigurēšanas. Atveriet failu “c:\Program Files\OpenVPN\config\client.ovpn” teksta redaktorā un rediģējiet šādas rindiņas:

#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

Pārējo atstājiet neskartu.

Saglabājiet failu un palaidiet klienta lietojumprogrammu “OpenVPN GUI”.

VPN iestatīšana ir pabeigta

Ar peles labo pogu noklikšķiniet uz lietotnes ikonas uzdevumjoslā un izvēlieties "Connect". Ja savienojums ir veiksmīgs, ikona kļūs zaļa.

Izmantojiet jebkuru tiešsaistes pakalpojumu, lai pārliecinātos, ka jūsu publiskā IP adrese ir mainījusies un tagad ir tāda pati kā servera IP adrese.

❮ Iepriekšējais raksts FTP servera iestatīšana
Nākamais raksts ❯ Kā serverī iestatīt Wireguard VPN

Jautājiet mums par VPS

Mēs vienmēr esam gatavi atbildēt uz jūsu jautājumiem jebkurā diennakts laikā.