Konnesans Enstriksyon senp pou travay avèk sèvis Profitserver la
Main Konnesans Konfigirasyon sèvè VPN sou Linux: PPTP oswa OpenVPN?

Konfigirasyon sèvè VPN sou Linux: PPTP oswa OpenVPN?


Sèjousi, teknoloji VPN vin pi popilè. Itilizatè òdinè yo itilize VPN pou jwenn aksè nan Entènèt la san danje. Li ede tou ale nan sit wèb ak sèvis lokalman bloke epi pwoteje kont move konpòtman ekstèn posib. Lè w ap konekte ak yon sèvè VPN, gen yon tinèl ki an sekirite ant òdinatè w lan ak sèvè a ki pa ka jwenn aksè soti deyò, kidonk sèvè VPN a vin pwen aksè entènèt ou. Gen anpil sèvis VPN deyò, tou de gratis ak peye, men si yo pa travay pou ou pou kèk rezon, ou ka toujou configured pwòp sèvè VPN ou.

Pou kouri VPN ou a, ou ta dwe lwe sèvè VPS. Gen diferan lojisyèl ki pèmèt ou kreye yon koneksyon VPN. Li diferan youn ak lòt pa sistèm operasyon sipòte ak algoritm yo itilize. Nou pral pran yon gade nan de apwòch endepandan yo mete kanpe yon sèvè VPN. Premye a baze sou pwotokòl PPTP ki deja konsidere kòm demode epi li pa an sekirite, men li vrèman fasil pou konfigirasyon. Lòt la anplwaye OpenVPN lojisyèl modèn ak an sekirite, men li mande pou enstale yon aplikasyon kliyan twazyèm pati ak yon pwosesis konfigirasyon pi apwofondi.

Nan anviwònman tès nou an, nou pral sèvi ak yon sèvè vityèl patrone pa Ubuntu Server 18.04. Yon firewall pral etenn sou sèvè a paske konfigirasyon li yo merite yon atik separe. Nou pral dekri pwosesis konfigirasyon an sou Windows 10.

preparasyon

Kèlkeswa sèvè vpn ou chwazi a, aksè Entènèt la pral mete sou pye pa mwayen sistèm operasyon an entegre. Yo nan lòd yo louvri aksè entènèt atravè yon koòdone sèvis ekstèn ou dwe pèmèt voye pake ant interfaces yo ak konfigirasyon tradiksyon adrès rezo a.

Pou chanje sou voye pake louvri dosye a "/etc/sysctl.conf" ak chanjman "net.ipv4.ip_forward" valè paramèt nan 1.

vire sou voye pake pou konfigirasyon VPN

Yo nan lòd yo aplike chanjman san yo pa rdemare òdinatè a, kouri lòd la

sudo sysctl -p /etc/sysctl.conf

Tradiksyon adrès rezo configuré pa mwayen iptables. Premyèman, tcheke non an nan koòdone rezo ekstèn ou a kouri lòd la "ip montre lyen" - ou pral bezwen li nan pwochen etap la. Non nou se "ens3".

ip lyen montre

Pèmèt tradiksyon adrès rezo a nan koòdone ekstèn ou a pou tout nœuds rezo lokal yo.

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

Remake byen ke ou bezwen presize non reyèl la nan koòdone sèvè ou a, li ka diferan de nou an.

Pa default, tout règ ki kreye pa iptables yo reset apre sèvè a rekòmanse. Pou anpeche sa, sèvi ak "iptables-pèsistan" sèvis piblik. Enstale pake sa a:

sudo apt install iptables-persistent

Nan kèk pwen pandan pwosesis enstalasyon an, ou pral wè yon fenèt konfigirasyon ki pral sijere ou sove règ iptables aktyèl yo. Depi règ yo deja defini, jis konfime epi klike "Wi" de fwa. Depi kounye a règ yo pral aplike otomatikman apre sèvè a rekòmanse.

Aktive tradiksyon adrès

Sèvè PPTP

Konfigirasyon sèvè

Enstale pake a:

sudo apt install pptpd

Apre enstalasyon an fini, louvri dosye a "/etc/pptpd.conf" nan nenpòt editè tèks epi modifye li tankou sa a:

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

Apre sa, edite fichye a "/etc/ppp/pptpd-options". Pifò nan paramèt yo mete kanpe pa default.

#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

Nan pwochen etap la, w ap bezwen kreye yon dosye pou koneksyon kliyan yo. Ann di ou vle ajoute yon itilizatè "vpnuser" ak modpas "1" epi pèmèt adrès dinamik pou li. Louvri fichye a "/etc/ppp/chap-secrets" epi ajoute liy sa a ak paramèt itilizatè a nan fen dosye a:

vpnuser pptpd 1 *

"pptpd" valè se non sèvis nou espesifye nan dosye a "pptpd-opsyon". Olye pou yo "*" ou ka presize yon adrès IP fiks. Nan rezilta a, dosye a "chap-sekrè" ta dwe sanble sa a:

Konfigirasyon sèvè VPN

Pou aplike paramèt yo reset la pptpd sèvis epi ajoute li nan otoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Konfigirasyon sèvè a fini.

Konfigirasyon kliyan an

louvri "Kòmanse" - "Anviwònman" - Rezo & Entènèt - "VPN" epi klike sou "Ajoute yon koneksyon VPN"

Enstalasyon kliyan pou koneksyon VPN

Antre paramèt koneksyon yo nan fenèt la louvri epi klike sou "Sove"

  • Founisè VPN: "Windows (entègre)"
  • Non koneksyon: "vpn_connect" (ou ka chwazi nenpòt non)
  • Non oswa adrès sèvè: (presize adrès IP ekstèn sèvè a)
  • Kalite VPN: "Oto"
  • Kalite enfòmasyon pou konekte: "Non itilizatè ak modpas"
  • Non itilizatè: vpnuser (non espesifye nan fichye "chap-secrets" sou sèvè a)
  • Modpas: 1 (tankou nan fichye "chap-sekrè")

Apre ekonomize paramèt, ou pral wè nouvo koneksyon VPN nan fenèt la. Klike sou koneksyon an bò gòch epi chwazi "Konekte". Nan ka yon koneksyon siksè, ou pral wè "Konekte" estati.

Ajoute koneksyon VPN

Nan Opsyon yo, w ap jwenn adrès entèn kliyan an ak sèvè a. Jaden "Adrès destinasyon" montre adrès sèvè ekstèn lan.

Ki jan yo konfigirasyon sèvè VPN poukont ou

Lè konekte, adrès IP entèn sèvè a, 172.16.0.1 nan ka nou an, vin pòtay la default pou tout pake sortan.

Tcheke adrès IP ekstèn

Sèvi ak nenpòt sèvis sou entènèt ou ka asire w ke adrès IP ekstèn òdinatè a se kounye a menm ak adrès IP sèvè VPN ou a.

Sèvè OpenVPN

Konfigirasyon sèvè

Ann ankouraje nivo otorizasyon itilizatè aktyèl la paske pou plis konfigirasyon nou an nou pral bezwen aksè rasin.

sudo -s

Enstale tout pake ki nesesè yo. Nou pral bezwen "Fasil-RSA" pake pou jere kle chifreman yo.

apt install openvpn easy-rsa iptables-persistent

Pèmèt koneksyon k ap rantre sou pò 1194 atravè pwotokòl UDP epi aplike règ iptables yo.

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

sudo netfilter-persistent save

Kreye yon anyè avèk fichye kopye ki soti nan pakè "Easy-RSA" a epi navige ladan l.

make-cadir ~/openvpn

cd ~/openvpn

Jenere yon Enfrastrikti Kle Piblik (PKI).

./easyrsa init-pki

Jenere sètifika rasin Otorite Sètifika (CA) a.

./easyrsa build-ca

Pandan pwosesis kreyasyon an, y ap mande w pou w mete yon modpas epi sonje l. Ou ap bezwen reponn kesyon epi antre enfòmasyon sou pwopriyetè kle a tou. Ou ka kite valè defo yo ki nan parantèz kare yo. Peze "Antre" pou finalize antre a.

Jenere yon kle prive ak yon demann sètifika. Kòm yon agiman, espesifye yon non abitrè; nan ka nou an, se "vpn-server".

./easyrsa gen-req vpn-server nopass

Kite valè Non Komen an kòm valè pa defo.

Siyen demann sètifika sèvè ki te pwodui a.

./easyrsa sign-req server vpn-server

Nan etap sa a, reponn "wi" pou konfime siyati a, answit antre modpas ki te kreye pandan jenerasyon sètifika rasin lan.

Jenere paramèt Diffie-Hellman. Paramèt sa yo itilize pou echanj kle an sekirite ant sèvè a ak kliyan an.

./easyrsa gen-dh

Tout fichye nesesè yo te pwodui. Ann kreye yon dosye "kle" nan anyè travay OpenVPN nan pou estoke kle yo epi kopye fichye ki te kreye yo la.

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

Konfigire NAT lè l sèvi avèk iptables règ yo. Kreye yon fichye ki rele nat epi ouvri li pou modifye li nan /etc/openvpn/ Anyè a.

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

Sove fichye a epi fè li egzekisyonab.

sudo chmod 755 /etc/openvpn/nat

Kopye modèl konfigirasyon sèvè a.

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

Louvri dosye a "/etc/openvpn/server.conf" pou koreksyon, asire w ke li gen liy sa yo, epi modifye yo si sa nesesè:

#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

Aktive redireksyon trafik sou sèvè a.

sudo sysctl -w net.ipv4.ip_forward=1

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

Lanse OpenVPN pou aplike konfigirasyon an.

systemctl restart openvpn@server

Konfigirasyon sèvè a fini!

Konfigirasyon kliyan an

Ale sou sit entènèt ofisyèl OpenVPN "https://openvpn.net", ale nan "KOMINITE" seksyon.

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

Desann epi telechaje enstalatè a pou vèsyon sistèm operasyon ou an. Nan ka nou an, se Windows 11 ARM64.

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

Enstale aplikasyon an kite tout paramèt pa default.

Nan pwochen etap la, w ap bezwen prepare dosye sa a sou sèvè a epi transfere yo nan òdinatè kliyan an:

  • kle piblik ak prive;
  • kopi kle sant sètifikasyon an;
  • modèl fichye konfigirasyon.

Konekte ak sèvè a, ogmante privilèj yo, epi navige nan anyè nou te kreye a. "~/openvpn".

sudo -s

cd ~/openvpn

Jenere yon kle prive ak yon demann sètifika pou kliyan an. Kòm yon agiman, espesifye yon non abitrè; nan ka nou an, se "kliyan1".

./easyrsa gen-req client1 nopass

Antre modpas nou te mete lè nou t ap kreye sètifika rasin lan epi kite valè Non Komen an kòm valè pa defo.

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

Siyen demann sètifika kliyan ki te pwodui a.

./easyrsa sign-req client client1

Nan etap sa a, reponn "wi" pou konfime siyati a, answit antre modpas ki te kreye pandan jenerasyon sètifika rasin lan.

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

Pou plis konvenyans, ann kreye yon dosye ki rele 'client1' nan anyè lakay la epi kopye tout fichye ki gen entansyon transfere sou òdinatè kliyan an ladan l.

mkdir ~/client1

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

Kopi modèl fichye konfigirasyon kliyan an nan menm anyè a. Chanje ekstansyon dosye a ".ovpn" pandan y ap kopye.

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

Chanje pwopriyetè anyè a ak tout dosye yo "~/client1/" pou kapab distribye yo bay kliyan an. Ann fè "Mihai" pwopriyetè a nan ka nou an.

chown -R mihail:mihail ~/client1

Ale nan òdinatè kliyan an epi kopye kontni an "~/client1/" katab. Ou ka fè sa avèk èd nan "PSCP" sèvis piblik, ki ale ak Putty.

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

Ou ka estoke dosye kle yo "ca.crt", "client1.crt", "client1.key" kote ou vle. Nan ka nou an, yo nan katab sa a "c:\Program Files\OpenVPN\keys", epi nou mòd fichye konfigirasyon an "client.ovpn" nan la "c:\Program Files\OpenVPN\config" Anyè a.

Koulye a, ann ale nan konfigirasyon kliyan an. Louvri fichye a "c:\Program Files\OpenVPN\config\client.ovpn" nan yon editè tèks epi modifye liy sa yo:

#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

Kite rès la intact.

Sove fichye a epi lanse aplikasyon kliyan an "OpenVPN entèfas".

Konfigirasyon VPN fini

Dwa-klike sou ikòn aplikasyon an nan ba travay la epi chwazi "Konekte". Si koneksyon an reyisi icon nan ap vire vèt.

Sèvi ak nenpòt sèvis sou entènèt pou asire w ke adrès IP piblik ou a chanje epi kounye a se menm ak adrès IP sèvè a.

❮ Atik anvan an Ki jan yo mete kanpe Wireguard VPN sou sèvè ou a
Pwochen atik la ❯ FTP sèvè konfigirasyon

Mande nou sou VPS

Nou toujou pare pou reponn kesyon ou yo nenpòt ki lè lajounen kou lannwit.