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.
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".
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.
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:
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"
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.
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.
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.
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.
Desann epi telechaje enstalatè a pou vèsyon sistèm operasyon ou an. Nan ka nou an, se 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.
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".
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.