Knowledgebase Instruksi prasaja kanggo nggarap layanan Profitserver
main Knowledgebase Persiyapan server VPN ing Linux: PPTP utawa OpenVPN?

Persiyapan server VPN ing Linux: PPTP utawa OpenVPN?


Saiki, teknologi VPN dadi luwih populer. Pangguna biasa nggunakake VPN kanggo ngakses Internet kanthi aman. Iki uga mbantu ngubengi situs web lan layanan sing diblokir sacara lokal lan nglindhungi saka tumindak ala eksternal sing bisa ditindakake. Nalika sampeyan nyambungake menyang server VPN, ana trowongan sing aman antarane komputer lan server sing ora bisa diakses saka njaba, mula server VPN dadi titik akses Internet sampeyan. Ana akeh layanan VPN ing kana, gratis lan mbayar, nanging yen ora bisa digunakake kanggo sampeyan, sampeyan bisa ngatur server VPN sampeyan dhewe.

Kanggo mbukak VPN sampeyan, sampeyan kudu nyewa server VPS . Ana macem-macem piranti lunak sing ngidini sampeyan nggawe sambungan VPN. Iki beda-beda saka sistem operasi sing didhukung lan algoritma sing digunakake. Kita bakal ndeleng rong pendekatan independen kanggo nyetel server VPN. Sing pertama adhedhasar protokol PPTP sing wis dianggep ketinggalan jaman lan ora aman nanging gampang banget dikonfigurasi. Sing liyane nggunakake piranti lunak OpenVPN modern lan aman nanging mbutuhake instalasi aplikasi klien pihak katelu lan proses persiyapan sing luwih lengkap.

Ing lingkungan uji coba, kita bakal nggunakake server virtual sing didhukung dening Ubuntu Server 18.04. A firewall bakal dipateni ing server amarga konfigurasi pantes artikel kapisah. Kita bakal njlèntrèhaké proses persiyapan ing Windows 10.

Preparation

Ora preduli server VPN sing sampeyan pilih, akses Internet bakal disiyapake kanthi cara terpadu saka sistem operasi. Kanggo mbukak akses Internet liwat antarmuka layanan eksternal, sampeyan kudu ngidini kiriman paket ing antarane antarmuka lan ngatur terjemahan alamat jaringan.

Kanggo ngaktifake penerusan paket, bukak file "/etc/sysctl.conf" lan ganti nilai parameter "net.ipv4.ip_forward" dadi 1.

nguripake paket nerusake kanggo persiyapan VPN

Kanggo ngetrapake owah-owahan tanpa rebooting komputer, jalanake printah kasebut

sudo sysctl -p /etc/sysctl.conf

Terjemahan alamat jaringan dikonfigurasi nganggo iptables . Kapisan, priksa jeneng antarmuka jaringan eksternal sampeyan kanthi nggunakake printah "ip link show" - sampeyan bakal mbutuhake ing langkah sabanjure. Jeneng kita yaiku "ens3".

ip link nuduhake

Aktifake terjemahan alamat jaringan ing antarmuka eksternal kanggo kabeh simpul jaringan lokal.

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

Elinga yen sampeyan kudu nemtokake jeneng asli antarmuka server sampeyan, bisa uga beda karo kita.

Sacara standar, kabeh aturan sing digawe dening iptables bakal direset sawise server diwiwiti maneh. Kanggo nyegah kuwi, gunakake utilitas "iptables-persistent" . Instal paket ing ngisor iki:

sudo apt install iptables-persistent

Ing sawijining wektu sajrone proses instalasi, sampeyan bakal weruh jendela konfigurasi sing menehi saran supaya sampeyan nyimpen aturan iptables saiki. Amarga aturan kasebut wis ditetepake, cukup konfirmasi lan klik "Ya" kaping pindho. Amarga saiki aturan kasebut bakal ditrapake kanthi otomatis sawise server diwiwiti maneh.

Aktifake terjemahan alamat

Server PPTP

Konfigurasi server

Instal paket:

sudo apt install pptpd

Sawise instalasi rampung, bukak file "/etc/pptpd.conf" ing editor teks apa wae lan sunting kaya iki:

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

Sawisé kuwi, sunting berkas “/etc/ppp/pptpd-options” . Akèh-akèhé paramèter wis disetel kanthi gawan.

#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

Ing tahap sabanjure, sampeyan kudu nggawe rekaman kanggo sambungan klien. Umpamane sampeyan pengin nambah pangguna "vpnuser" nganggo sandhi "1" lan ngidini alamat dinamis kanggo dheweke. Bukak file "/etc/ppp/chap-secrets" lan tambahake baris ing ngisor iki nganggo parameter pangguna ing pungkasan file:

vpnuser pptpd 1 *

Nilai "pptpd" kuwi jeneng layanan sing wis ditemtokake ing file "pptpd-options" . Tinimbang "*" , sampeyan bisa nemtokake alamat IP tetep. Akibate, file "chap-secrets" kudune katon kaya iki:

Persiyapan server VPN

Kanggo ngetrapake setelan, reset layanan pptpd lan tambahake menyang autoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Konfigurasi server wis rampung.

Konfigurasi klien

Bukak "Mulai" - "Setelan" - "Jaringan & Internet" - "VPN" banjur klik "Tambah sambungan VPN"

Setup klien kanggo sambungan VPN

Ketik parameter sambungan ing jendhela sing dibukak lan klik "Simpen"

  • Panyedhiya VPN: "Windows (built-in)"
  • Jeneng sambungan: "vpn_connect" (sampeyan bisa milih jeneng apa wae)
  • Jeneng utawa alamat server: (nemtokake alamat IP eksternal server)
  • Tipe VPN: "Otomatis"
  • Jinis info mlebu: "Jeneng pangguna lan sandhi"
  • Jeneng pangguna: vpnuser (jeneng kasebut ing file "chap-secrets" ing server)
  • sandi: 1 (kaya ing file "chap-secrets")

Sawise nyimpen parameter, sampeyan bakal weruh sambungan VPN anyar ing jendhela. Klik kiwa sambungan kasebut banjur pilih "Sambungake" . Yen sambungan sukses, sampeyan bakal weruh status "Sambung" .

Nambahake sambungan VPN

Ing Pilihan, sampeyan bakal nemokake alamat internal klien lan server. Kolom "Alamat tujuan" nampilake alamat server eksternal.

Cara nyiyapake server VPN dhewe

Nalika disambungake, alamat IP internal server, 172.16.0.1 ing kasus kita, dadi gateway standar kanggo kabeh paket metu.

Priksa alamat IP eksternal

Nggunakake layanan online apa wae, sampeyan bisa nggawe manawa alamat IP eksternal komputer saiki padha karo alamat IP server VPN sampeyan.

Server OpenVPN

Konfigurasi server

Ayo ningkatake tingkat ijin pangguna saiki amarga konfigurasi luwih lanjut kita butuh akses root.

sudo -s

Instal kabeh paket sing dibutuhake. Kita butuh paket "Easy-RSA" kanggo ngatur kunci enkripsi.

apt install openvpn easy-rsa iptables-persistent

Ngidini sambungan mlebu ing port 1194 liwat protokol UDP lan aplikasi aturan iptables.

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

sudo netfilter-persistent save

Gawe direktori kanthi file sing disalin saka paket "Easy-RSA" lan navigasi menyang.

make-cadir ~/openvpn

cd ~/openvpn

Generate Public Key Infrastructure (PKI).

./easyrsa init-pki

Gawe sertifikat root Certificate Authority (CA).

./easyrsa build-ca

Sajrone proses nggawe, sampeyan bakal dijaluk nyetel lan ngelingi sandhi. Sampeyan uga kudu mangsuli pitakon lan ngetik informasi babagan pemilik kunci. Sampeyan bisa ninggalake nilai gawan sing kasedhiya ing kurung kothak. Pencet "Ketik" kanggo ngrampungake input.

Gawe kunci pribadi lan panjaluk sertifikat. Minangka argumentasi, nemtokake jeneng kasepakatan; ing kasus kita, iku "vpn-server".

./easyrsa gen-req vpn-server nopass

Ninggalake nilai Jeneng Umum minangka standar.

Mlebu request certificate server kui.

./easyrsa sign-req server vpn-server

Ing langkah iki, wangsulan "ya" kanggo konfirmasi teken, banjur ketik sandhi sing digawe sak generasi certificate ROOT.

Ngasilake paramèter Diffie-Hellman. Parameter kasebut digunakake kanggo ijol-ijolan kunci sing aman antarane server lan klien.

./easyrsa gen-dh

Kabeh file sing dibutuhake wis digawe. Ayo nggawe folder "kunci" ing direktori kerja OpenVPN kanggo nyimpen kunci lan nyalin file sing digawe ing kana.

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

Konfigurasi NAT nggunakake iptables aturan. Nggawe file jenenge nat lan mbukak kanggo editing ing /etc/openvpn/ direktori.

#!/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

Simpen file lan nggawe eksekusi.

sudo chmod 755 /etc/openvpn/nat

Nyalin cithakan konfigurasi server.

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

Bukak file "/etc/openvpn/server.conf" kanggo diowahi, priksa manawa isine baris ing ngisor iki, lan sunting yen prelu:

#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

Aktifake kiriman lalu lintas ing server.

sudo sysctl -w net.ipv4.ip_forward=1

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

Miwiti OpenVPN kanggo ngetrapake konfigurasi.

systemctl restart openvpn@server

Konfigurasi server wis rampung!

Konfigurasi klien

Bukak situs web resmi OpenVPN “ https://openvpn.net ”, banjur bukak bagean “KOMUNITAS”.

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

Gulung mudhun lan download installer kanggo versi sistem operasi sampeyan. Ing kasus kita, iku Windows 11 ARM64.

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

Instal aplikasi ninggalake kabeh paramèter minangka standar.

Ing tahap sabanjure sampeyan kudu nyiyapake file ing ngisor iki ing server lan transfer menyang komputer klien:

  • kunci umum lan pribadi;
  • salinan kunci pusat sertifikasi;
  • Cithakan file config.

Sambungake menyang server, elevate hak istimewa, lan navigasi menyang kita digawe direktori "~/openvpn".

sudo -s

cd ~/openvpn

Gawe kunci pribadi lan panjaluk sertifikat kanggo klien. Minangka argumentasi, nemtokake jeneng kasepakatan; ing kasus kita, iku "klien1".

./easyrsa gen-req client1 nopass

Ketik sandhi sing disetel nalika nggawe sertifikat root lan ninggalake nilai Jeneng Umum minangka standar.

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

Tandhani panjalukan sertifikat klien sing digawe.

./easyrsa sign-req client client1

Ing langkah iki, wangsulan "ya" kanggo konfirmasi teken, banjur ketik sandhi sing digawe sak generasi certificate ROOT.

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

Kanggo penak, ayo nggawe folder kanthi jeneng 'client1' ing direktori ngarep lan nyalin kabeh file sing dituju kanggo transfer menyang komputer klien.

mkdir ~/client1

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

Salin cithakan file konfigurasi klien menyang direktori sing padha. Ganti ekstensi file dadi ".ovpn" nalika nyalin.

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

Ganti sing nduwèni direktori lan kabèh file “~/client1/” supaya bisa disebaraké menyang klien. Ayo dadi "mihail" sing nduwèni ing kasus iki.

chown -R mihail:mihail ~/client1

Bukak komputer klien lan salin isi folder "~/client1/" . Sampeyan bisa nindakake iku nganggo bantuan utilitas "PSCP" , sing ana ing Putty.

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

Sampeyan bisa nyimpen file kunci "ca.crt" , "client1.crt" , "client1.key" ing ngendi wae sing dikarepake. Ing kasus kita, file kasebut ana ing folder iki "c:\Program Files\OpenVPN\keys" , lan kita ngowahi file konfigurasi "client.ovpn" menyang direktori "c:\Program Files\OpenVPN\config".

Saiki ayo padha ngonfigurasi klien. Bukak file “c:\Program Files\OpenVPN\config\client.ovpn” ing editor teks lan sunting baris ing ngisor iki:

#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

Ninggalake liyane ora kena.

Simpen file kasebut lan bukak aplikasi klien "OpenVPN GUI".

Persiyapan VPN rampung

Klik-tengen ing lambang aplikasi ing taskbar banjur pilih "Connect" . Yen sambungan kasil, lambang kasebut bakal malih dadi ijo.

Gunakake layanan online apa wae kanggo mesthekake alamat IP umum sampeyan wis diganti lan saiki padha karo alamat IP server.

❮ Artikel sadurungé Persiyapan server FTP
Artikel sabanjure ❯ Cara nyiyapake Wireguard VPN ing server sampeyan

Takon kita babagan VPS

Kita mesthi siyap mangsuli pitakon sampeyan kapan wae awan utawa wengi.