Kahibaluan Yano nga mga panudlo sa pagtrabaho kauban ang serbisyo sa Profitserver
Main Kahibaluan Pag-setup sa VPN server sa Linux: PPTP o OpenVPN?

Pag-setup sa VPN server sa Linux: PPTP o OpenVPN?


Karong panahona, ang teknolohiya sa VPN nahimong mas popular. Ang mga ordinaryong tiggamit naggamit sa VPN aron luwas nga ma-access ang Internet. Nakatabang usab kini sa paglibot sa mga lokal nga gibabagan nga mga website ug serbisyo ug pagpanalipod batok sa posible nga gawasnon nga makadaot nga pamatasan. Kung nagkonektar ka sa usa ka VPN server, adunay usa ka luwas nga tunel tali sa imong computer ug sa server nga dili ma-access gikan sa gawas, mao nga ang VPN server mahimong imong access point sa Internet. Adunay daghang mga serbisyo sa VPN didto, libre ug bayad, apan kung dili kini molihok alang kanimo sa usa ka hinungdan, mahimo nimo kanunay nga ma-configure ang imong kaugalingon nga VPN server.

Aron mapadagan ang imong kaugalingong VPN, kinahanglan kang mo-abang og VPS server . Adunay lain-laing software nga motugot kanimo sa paghimo og koneksyon sa VPN. Lahi kini sa usag usa pinaagi sa mga operating system nga gisuportahan ug mga algorithm nga gigamit. Atong tan-awon ang duha ka independente nga pamaagi sa pag-set up og VPN server. Ang una gibase sa PPTP protocol nga giisip na nga karaan na ug dili luwas apan dali ra kaayo i-configure. Ang usa naggamit og moderno ug luwas nga software nga OpenVPN apan nanginahanglan og pag-install og third-party client application ug mas detalyado nga proseso sa pag-setup.

Sa among palibot sa pagsulay, mogamit kami usa ka virtual server nga gipadagan sa Ubuntu Server 18.04. Ang usa ka firewall ipalong sa server tungod kay ang pag-configure niini angayan sa usa ka lahi nga artikulo. Atong ihulagway ang proseso sa pag-setup sa Windows 10.

Pagpangandam

Bisan unsa nga VPN server ang imong pilion, ang pag-access sa Internet ma-set up pinaagi sa integrated nga paagi sa operating system. Aron maablihan ang access sa Internet pinaagi sa usa ka eksternal nga interface sa serbisyo kinahanglan nimo nga tugutan ang pagpasa sa pakete tali sa mga interface ug i-configure ang paghubad sa address sa network.

Aron ma-on ang packet forwarding, ablihi ang file nga “/etc/sysctl.conf” ug usba ang parameter value nga “net.ipv4.ip_forward” ngadto sa 1.

i-on ang mga packet forwarding para sa VPN setup

Aron magamit ang mga pagbag-o nga wala mag-reboot sa kompyuter, padagana ang mando

sudo sysctl -p /etc/sysctl.conf

Ang paghubad sa address sa network gi-configure gamit ang iptables . Una, susiha ang ngalan sa imong external network interface pinaagi sa paggamit sa command nga "ip link show" - kinahanglan nimo kini sa sunod nga lakang. Ang atong ngalan kay "ens3".

ip link show

I-enable ang paghubad sa adres sa network sa imong eksternal nga interface para sa tanang lokal nga node sa network.

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

Timan-i nga kinahanglan nimong ipiho ang tinuod nga ngalan sa interface sa imong server, mahimo kini nga lahi sa amon.

Sa default, ang tanang mga lagda nga gihimo sa iptables i-reset human sa pag-restart sa server. Aron malikayan kana, gamita ang "iptables-persistent" nga utility. I-install ang mosunod nga packet:

sudo apt install iptables-persistent

Sa usa ka punto atol sa proseso sa pag-instalar, makakita ka og configuration window nga mosugyot nga imong i-save ang kasamtangang iptables rules. Tungod kay ang mga lagda nahubit na, kumpirmahi lang ug i-klik ang "Oo" kaduha. Karon ang mga lagda awtomatikong ipadapat human sa pag-restart sa server.

I-on ang paghubad sa adres

Server sa PPTP

Pag-configure sa server

I-install ang pakete:

sudo apt install pptpd

Human sa pag-instalar, ablihi ang file nga "/etc/pptpd.conf" sa bisan unsang text editor ug i-edit kini sama niini:

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

Human niana, i-edit ang file nga “/etc/ppp/pptpd-options” . Kadaghanan sa mga parameter gi-set up pinaagi sa 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

Sa sunod nga lakang, kinahanglan ka maghimo og rekord para sa mga koneksyon sa kliyente. Pananglit gusto nimong idugang ang usa ka user nga "vpnuser" nga adunay password nga "1" ug tugotan ang dynamic addressing para kaniya. Ablihi ang file nga "/etc/ppp/chap-secrets" ug idugang ang mosunod nga linya uban ang mga parameter sa user sa katapusan sa file:

vpnuser pptpd 1 *

Ang bili nga "pptpd" mao ang ngalan sa serbisyo nga atong gitino sa file nga "pptpd-options" . Imbis nga "*" mahimo nimong itakda ang usa ka piho nga IP address. Sa resulta, ang file nga "chap-secrets" kinahanglan nga ingon niini:

Pag-setup sa VPN server

Aron magamit ang mga setting, i-reset ang serbisyo sa pptpd ug idugang kini sa autoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Natapos na ang configuration sa server.

Konfigurasyon sa kliyente

Ablihi ang "Start" - "Settings" - "Network & Internet" - "VPN" ug i-klik ang "Add a VPN connection"

Pag-setup sa kliyente alang sa koneksyon sa VPN

Isulod ang mga parameter sa koneksyon sa bintana nga giablihan ug i-klik ang "Save"

  • VPN provider: "Windows (built-in)"
  • Ngalan sa koneksyon: "vpn_connect" (mahimo nimong pilion ang bisan unsang ngalan)
  • Ngalan o adres sa server: (ipiho ang external IP address sa server)
  • Uri sa VPN: "Auto"
  • Matang sa impormasyon sa pag-sign-in: "User name ug password"
  • Ngalan sa tiggamit: vpnuser (ngalan nga gipiho sa "chap-secrets" file sa server)
  • password: 1 (sama sa "chap-secrets" file)

Human sa pag-save sa mga parameter, imong makita ang bag-ong koneksyon sa VPN sa bintana. I-klik sa wala ang koneksyon ug pilia ang "Connect" . Kung malampuson ang koneksyon, imong makita ang status nga "Connected".

Pagdugang koneksyon sa VPN

Sa Mga Opsyon, imong makita ang mga internal nga adres sa kliyente ug sa server. Ang field nga "Destination address" nagpakita sa external nga adres sa server.

Giunsa ang pag-setup sa VPN server sa imong kaugalingon

Kon konektado, ang internal IP address sa server, 172.16.0.1 sa atong kaso, mahimong default gateway para sa tanang outgoing packets.

Susiha ang eksternal nga IP-address

Gamit ang bisan unsang online nga serbisyo mahimo nimong masiguro nga ang eksternal nga IP address sa kompyuter parehas na karon sa IP address sa imong VPN server.

OpenVPN server

Pag-configure sa server

Atong i-promote ang lebel sa permiso sa kasamtangang user tungod kay para sa atong dugang nga configuration magkinahanglan kita og root access.

sudo -s

I-install ang tanang gikinahanglan nga mga pakete. Kinahanglan nato ang "Easy-RSA" nga pakete aron madumala ang mga yawe sa pag-encrypt.

apt install openvpn easy-rsa iptables-persistent

Tugoti ang umaabot nga mga koneksyon sa port 1194 pinaagi sa UDP protocol ug ipadapat ang mga lagda sa iptables.

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

sudo netfilter-persistent save

Paghimo usa ka direktoryo nga adunay mga gikopya nga mga file gikan sa pakete nga "Easy-RSA" ug pag-navigate niini.

make-cadir ~/openvpn

cd ~/openvpn

Paghimo og Public Key Infrastructure (PKI).

./easyrsa init-pki

Paghimo sa Certificate Authority (CA) gamut nga sertipiko.

./easyrsa build-ca

Atol sa proseso sa paghimo, maaghat ka sa pagtakda ug paghinumdom sa usa ka password. Kinahanglan usab nimo nga tubagon ang mga pangutana ug ibutang ang kasayuran bahin sa tag-iya sa yawe. Mahimo nimong ibilin ang mga default nga kantidad nga gihatag sa mga square bracket. Pindota ang "Enter" aron mahuman ang input.

Paghimo usa ka pribado nga yawe ug usa ka hangyo sa sertipiko. Isip argumento, ipiho ang usa ka arbitraryong ngalan; sa among kaso, kini "vpn-server".

./easyrsa gen-req vpn-server nopass

Biyai ang Common Name nga kantidad isip default.

Pirmahan ang nabuhat nga hangyo sa sertipiko sa server.

./easyrsa sign-req server vpn-server

Niini nga lakang, tubaga ang "oo" aron makumpirma ang pirma, dayon isulud ang password nga gihimo sa panahon sa henerasyon sa sertipiko sa ugat.

Paghimo og mga parameter sa Diffie-Hellman. Kini nga mga parameter gigamit alang sa luwas nga yawe nga pagbinayloay tali sa server ug sa kliyente.

./easyrsa gen-dh

Ang tanan nga gikinahanglan nga mga file nahimo na. Magbuhat ta ug "keys" nga folder sa OpenVPN working directory aron tipigan ang mga yawe ug kopyahon ang mga nabuhat nga file didto.

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

I-configure ang NAT gamit ang iptables mga lagda. Paghimo og usa ka file nga ginganlan nat ug ablihi kini para sa pag-edit sa /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

I-save ang file ug himoa kini nga ma-executable.

sudo chmod 755 /etc/openvpn/nat

Kopyaha ang template sa configuration sa server.

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

Ablihi ang file nga “/etc/openvpn/server.conf” para sa pag-edit, siguroha nga kini adunay mosunod nga mga linya, ug i-edit kini kon gikinahanglan:

#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

I-enable ang pagpasa sa trapiko sa server.

sudo sysctl -w net.ipv4.ip_forward=1

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

Sugdi ang OpenVPN aron i-apply ang configuration.

systemctl restart openvpn@server

Ang configuration sa server nahuman na!

Konfigurasyon sa kliyente

Adto sa opisyal nga website sa OpenVPN nga “ https://openvpn.net ”, adto sa seksyon nga “COMUNITY”.

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

Pag-scroll paubos ug i-download ang installer alang sa bersyon sa imong operating system. Sa among kaso, kini Windows 11 ARM64.

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

I-install ang aplikasyon nga gibiyaan ang tanan nga mga parameter pinaagi sa default.

Sa sunod nga yugto kinahanglan nimo nga andamon ang mosunud nga file sa server ug ibalhin kini sa kompyuter sa kliyente:

  • publiko ug pribado nga mga yawe;
  • kopya sa yawe sa sentro sa sertipikasyon;
  • config file template.

Pagkonektar sa server, pagpataas sa mga pribilehiyo, ug pag-navigate sa among gibuhat nga direktoryo "~/openvpn".

sudo -s

cd ~/openvpn

Paghimo usa ka pribado nga yawe ug usa ka hangyo sa sertipiko alang sa kliyente. Isip argumento, ipiho ang usa ka arbitraryong ngalan; sa among kaso, kini "kliyente1".

./easyrsa gen-req client1 nopass

Pagsulod sa password nga among gitakda sa paghimo sa root certificate ug ibilin ang Common Name value isip default.

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

Pirmahan ang namugna nga hangyo sa sertipiko sa kliyente.

./easyrsa sign-req client client1

Niini nga lakang, tubaga ang "oo" aron makumpirma ang pirma, dayon isulud ang password nga gihimo sa panahon sa henerasyon sa sertipiko sa ugat.

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

Para sa kasayon, maghimo kita ug folder nga ginganlag 'client1' sa home directory ug kopyaha ang tanang file nga gituyo para sa pagbalhin ngadto sa computer sa kliyente ngadto niini.

mkdir ~/client1

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

Kopyaha ang template sa client config file ngadto sa samang directory. Usba ang extension sa file ngadto sa “.ovpn” samtang nagkopya.

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

Usba ang tag-iya sa direktoryo ug ang tanang mga file nga “~/client1/” aron ma-distribute kini sa kliyente. Atong himuong “mihail” ang tag-iya sa atong kaso.

chown -R mihail:mihail ~/client1

Adto sa client computer ug kopyaha ang sulod sa “~/client1/” folder. Mahimo nimo kana gamit ang “PSCP” utility, nga kauban sa Putty.

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

Mahimo nimong tipigan ang mga key file nga “ca.crt” , “client1.crt” , “client1.key” bisan asa nimo gusto. Sa among kaso, naa sila sa folder nga “c:\Program Files\OpenVPN\keys” , ug among i-mode ang config file nga “client.ovpn” ngadto sa direktoryo nga “c:\Program Files\OpenVPN\config”.

Karon, atong i-configure ang client. Ablihi ang file nga “c:\Program Files\OpenVPN\config\client.ovpn” sa text editor ug i-edit ang mosunod nga mga linya:

#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

Biyai ang uban nga wala matandog.

I-save ang file ug ilunsad ang client application nga "OpenVPN GUI".

Natapos ang pag-setup sa VPN

I-right-click ang app icon sa taskbar ug pilia ang “Connect” . Kon malampuson ang koneksyon, ang icon mahimong berde.

Gamita ang bisan unsang online nga serbisyo aron masiguro nga ang imong publikong IP address nausab ug karon parehas sa IP address sa server.

❮ Naunang artikulo Pag-setup sa FTP server
Sunod nga artikulo ❯ Giunsa ang pag-set up sa Wireguard VPN sa imong server

Pangutan-a kami bahin sa VPS

Kanunay kaming andam sa pagtubag sa imong mga pangutana bisan unsang orasa sa adlaw o gabii.