Y dyddiau hyn, mae technoleg VPN yn dod yn fwy poblogaidd. Mae defnyddwyr cyffredin yn defnyddio VPN i gael mynediad diogel i'r Rhyngrwyd. Mae hefyd yn helpu i fynd o gwmpas gwefannau a gwasanaethau sydd wedi'u blocio'n lleol ac amddiffyn rhag ymddygiad maleisus allanol posibl. Pan fyddwch chi'n cysylltu â gweinydd VPN, mae twnnel diogel rhwng eich cyfrifiadur a'r gweinydd na ellir ei gyrchu o'r tu allan, felly mae'r gweinydd VPN yn dod yn bwynt mynediad i'r Rhyngrwyd i chi. Mae yna lawer o wasanaethau VPN ar gael, am ddim ac am dâl, ond os nad ydyn nhw'n gweithio i chi am ryw reswm, gallwch chi bob amser ffurfweddu'ch gweinydd VPN eich hun.
I redeg eich VPN oun, dylech rhentu gweinydd VPS. Mae yna wahanol feddalwedd sy'n caniatáu ichi greu cysylltiad VPN. Mae'n wahanol i'w gilydd yn ôl systemau gweithredu a gefnogir a'r algorithmau a ddefnyddir. Byddwn yn edrych ar ddau ddull annibynnol o sefydlu gweinydd VPN. Mae'r un cyntaf yn seiliedig ar brotocol PPTP sydd eisoes yn cael ei ystyried yn ddarfodedig ac nad yw'n ddiogel ond sy'n hawdd iawn ei ffurfweddu. Mae'r llall yn defnyddio meddalwedd modern a diogel OpenVPN ond mae angen gosod cymhwysiad cleient trydydd parti a phroses sefydlu fwy trylwyr.
Yn ein hamgylchedd prawf, rydyn ni'n mynd i ddefnyddio gweinydd rhithwir sy'n cael ei bweru gan Ubuntu Server 18.04. Mae wal dân yn mynd i gael ei diffodd ar y gweinydd oherwydd bod ei ffurfweddiad yn haeddu erthygl ar wahân. Byddwn yn disgrifio'r broses sefydlu ar Windows 10.
Paratoi
Ni waeth pa weinydd VPN a ddewiswch, bydd y mynediad i'r Rhyngrwyd yn cael ei sefydlu trwy ddulliau integredig o'r system weithredu. Er mwyn agor mynediad i'r Rhyngrwyd trwy ryngwyneb gwasanaeth allanol mae'n rhaid i chi ganiatáu anfon pecynnau ymlaen rhwng y rhyngwynebau a ffurfweddu cyfieithiad cyfeiriad rhwydwaith.
I droi anfon pecyn ymlaen, agorwch y ffeil “/etc/sysctl.conf” a newid “net.ipv4.ip_ymlaen” gwerth paramedr i mewn 1.
Er mwyn gwneud newidiadau heb ailgychwyn y cyfrifiadur, rhedeg y gorchymyn
sudo sysctl -p /etc/sysctl.conf
Mae cyfieithu cyfeiriad rhwydwaith wedi'i ffurfweddu trwy gyfrwng iptables. Yn gyntaf, gwiriwch enw eich rhyngwyneb rhwydwaith allanol sy'n rhedeg y gorchymyn “sioe dolen ip” - bydd ei angen arnoch yn y cam nesaf. Ein henw yw “ens3”.
Galluogi cyfieithu cyfeiriad rhwydwaith yn eich rhyngwyneb allanol ar gyfer pob nod rhwydwaith lleol.
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Sylwch fod angen i chi nodi enw go iawn rhyngwyneb eich gweinydd, gall fod yn wahanol i'n un ni.
Yn ddiofyn, mae'r holl reolau a grëwyd gan iptables yn cael eu hailosod ar ôl i'r gweinydd ailgychwyn. Er mwyn atal hynny, defnyddiwch “iptables-parhaus” cyfleustodau. Gosodwch y pecyn canlynol:
sudo apt install iptables-persistent
Ar ryw adeg yn ystod y broses osod, fe welwch ffenestr ffurfweddu a fydd yn awgrymu ichi arbed rheolau iptables cyfredol. Gan fod y rheolau eisoes wedi'u diffinio, dim ond cadarnhau a chlicio "Ie" dwywaith. Ers nawr bydd y rheolau'n cael eu cymhwyso'n awtomatig ar ôl i'r gweinydd ailgychwyn.
Gweinydd PPTP
Cyfluniad gweinydd
Gosodwch y pecyn:
sudo apt install pptpd
Ar ôl i'r gosodiad ddod i ben, agorwch y ffeil “/etc/pptpd.conf” mewn unrhyw olygydd testun a'i olygu fel hyn:
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
Ar ôl hynny, golygu'r ffeil “/etc/ppp/pptpd-options”. Mae'r rhan fwyaf o'r paramedrau wedi'u gosod yn ddiofyn.
#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
Yn y cam nesaf, bydd angen i chi greu cofnod ar gyfer cysylltiadau cleientiaid. Gadewch i ni ddweud eich bod am ychwanegu defnyddiwr “vpnuser” gyda chyfrinair "1" a chaniatáu annerch deinamig iddo. Agorwch y ffeil “/etc/ppp/chap-secrets” ac ychwanegwch y llinell ganlynol gyda pharamedrau'r defnyddiwr ar ddiwedd y ffeil:
vpnuser pptpd 1 *
“pptpd” gwerth yw enw'r gwasanaeth a nodwyd gennym yn y ffeil “opsiynau pptpd”. Yn lle "*" gallwch nodi cyfeiriad IP sefydlog. Yn y canlyniad, y ffeil “cyfrinachau pen” dylai edrych fel hyn:
I gymhwyso'r gosodiadau ailosodwch y pptpd gwasanaeth a'i ychwanegu at awtolwytho.
sudo systemctl restart pptpd
sudo systemctl enable pptpd
Mae ffurfweddiad gweinydd wedi'i orffen.
Cyfluniad cleient
agored "Dechrau" - "Gosodiadau" - Rhwydwaith a Rhyngrwyd - "VPN" a chliciwch “Ychwanegu cysylltiad VPN”
Rhowch y paramedrau cysylltiad yn y ffenestr a agorwyd a chliciwch “Arbed”
- Darparwr VPN: “Windows (yn gynwysedig)”
- Enw cysylltiad: “vpn_connect” (gallwch ddewis unrhyw enw)
- Enw neu gyfeiriad gweinydd: (nodwch gyfeiriad IP allanol y gweinydd)
- Math VPN: "Auto"
- Math o wybodaeth mewngofnodi: “Enw defnyddiwr a chyfrinair”
- Enw defnyddiwr: defnyddiwr vpn (enw a nodir yn y ffeil “chap-secrets” ar y gweinydd)
- cyfrinair: 1 (fel yn y ffeil “chap-secrets”)
Ar ôl arbed paramedrau, fe welwch y cysylltiad VPN newydd yn y ffenestr. Chwith-gliciwch y cysylltiad a dewis “Cysylltu”. Yn achos cysylltiad llwyddiannus, fe welwch “Cysylltiedig” statws.
Yn yr Opsiynau, fe welwch gyfeiriadau mewnol y cleient a'r gweinydd. Maes “Cyfeiriad cyrchfan” yn dangos cyfeiriad y gweinydd allanol.
Pan fydd wedi'i gysylltu, cyfeiriad IP mewnol y gweinydd, 172.16.0.1 yn ein hachos ni, yn dod yn borth rhagosodedig ar gyfer yr holl becynnau sy'n mynd allan.
Gan ddefnyddio unrhyw wasanaeth ar-lein gallwch wneud yn siŵr bod cyfeiriad IP allanol y cyfrifiadur bellach yr un fath â chyfeiriad IP eich gweinydd VPN.
Gweinydd OpenVPN
Cyfluniad gweinydd
Gadewch i ni hyrwyddo lefel caniatâd y defnyddiwr presennol oherwydd ar gyfer ein cyfluniad pellach bydd angen mynediad gwraidd arnom.
sudo -s
Gosodwch yr holl becynnau angenrheidiol. Bydd angen “Hawdd-RSA” pecyn i reoli bysellau amgryptio.
apt install openvpn easy-rsa iptables-persistent
Caniatáu cysylltiadau sy'n dod i mewn ar borthladd 1194 trwy brotocol UDP a chymhwyso rheolau iptables.
sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT
sudo netfilter-persistent save
Crëwch gyfeiriadur gyda ffeiliau wedi'u copïo o'r pecyn “Easy-RSA” a llywiwch iddo.
make-cadir ~/openvpn
cd ~/openvpn
Cynhyrchu Seilwaith Allwedd Gyhoeddus (PKI).
./easyrsa init-pki
Cynhyrchu tystysgrif wreiddyn yr Awdurdod Tystysgrif (CA).
./easyrsa build-ca
Yn ystod y broses greu, gofynnir i chi osod a chofio cyfrinair. Bydd angen i chi hefyd ateb cwestiynau a nodi gwybodaeth am berchennog yr allwedd. Gallwch adael y gwerthoedd diofyn a ddarperir mewn cromfachau sgwâr. Pwyswch "Enter" i gwblhau'r mewnbwn.
Cynhyrchu allwedd breifat a chais am dystysgrif. Fel dadl, nodwch enw mympwyol; yn ein hachos ni, mae'n “vpn-server”.
./easyrsa gen-req vpn-server nopass
Gadewch y gwerth Enw Cyffredin fel y gwerth diofyn.
Llofnodwch y cais am dystysgrif gweinydd a gynhyrchwyd.
./easyrsa sign-req server vpn-server
Yn y cam hwn, atebwch "ydw" i gadarnhau'r llofnod, yna nodwch y cyfrinair a grëwyd yn ystod cynhyrchu'r dystysgrif wreiddyn.
Cynhyrchu paramedrau Diffie-Hellman. Defnyddir y paramedrau hyn ar gyfer cyfnewid allweddi diogel rhwng y gweinydd a'r cleient.
./easyrsa gen-dh
Mae'r holl ffeiliau angenrheidiol wedi'u creu. Gadewch i ni greu ffolder "keys" yn y cyfeiriadur gweithio OpenVPN i storio'r allweddi a chopïo'r ffeiliau a grëwyd yno.
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
Ffurfweddu NAT gan ddefnyddio iptables rheolau. Creu ffeil o'r enw nat a'i agor i'w olygu yn y /etc/openvpn/ cyfeiriadur.
#!/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
Cadwch y ffeil a gwnewch hi'n weithredadwy.
sudo chmod 755 /etc/openvpn/nat
Copïwch y templed ffurfweddu gweinydd.
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
Agor y ffeil “/etc/openvpn/server.conf” ar gyfer golygu, gwnewch yn siŵr ei fod yn cynnwys y llinellau canlynol, a'u golygu os oes angen:
#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
Galluogi anfon traffig ymlaen ar y gweinydd.
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
Dechreuwch OpenVPN i gymhwyso'r ffurfweddiad.
systemctl restart openvpn@server
Mae ffurfweddiad y gweinydd wedi'i orffen!
Cyfluniad cleient
Ewch i wefan swyddogol OpenVPN “https://openvpn.net”, ewch i'r “CYMUNED” adran hon.
Sgroliwch i lawr a lawrlwythwch y gosodwr ar gyfer fersiwn eich system weithredu. Yn ein hachos ni, Windows 11 ARM64 ydyw.
Gosodwch y cais gan adael yr holl baramedrau yn ddiofyn.
Yn y cam nesaf bydd angen i chi baratoi'r ffeil ganlynol ar y gweinydd a'u trosglwyddo i'r cyfrifiadur cleient:
- allweddi cyhoeddus a phreifat;
- copi o allwedd y ganolfan ardystio;
- templed ffeil ffurfweddu.
Cysylltu â'r gweinydd, codi breintiau, a llywio i'r cyfeiriadur a grëwyd gennym "~/openvpn".
sudo -s
cd ~/openvpn
Cynhyrchwch allwedd breifat a chais am dystysgrif ar gyfer y cleient. Fel dadl, nodwch enw mympwyol; yn ein hachos ni, mae'n “cleient1”.
./easyrsa gen-req client1 nopass
Rhowch y cyfrinair a osodwyd gennym wrth greu'r dystysgrif wreiddyn a gadewch y gwerth Enw Cyffredin fel y rhagosodyn.
Llofnodwch y cais am dystysgrif cleient a gynhyrchwyd.
./easyrsa sign-req client client1
Yn y cam hwn, atebwch "ydw" i gadarnhau'r llofnod, yna nodwch y cyfrinair a grëwyd yn ystod cynhyrchu'r dystysgrif wreiddyn.
Er hwylustod, gadewch i ni greu ffolder o'r enw 'client1' yn y cyfeiriadur cartref a chopïo'r holl ffeiliau a fwriadwyd i'w trosglwyddo i gyfrifiadur y cleient iddo.
mkdir ~/client1
cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/
Copïwch dempled ffeil ffurfweddu'r cleient i'r un cyfeiriadur. Newidiwch estyniad y ffeil i “.ovpn” wrth gopïo.
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn
Newid perchennog y cyfeiriadur a'r holl ffeiliau “~/ cleient1/” i allu eu dosbarthu i'r cleient. Gadewch i ni wneud "Mihail" y perchennog yn ein hachos ni.
chown -R mihail:mihail ~/client1
Ewch i'r cyfrifiadur cleient a chopïo cynnwys y “~/ cleient1/” ffolder. Gallwch wneud hynny gyda chymorth “PSCP” cyfleustodau, sy'n cyd-fynd â Putty.
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
Gallwch storio ffeiliau allweddol “ca.crt”, “cleient1.crt”, “cleient1.key” lle bynnag y dymunwch. Yn ein hachos ni, maen nhw yn y ffolder hwn “c:\Program Files\OpenVPN\keys”, ac rydym yn moddio'r ffeil ffurfweddu “cleient.ovpn” i mewn i'r “c:\Program Files\OpenVPN\config” cyfeiriadur.
Nawr gadewch i ni fynd i ffurfweddu'r cleient. Agorwch y ffeil “c:\Program Files\OpenVPN\config\client.ovpn” mewn golygydd testun a golygu'r llinellau canlynol:
#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
Gadewch y gweddill heb ei gyffwrdd.
Arbedwch y ffeil a lansiwch y rhaglen cleient “OpenVPN GUI”.
De-gliciwch ar eicon yr app yn y bar tasgau a dewis “Cysylltu”. Os bydd y cysylltiad yn llwyddiannus bydd yr eicon yn troi'n wyrdd.
Defnyddiwch unrhyw wasanaeth ar-lein i sicrhau bod eich cyfeiriad IP cyhoeddus wedi newid a'i fod bellach yr un fath â chyfeiriad IP y gweinydd.