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 un VPN, kinahanglan nimo pag-abang sa VPS server. Adunay lainlaing software nga nagtugot kanimo sa paghimo og koneksyon sa VPN. Lahi kini sa usag usa pinaagi sa mga operating system nga gisuportahan ug gigamit nga mga algorithm. Atong tan-awon ang duha ka independyenteng mga pamaagi sa pag-set up sa usa ka VPN server. Ang una gibase sa PPTP protocol nga giisip na nga dili na magamit ug dili luwas apan dali ra nga i-configure. Ang usa naggamit sa moderno ug luwas nga software nga OpenVPN apan nanginahanglan pag-install usa ka aplikasyon sa kliyente sa ikatulo nga partido ug usa ka labi ka bug-os 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 i-on ang packet forwarding ablihi ang file “/etc/sysctl.conf” ug pag-usab "net.ipv4.ip_forward" bili sa parameter 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 pinaagi sa paagi sa iptables. Una, susiha ang ngalan sa imong external network interface nga nagpadagan sa command "ip link show" - kinahanglan nimo kini sa sunod nga lakang. Ang among 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 kasagaran, ang tanan nga mga lagda nga gihimo sa mga iptables gi-reset pagkahuman sa pag-restart sa server. Aron malikayan kana, gamita "iptables-persistent" utility. I-install ang mosunod nga pakete:

sudo apt install iptables-persistent

Sa usa ka punto sa panahon sa proseso sa pag-instalar, makakita ka og usa ka bintana sa pag-configure nga magsugyot kanimo sa pagtipig sa kasamtangan nga mga lagda sa iptables. Tungod kay ang mga lagda gihubit na, kumpirmahi ug i-klik "Oo" kaduha. Sukad karon ang mga lagda awtomatiko nga magamit pagkahuman 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

Pagkahuman sa pag-install, ablihi ang file “/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, usba ang file "/etc/ppp/pptpd-options". Kadaghanan sa mga parameter gipahimutang 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 yugto, kinahanglan nimo nga maghimo usa ka rekord alang sa mga koneksyon sa kliyente. Ingnon ta nga gusto ka magdugang usa ka tiggamit "vpnuser" uban sa password "1" ug tugoti ang dinamikong pagtubag alang kaniya. Ablihi ang file "/etc/ppp/chap-secrets" ug idugang ang mosunod nga linya sa mga parameter sa user sa katapusan sa file:

vpnuser pptpd 1 *

"pptpd" bili mao ang ngalan sa serbisyo nga among gipiho sa file "pptpd-mga kapilian". Imbis nga "*" mahimo nimong itakda ang usa ka fixed IP address. Sa resulta, ang file "mga sekreto" kinahanglan tan-awon sama niini:

Pag-setup sa VPN server

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

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Natapos na ang configuration sa server.

Konfigurasyon sa kliyente

Open "Sugdi" - "Mga Setting" - "Network ug Internet" - "VPN" ug i-klik "Pagdugang usa ka koneksyon sa VPN"

Pag-setup sa kliyente alang sa koneksyon sa VPN

Pagsulod sa mga parameter sa koneksyon sa bintana nga giablihan ug i-klik "Luwasa"

  • 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)

Pagkahuman sa pag-save sa mga parameter, imong makita ang bag-ong koneksyon sa VPN sa bintana. Pag-left-click sa koneksyon ug pilia "Sumpaysumpaya". Sa kaso sa usa ka malampuson nga koneksyon, imong makita "Konektado" status.

Pagdugang koneksyon sa VPN

Sa Mga Opsyon, makit-an nimo ang mga internal nga adres sa kliyente ug sa server. Natad "Adres sa destinasyon" nagpakita sa eksternal nga adres sa server.

Giunsa ang pag-setup sa VPN server sa imong kaugalingon

Kung konektado, ang internal nga IP address sa server, 172.16.0.1 sa among kaso, nahimong 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 tanan nga kinahanglan nga mga pakete. Magkinahanglan kita "Easy-RSA" packet aron pagdumala sa 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 "/etc/openvpn/server.conf" alang sa pag-edit, siguroha nga kini naglangkob sa mosunod nga mga linya, ug usba 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 “https://openvpn.net”, adto sa “KOMUNIDAD” seksyon.

Заходим на официальный сайт проекта “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 config file sa kliyente sa parehas nga direktoryo. Usba ang extension sa file sa ".ovpn" samtang nangopya.

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

Usba ang tag-iya sa direktoryo ug ang tanan nga mga file “~/kliyente1/” aron maapod-apod kini sa kliyente. Magbuhat ta "mihail" ang tag-iya sa among kaso.

chown -R mihail:mihail ~/client1

Adto sa kompyuter sa kliyente ug kopyaha ang sulod sa “~/kliyente1/” folder. Mahimo nimo kana sa tabang sa "PSCP" utility, nga kauban ni Putty.

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

Mahimo nimong tipigan ang yawe nga mga file "ca.crt", "kliyente1.crt", "kliyente1.key" bisan asa nimo gusto. Sa among kaso, naa sila sa kini nga folder "c:\Program Files\OpenVPN\keys", ug among gi-mode ang config file "kliyente.ovpn" ngadto sa "c:\Program Files\OpenVPN\config" directory.

Karon atong i-configure ang kliyente. Ablihi ang file "c:\Program Files\OpenVPN\config\client.ovpn" sa usa ka text editor ug usba 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 aplikasyon sa kliyente "OpenVPN GUI".

Natapos ang pag-setup sa VPN

Pag-right-click sa icon sa app sa taskbar ug pilia "Sumpaysumpaya". Kung 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 Giunsa ang pag-set up sa Wireguard VPN sa imong server
Sunod nga artikulo ❯ Pag-setup sa FTP server

Pangutan-a kami bahin sa VPS

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