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 un, sampeyan kudu nyewa server VPS. Ana macem-macem piranti lunak sing ngidini sampeyan nggawe sambungan VPN. Iku beda-beda saka saben liyane dening sistem operasi didhukung lan algoritma digunakake. Kita bakal ndeleng rong pendekatan independen kanggo nyiyapake server VPN. Sing pisanan adhedhasar protokol PPTP sing wis dianggep lungse lan ora aman nanging pancen gampang diatur. Sing liyane nggunakake piranti lunak OpenVPN modern lan aman nanging mbutuhake nginstal 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 packet forwarding, bukak file kasebut "/etc/sysctl.conf" lan ngganti "net.ipv4.ip_forward" nilai parameter ing 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 diatur kanthi cara iptables. Pisanan, priksa jeneng antarmuka jaringan eksternal sing nganggo perintah kasebut "ip link show" - sampeyan bakal mbutuhake ing langkah sabanjure. jeneng kita "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.

Kanthi gawan, kabeh aturan sing digawe dening iptables direset sawise server diwiwiti maneh. Kanggo nyegah, gunakake "iptables-persistent" sarana. Instal paket ing ngisor iki:

sudo apt install iptables-persistent

Ing sawetara titik sajrone proses instalasi, sampeyan bakal weruh jendhela konfigurasi sing bakal menehi saran supaya sampeyan nyimpen aturan iptables saiki. Wiwit aturan wis ditetepake, mung konfirmasi lan klik "Ya" kaping pindho. Wiwit saiki aturan bakal diterapake kanthi otomatis sawise miwiti maneh server.

Aktifake terjemahan alamat

Server PPTP

Konfigurasi server

Instal paket:

sudo apt install pptpd

Sawise instalasi rampung, bukak file kasebut "/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

Sawise iku, sunting file "/etc/ppp/pptpd-options". Umume paramèter 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. Contone, sampeyan pengin nambah pangguna "vpnuser" karo tembung sandi "1" lan ngidini alamat dinamis kanggo dheweke. Bukak file kasebut "/etc/ppp/chap-rahasia" lan tambahake baris ing ngisor iki kanthi paramèter pangguna ing pungkasan berkas:

vpnuser pptpd 1 *

"pptpd" Nilai iku jeneng layanan sing kita nemtokake ing file "pilihan-pptpd". Tinimbang "*" sampeyan bisa nemtokake alamat IP tetep. Ing asil, file "rahasia bab" kudu katon kaya iki:

Persiyapan server VPN

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

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Konfigurasi server wis rampung.

Konfigurasi klien

Open "Miwiti" - "Setelan" - Jaringan & Internet - "VPN" lan klik "Tambah sambungan VPN"

Setup klien kanggo sambungan VPN

Ketik paramèter sambungan ing jendhela sing dibukak banjur 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 paramèter, sampeyan bakal weruh sambungan VPN anyar ing jendhela. Klik kiwa sambungan banjur pilih "Sambungake". Ing kasus sambungan sukses, sampeyan bakal weruh "Sambung" status.

Nambahake sambungan VPN

Ing Pilihan, sampeyan bakal nemokake alamat internal klien lan server. lapangan "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 bakal butuh "Easy-RSA" paket 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/

Mbukak file "/etc/openvpn/server.conf" kanggo nyunting, priksa manawa ana baris ing ngisor iki, lan owahi yen perlu:

#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", pindhah menyang "KOMUNITAS" bagean.

Заходим на официальный сайт проекта “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 template file konfigurasi klien menyang direktori sing padha. Ganti ekstensi file menyang ".ovpn" nalika nyalin.

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

Ngganti pemilik direktori lan kabeh file “~/klien1/” supaya bisa disebarake menyang klien. Ayo nggawe "mihail" pemilik ing kasus kita.

chown -R mihail:mihail ~/client1

Pindhah menyang komputer klien lan nyalin isi “~/klien1/” folder. Sampeyan bisa nindakake iku kanthi bantuan saka "PSCP" sarana, sing dadi karo Putty.

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

Sampeyan bisa nyimpen file kunci "ca.crt", "klien1.crt", "klien1.kunci" ing ngendi wae sampeyan pengin. Ing kasus kita, dheweke ana ing folder iki "c:\Program Files\OpenVPN\keys", lan kita mode file konfigurasi "klien.ovpn" menyang "c:\Program Files\OpenVPN\config" direktori.

Saiki ayo miwiti konfigurasi klien. Bukak file kasebut "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 lan bukak aplikasi klien "OpenVPN GUI".

Persiyapan VPN rampung

Klik-tengen ing lambang app ing taskbar banjur pilih "Sambungake". Yen sambungan sukses lambang bakal 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.