Gaur egun, VPN teknologia ezagunagoa da. Erabiltzaile arruntek VPN erabiltzen dute Internetera segurtasunez sartzeko. Era berean, lokalean blokeatutako webguneak eta zerbitzuak inguratzen laguntzen du eta kanpoko jokabide maltzurren aurka babesten laguntzen du. VPN zerbitzari batera konektatzen ari zarenean, zure ordenagailuaren eta zerbitzariaren artean tunel seguru bat dago, kanpotik sartu ezin dena, beraz, VPN zerbitzaria zure Interneteko sarbide-puntu bihurtzen da. VPN zerbitzu asko daude hor, doakoak zein ordainpekoak, baina arrazoiren batengatik zuretzako funtzionatzen ez badute, beti konfigura dezakezu zure VPN zerbitzaria.
Zure VPNa exekutatzeko, beharko zenuke alokatu VPS zerbitzaria. VPN konexio bat sortzeko aukera ematen duen software desberdina dago. Bata bestearengandik bereizten dira onartzen diren sistema eragileengatik eta erabiltzen diren algoritmoengatik. VPN zerbitzari bat konfiguratzeko bi ikuspegi independente aztertuko ditugu. Lehenengoa PPTP protokoloan oinarritzen da, jada zaharkituta dagoela eta segurua ez dena, baina konfiguratzeko oso erraza dena. Besteak OpenVPN software moderno eta segurua erabiltzen du, baina hirugarrenen bezeroen aplikazioa eta konfigurazio prozesu sakonagoa instalatzea eskatzen du.
Gure proba-ingurunean, Ubuntu Server 18.04-k bultzatutako zerbitzari birtual bat erabiliko dugu. Suebaki bat itzali egingo da zerbitzarian, bere konfigurazioak aparteko artikulu bat merezi duelako. Windows 10-en konfigurazio prozesua deskribatuko dugu.
Prestaketa
Aukeratzen duzun VPN zerbitzaria edozein dela ere, Interneterako sarbidea sistema eragilearen bitarteko integratuen bidez konfiguratuko da. Kanpoko zerbitzu-interfaze baten bidez Interneteko sarbidea irekitzeko, interfazeen arteko paketeak birbidaltzea eta sareko helbideen itzulpena konfiguratu behar dituzu.
Paketeen birbidaltzea aktibatzeko, ireki fitxategia "/etc/sysctl.conf" eta aldatu "net.ipv4.ip_forward" parametroaren balioa sartu 1.
Aldaketak ordenagailua berrabiarazi gabe aplikatzeko, exekutatu komandoa
sudo sysctl -p /etc/sysctl.conf
Sare-helbideen itzulpena ren bidez konfiguratzen da iptables. Lehenik eta behin, egiaztatu komandoa exekutatzen ari den kanpoko sareko interfazearen izena "ip esteka erakutsi" - hurrengo urratsean beharko duzu. Gure izena da "ens3".
Gaitu sareko helbideen itzulpena zure kanpoko interfazean tokiko sareko nodo guztietan.
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Kontuan izan zure zerbitzariaren interfazearen benetako izena zehaztu behar duzula, gurearen ezberdina izan daitekeela.
Lehenespenez, iptables-ek sortutako arau guztiak berrezartzen dira zerbitzaria berrabiarazi ondoren. Hori ekiditeko, erabili "iptables iraunkorrak" erabilgarritasuna. Instalatu pakete hau:
sudo apt install iptables-persistent
Instalazio-prozesuan zehar, uneko iptables-en arauak gordetzea proposatuko dizun konfigurazio-leiho bat ikusiko duzu. Arauak jada zehaztuta daudenez, berretsi eta egin klik "Bai" birritan. Orain zerbitzaria berrabiarazi ondoren arauak automatikoki aplikatuko dira.
PPTP zerbitzaria
Zerbitzariaren konfigurazioa
Instalatu paketea:
sudo apt install pptpd
Instalazioa amaitu ondoren, ireki fitxategia "/etc/pptpd.conf" edozein testu-editorean eta editatu honela:
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
Horren ondoren, editatu fitxategia "/etc/ppp/pptpd-options". Parametro gehienak lehenespenez konfiguratuta daude.
#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
Hurrengo fasean, bezeroen konexioetarako erregistro bat sortu beharko duzu. Demagun erabiltzaile bat gehitu nahi duzula "vpnuser" pasahitza "1" eta berarentzat zuzenketa dinamikoa ahalbidetu. Ireki fitxategia "/etc/ppp/chap-secrets" eta gehitu hurrengo lerroa erabiltzailearen parametroekin fitxategiaren amaieran:
vpnuser pptpd 1 *
"pptpd" balioa fitxategian zehaztu dugun zerbitzuaren izena da "pptpd-aukerak". Ordez "*" IP helbide finko bat zehaztu dezakezu. Ondorioz, fitxategia "Sekretuak" itxura hau izan beharko luke:
Ezarpenak aplikatzeko, berrezarri pptpd zerbitzua eta gehitu karga automatikoari.
sudo systemctl restart pptpd
sudo systemctl enable pptpd
Zerbitzariaren konfigurazioa amaitu da.
Bezeroaren konfigurazioa
Ireki "Hasi" - "Ezarpenak" - Sarea eta Internet - "VPN" eta sakatu "Gehitu VPN konexio bat"
Sartu konexio-parametroak irekitako leihoan eta egin klik "Gorde"
- VPN hornitzailea: "Windows (integratua)"
- Konexioaren izena: "vpn_connect" (edozein izena aukeratu dezakezu)
- Zerbitzariaren izena edo helbidea: (zehaztu zerbitzariaren kanpoko IP helbidea)
- VPN mota: "Automatiko"
- Saioa hasteko informazio mota: "Erabiltzaile izena eta pasahitza"
- Erabiltzaile izena: vpnuser (zerbitzariko "chap-secrets" fitxategian zehaztutako izena)
- Pasahitza: 1 ("chap-secrets" fitxategian bezala)
Parametroak gorde ondoren, VPN konexio berria ikusiko duzu leihoan. Egin klik ezkerreko botoian konexioan eta hautatu "Konektatu". Konexio arrakastatsua izanez gero, ikusiko duzu "Konektatuta" status.
Aukeran, bezeroaren eta zerbitzariaren barne helbideak aurkituko dituzu. Eremua "Helmuga helbidea" kanpoko zerbitzariaren helbidea bistaratzen du.
Konektatzean, zerbitzariaren barne IP helbidea, 172.16.0.1 gure kasuan, irteerako pakete guztien atebide lehenetsia bihurtzen da.
Lineako edozein zerbitzu erabiliz ziurtatu dezakezu ordenagailuaren kanpoko IP helbidea orain zure VPN zerbitzariaren IP helbidea berdina dela.
OpenVPN zerbitzaria
Zerbitzariaren konfigurazioa
Sustatu dezagun uneko erabiltzailearen baimen maila, gure konfigurazio gehiagorako root sarbidea beharko dugulako.
sudo -s
Instalatu beharrezko pakete guztiak. beharko dugu "Erraza-RSA" paketea enkriptatzeko gakoak kudeatzeko.
apt install openvpn easy-rsa iptables-persistent
Onartu sarrerako konexioak 1194 portuan UDP protokoloaren bidez eta aplikatu iptables arauak.
sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT
sudo netfilter-persistent save
Sortu direktorio bat "Easy-RSA" paketetik kopiatutako fitxategiekin eta nabigatu bertara.
make-cadir ~/openvpn
cd ~/openvpn
Gako Publikoko Azpiegitura (PKI) sortu.
./easyrsa init-pki
Sortu Ziurtagiri-agintaritzaren (CA) erroko ziurtagiria.
./easyrsa build-ca
Sortze prozesuan zehar, pasahitz bat ezarri eta gogoratzeko eskatuko zaizu. Gainera, galderak erantzun eta giltzaren jabeari buruzko informazioa sartu beharko duzu. Kortxeteen artean emandako balio lehenetsiak utz ditzakezu. Sakatu "Sartu" sarrera amaitzeko.
Sortu gako pribatu bat eta ziurtagiri eskaera bat. Argumentu gisa, zehaztu izen arbitrario bat; gure kasuan, "vpn-zerbitzaria" da.
./easyrsa gen-req vpn-server nopass
Utzi Izen arrunta balioa lehenetsi gisa.
Sinatu sortutako zerbitzari-ziurtagiri eskaera.
./easyrsa sign-req server vpn-server
Urrats honetan, erantzun "bai" sinadura berresteko, eta ondoren sartu erroko ziurtagiria sortzean sortutako pasahitza.
Sortu Diffie-Hellman parametroak. Parametro hauek zerbitzariaren eta bezeroaren arteko gakoen truke segurua egiteko erabiltzen dira.
./easyrsa gen-dh
Beharrezko fitxategi guztiak sortu dira. Sortu dezagun "gakoak" karpeta bat OpenVPN lan-direktorioan giltzak gordetzeko eta sortutako fitxategiak bertan kopiatzeko.
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
Konfiguratu NAT erabiliz iptables arauak. Sortu izeneko fitxategi bat nat eta ireki editatzeko /etc/openvpn/ direktorioa.
#!/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
Gorde fitxategia eta egin ezazu exekutagarri.
sudo chmod 755 /etc/openvpn/nat
Kopiatu zerbitzariaren konfigurazio txantiloia.
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
Ireki fitxategia "/etc/openvpn/server.conf" editatzeko, ziurtatu lerro hauek dituela, eta editatu behar izanez gero:
#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
Gaitu trafikoaren birbidalketa zerbitzarian.
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
Abiarazi OpenVPN konfigurazioa aplikatzeko.
systemctl restart openvpn@server
Zerbitzariaren konfigurazioa amaitu da!
Bezeroaren konfigurazioa
Joan OpenVPNren webgune ofizialera "https://openvpn.net", joan “KOMUNITATEA” atala.
Joan behera eta deskargatu zure sistema eragilearen bertsioaren instalatzailea. Gure kasuan, Windows 11 ARM64 da.
Instalatu aplikazioa parametro guztiak lehenespenez utzita.
Hurrengo fasean zerbitzarian hurrengo fitxategia prestatu eta ordenagailu bezerora transferitu beharko duzu:
- gako publikoak eta pribatuak;
- Ziurtagiri-zentroaren giltzaren kopia;
- konfigurazio fitxategi txantiloia.
Konektatu zerbitzarira, eman pribilegioak eta nabigatu sortutako direktoriora "~/openvpn".
sudo -s
cd ~/openvpn
Sortu bezeroarentzako gako pribatu bat eta ziurtagiri eskaera bat. Argumentu gisa, zehaztu izen arbitrario bat; gure kasuan, “client1” da.
./easyrsa gen-req client1 nopass
Sartu erroko ziurtagiria sortzerakoan ezarri genuen pasahitza eta utzi Izen arrunta balioa lehenetsi gisa.
Sinatu sortutako bezero ziurtagiri eskaera.
./easyrsa sign-req client client1
Urrats honetan, erantzun "bai" sinadura berresteko, eta ondoren sartu erroko ziurtagiria sortzean sortutako pasahitza.
Erosotasunerako, sortu dezagun 'client1' izeneko karpeta bat etxeko direktorioan eta kopiatu dezagun bezero-ordenagailura transferitzeko dauden fitxategi guztiak bertara.
mkdir ~/client1
cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/
Kopiatu bezeroaren konfigurazio fitxategiaren txantiloia direktorio berean. Aldatu fitxategiaren luzapena ".ovpn" kopiatzen ari zaren bitartean.
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn
Aldatu direktorioaren eta fitxategi guztien jabea "~/client1/" bezeroari banatu ahal izateko. Egin dezagun "mihail" jabea gure kasuan.
chown -R mihail:mihail ~/client1
Joan bezeroaren ordenagailura eta kopiatu edukia "~/client1/" karpeta. ren laguntzarekin egin dezakezu "PSCP" erabilgarritasuna, Putty-rekin doa.
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
Gako fitxategiak gorde ditzakezu "ca.crt", "client1.crt", "client1.key" nahi duzun tokian. Gure kasuan, karpeta honetan daude "c:\Programa fitxategiak\OpenVPN\gakoak", eta konfigurazio fitxategia modua dugu "client.ovpn" sartu du "c:\Programa fitxategiak\OpenVPN\config" direktorioa.
Orain, goazen bezeroa konfiguratzera. Ireki fitxategia "c:\Programa fitxategiak\OpenVPN\config\client.ovpn" testu-editore batean eta editatu lerro hauek:
#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
Utzi gainerakoak ukitu gabe.
Gorde fitxategia eta abiarazi bezeroaren aplikazioa "OpenVPN GUI".
Egin klik eskuineko botoiarekin ataza-barrako aplikazioaren ikonoan eta aukeratu "Konektatu". Konexioa arrakastatsua bada, ikonoa berde bihurtuko da.
Erabili lineako edozein zerbitzu zure IP helbide publikoa aldatu dela eta zerbitzariaren IP helbidearen berdina dela ziurtatzeko.