Hodie, VPN technologia popularior fit. Ordinarii utentes VPN utuntur ad Internet accessum tuto. Iuvat etiam circumire localiter paginas et officia obsessa ac protegere contra mores externos possibilis malitiosos. Cum servo VPN cum coniungis, tutum est cuniculum inter computatrum tuum et servo qui extrinsecus accedere non potest, ergo VPN server punctum interretialem accessum tuum fit. Multas VPN officia ibi sunt, et gratis et solvit, sed si propter aliquam causam tibi non operantur, semper potes configurare tuum VPN cultor.
Ad VPN tuam administrandam, servum VPS conducere debes . Varia programmata sunt quae te nexum VPN creare sinunt. Inter se differunt systematibus operandis sustentatis et algorithmis adhibitis. Duas methodos independentes ad servum VPN constituendum inspiciemus. Prima protocollo PPTP innititur, quod iam obsoletum et non tutum habetur, sed facile configuratur. Altera programmate moderno et tuto OpenVPN utitur, sed institutionem applicationis clientis tertiae partis et processum configurationis diligentiorem requirit.
In ambitu nostro experimur, virtualis servo uti imus ab Ubuntu Servo 18.04. Ignis murus in servo abibit, quia eius figuratio articulum separatum meretur. Processus setup in Fenestra 10 describemus.
Praeparatio
Quocumque VPN servo libet, interretialis accessus erigitur instrumentis integralibus systematis operantis. Ut per interretialem accessum per externum servitium interfaciendi aperias, permittis fasciculum transmittere inter interfaces et translationem retis inscriptionis conformare.
Ad transmissionem fasciculorum activandam, aperi fasciculum "/etc/sysctl.conf" et muta valorem parametri "net.ipv4.ip_forward" in 1.
Ut sine rebooting computatrum mutationes adhibere, mandatum currunt
sudo sysctl -p /etc/sysctl.conf
Conversio inscriptionum retiariarum per iptables configuratur . Primum, nomen interfaciei retiariae externae inspice, mandatum "ip link show" exsequens - id in gradu proximo requirebis. Nomen nostrum est "ens3".
Admitte inscriptionem retis interpretationem in instrumento externo tuo pro omnibus nodis retis localibus.
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Nota quod debes denotare verum nomen interfaciendi servi tui, a nostro diversum esse potest.
Regulae ab iptables creatae, postquam servitor iterum incipitur, per default resolvuntur. Ad hoc vitandum, utilitatem "iptables-persistent" adhibe . Fasciculum sequentem instala:
sudo apt install iptables-persistent
Aliquando dum instituis, fenestram configurationis videbis quae tibi suadebit ut regulas iptables currentes serves. Cum regulae iam definitae sint, tantum confirma et "Ita" bis preme. Quoniam nunc regulae automatice applicabuntur postquam servitor denuo incipiet.
PPTP servo
Servo configuratione
Install fasciculum:
sudo apt install pptpd
Postquam institutio finita est, fasciculum "/etc/pptpd.conf" in quolibet editore textuali aperi et sic muta:
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
Post hoc, fasciculum "/etc/ppp/pptpd-options" muta . Plerique parametri per default constituti sunt.
#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
In proximo gradu, necesse erit tibi creare indicem pro nexibus clientium. Dicamus te velle addere usorem "vpnuser" cum tessera "1" et ei inscriptionem dynamicam permittere. Aperi fasciculum "/etc/ppp/chap-secrets" et adde hanc lineam cum parametris usoris in fine fasciculi:
vpnuser pptpd 1 *
Valor "pptpd" est nomen servitii quod in fasciculo "pptpd-options" specificavimus . Loco "*" inscriptionem IP fixam specificare potes. In effectu, fasciculus "chap-secrets" sic apparere debet:
Ad ordinationes applicandas, servitium pptpd reseta et ad onerationem automaticam adde.
sudo systemctl restart pptpd
sudo systemctl enable pptpd
Servo configuratione finitur.
Configuratione clientis
Aperi "Start" - "Settings" - "Network & Internet" - "VPN" et preme " Add a VPN connection" ( vel "Add a VPN connection").
Parametra connexionis in fenestra aperta inscribe et "Serva" preme.
- VPN provisor: "Fenestra (instructa)"
- Nomen nexu: "vpn_connect" (nomen ullum eligere potes)
- Servo nomen vel inscriptio: (externi IP oratio servo specificare)
- VPN type: "Auto"
- Typus de signo-in info: "User nomen et password"
- User nomen: vpnuser (Nomen specificatur in "Caput-Secreta" lima in calculonis servi)
- Password: 1 (sicut in "caput-secretis" fasciculi)
Postquam parametros servaveris, novam connexionem VPN in fenestra videbis. Sinistro clavi nexum preme et "Connect" elige . Si conexio prospera est, statum "Connexum" videbis.
In Optionibus, inscriptiones internas clientis et servi invenies. Ager "Inscriptio destinationis" inscriptionem servi externi ostendit.
Cum coniunctus est, inscriptio IP interna servi, 172.16.0.1 in nostro casu, fit porta principalis pro omnibus fasciculis exeuntibus.
Quovis officio online utens, fac efficere potes ut externa IP oratio computatrumis nunc eadem sit ac IP oratio tua servo VPN.
OpenVPN servo
Servo configuratione
Promovere licentiam de currenti usoris gradu, quod ad ulteriorem configurationem nostram accessu radicem indigebimus.
sudo -s
Omnes fasciculos necessarios instala. Fasciculum "Easy-RSA" ad claves encryptionis administrandas requirebimus .
apt install openvpn easy-rsa iptables-persistent
Conexiones advenientes in portu 1194 per protocollum UDP permitte et regulas iptables applica.
sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT
sudo netfilter-persistent save
Directorium cum fasciculis ex fasciculo "Easy-RSA" transcriptis crea et in eum naviga.
make-cadir ~/openvpn
cd ~/openvpn
Infrastructuram Clavis Publicae (PKI) genera.
./easyrsa init-pki
Certificatum radicis Auctoritatis Certificatoriae (CA) genera.
./easyrsa build-ca
Dum creas, rogaberis ut tessera constituas et memineris. Etiam interrogationibus respondere et informationes de domino clavis inscribere debebis. Valores implicitos in uncinis quadratis datos relinquere potes. "Enter" preme ut inscriptionem perficias.
Clavem privatam et petitionem certificati genera. Argumentum ut nomen arbitrarium specifica; in nostro casu, est "vpn-server".
./easyrsa gen-req vpn-server nopass
Valorem Nominis Communis ut praedefinitum relinque.
Petitionem certificati servi generatam signa.
./easyrsa sign-req server vpn-server
Hoc in gradu, "ita" responde ut subscriptionem confirmes, deinde tessera quae creata est per generationem certificati radicis inscribe.
Parametra Diffie-Hellman genera. Hi parametri ad commutationem clavium securam inter servitorem et clientem adhibentur.
./easyrsa gen-dh
Omnia documenta necessaria generata sunt. In directorio laboris OpenVPN fasciculum "clavium" creemus, ut claves conservemus et documenta creata eo transcribamus.
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
Configura NAT utens iptables regulae. Crea fasciculum nomine nat et aperi illud ad recensendum in /etc/openvpn/ Directory.
#!/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
Fasciculum serva et exsecutabile fac.
sudo chmod 755 /etc/openvpn/nat
Exemplar configurationis servi exscribe.
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
Aperi fasciculum "/etc/openvpn/server.conf" ad recensendum, fac ut has lineas contineat, et eas, si opus est, recense:
#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
Transmissionem commeatus in servo permitte.
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
OpenVPN incipe ut configurationem adhibeas.
systemctl restart openvpn@server
In configuratione server consummatum est!
Configuratione clientis
Ad situm interretialem officialem OpenVPN “ https://openvpn.net ” vade, et ad sectionem “COMMUNITY” perge.
Devolve paginam et programmata institutionis pro versione systematis operandi tui detrahe. In nostro casu, est Windows 11 ARM64.
Instrue applicatione parametri omnes relinquens per defaltam.
Proximo gradu necesse est tabulam sequentem in calculo parare et eas ad computatorium clientem transferre;
- claves publicas et privatas;
- exemplum certificationis centrum clavis;
- config file template.
Coniunge te cum servo, eleva privilegia, et naviga ad directorium a nobis creatum. "~/openvpn".
sudo -s
cd ~/openvpn
Clavem privatam et petitionem certificati pro cliente genera. Argumentum ut nomen arbitrarium specifica; in nostro casu, est "cliens1".
./easyrsa gen-req client1 nopass
Tessera quam constituimus cum radicem certificatum creavimus inscribe et valorem Nominis Communis ut praedefinitum relinque.
Petitionem certificati clientis generatam signa.
./easyrsa sign-req client client1
Hoc in gradu, "ita" responde ut subscriptionem confirmes, deinde tessera quae creata est per generationem certificati radicis inscribe.
Commoditatis causa, in directorio principali fasciculum nomine 'client1' creemus et omnia fascicula ad computatrum clientis transferenda destinata in eum transcribamus.
mkdir ~/client1
cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/
Exemplar fasciculi configurationis clientis in idem directorium exscribe. Extensionem fasciculi ad ".ovpn" muta dum exscribis.
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn
Dominum directorii et omnium fasciculorum "~/client1/" muta ut ea clienti distribuere possimus. "Mihail" in nostro casu dominum faciamus .
chown -R mihail:mihail ~/client1
Ad computatrum clientis vade et contenta fasciculi "~/client1/" exscribe . Hoc facere potes auxilio utilitatis "PSCP" , quae cum Putty venit.
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
Claves "ca.crt" , "client1.crt" , "client1.key" ubicumque vis servare potes . In nostro casu, in hoc directorio "c:\Program Files\OpenVPN\keys" sunt , et fasciculum configurationis "client.ovpn" in directorium "c:\Program Files\OpenVPN\config" transferimus.
Nunc ad clientem configurandum perveniamus. Aperi fasciculum "c:\Program Files\OpenVPN\config\client.ovpn" in editore textuali et has lineas muta:
#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
cetera intacta relinque.
Serva fasciculum et applicationem clientis "OpenVPN GUI" aperi.
Dextro clavi preme in iconem applicationis in vecte instrumentorum et elige "Coniunge" . Si conexio prospera est, icon viridis fiet.
Utere aliquo servitio online ad certam tuam IP oratio publica mutata et nunc eadem est ac IP inscriptionem servi.