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 VPN, jums vajadzētu nomāt VPS serveri . Ir dažādas programmatūras, kas ļauj izveidot VPN savienojumu. Tās atšķiras viena no otras ar atbalstītajām operētājsistēmām un izmantotajiem algoritmiem. Mēs aplūkosim divas neatkarīgas pieejas VPN servera iestatīšanai. Pirmā ir balstīta uz PPTP protokolu, kas jau tiek uzskatīts par novecojušu un nedrošu, taču to ir ļoti viegli konfigurēt. Otra izmanto modernu un drošu programmatūru OpenVPN, taču tai ir nepieciešama trešās puses klienta lietojumprogrammas instalēšana un 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āradresāciju, atveriet failu “/etc/sysctl.conf” un nomainiet parametra “net.ipv4.ip_forward” vērtību uz 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 saskarnes nosaukumu, palaižot komandu “ip link show” — tā būs nepieciešama nākamajā solī. Mūsu nosaukums 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 utilītu “iptables-persistent” . Instalējiet šo paketi:

sudo apt install iptables-persistent

Instalēšanas procesa laikā kādā brīdī jūs redzēsiet konfigurācijas logu, kurā tiks ieteikts saglabāt pašreizējos iptables noteikumus. Tā kā noteikumi jau ir definēti, vienkārši apstipriniet un divreiz noklikšķiniet uz “Jā” . 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

Pēc instalēšanas pabeigšanas jebkurā teksta redaktorā atveriet failu “/etc/pptpd.conf” 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 “vpnuser” ar paroli “1” un atļaut viņam dinamisko adresēšanu. Atveriet failu “/etc/ppp/chap-secrets” un faila beigās pievienojiet šādu rindu ar lietotāja parametriem:

vpnuser pptpd 1 *

Vērtība “pptpd” ir pakalpojuma nosaukums, ko norādījām failā “pptpd-options” . Simbola “*” vietā var norādīt fiksētu IP adresi. Rezultātā failam “chap-secrets” 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

Atveriet “Sākt” - “Iestatījumi” - “Tīkls un internets” - “VPN” un noklikšķiniet uz “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ēsiet jauno VPN savienojumu. Ar peles kreiso taustiņu noklikšķiniet uz savienojuma un atlasiet “Savienot” . Veiksmīga savienojuma gadījumā redzēsiet statusu “Savienots” .

VPN savienojuma pievienošana

Opcijās atradīsiet klienta un servera iekšējās adreses. Laukā “Galamērķa adrese” tiek parādīta ārējā servera adrese.

Kā pats iestatīt VPN serveri

Pēc savienojuma izveides servera iekšējā IP adrese, mūsu gadījumā 172.16.0.1 , 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 visus nepieciešamos paketes. Šifrēšanas atslēgu pārvaldībai mums būs nepieciešams “Easy-RSA” pakete.

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 rediģēšanai failu “/etc/openvpn/server.conf” , 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 oficiālo OpenVPN vietni “ https://openvpn.net ”, dodieties uz sadaļu “KOPIENA”.

Заходим на официальный сайт проекта “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ā. Kopēšanas laikā nomainiet faila paplašinājumu uz “.ovpn” .

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

Mainiet direktorijas un visu failu “~/client1/” īpašnieku , lai tos varētu izplatīt klientam. Mūsu gadījumā padarīsim īpašnieku “mihail” .

chown -R mihail:mihail ~/client1

Dodieties uz klienta datoru un nokopējiet mapes “~/client1/” saturu . To var izdarīt, izmantojot Putty komplektācijā iekļauto utilītu “PSCP” .

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

Atslēgu failus “ca.crt” , “client1.crt” , “client1.key” var glabāt, kur vien vēlaties. Mūsu gadījumā tie atrodas šajā mapē “c:\Program Files\OpenVPN\keys” , un konfigurācijas failu “client.ovpn” mēs ievietojam direktorijā “c:\Program Files\OpenVPN\config”.

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

#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 “Savienot” . 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ā.