Knowledgebase Parentah basajan pikeun digawe sareng jasa Profitserver
utama Knowledgebase Setélan server VPN dina Linux: PPTP atanapi OpenVPN?

Setélan server VPN dina Linux: PPTP atanapi OpenVPN?


Kiwari, téknologi VPN janten langkung populer. Pamaké biasa nganggo VPN pikeun ngaksés Internét aman. Éta ogé ngabantosan situs wéb sareng jasa anu diblokir sacara lokal sareng ngajagi tina kamungkinan paripolah jahat éksternal. Nalika anjeun nyambung ka server VPN, aya torowongan anu aman antara komputer sareng server anu henteu tiasa diakses ti luar, janten server VPN janten titik aksés Internét anjeun. Aya seueur jasa VPN di luar, gratis sareng mayar, tapi upami aranjeunna henteu tiasa dianggo pikeun anjeun kusabab sababaraha alesan, anjeun tiasa ngonpigurasikeun server VPN anjeun nyalira.

Pikeun ngajalankeun VPN anjeun, anjeun kedah nyéwa server VPS . Aya sababaraha parangkat lunak anu ngamungkinkeun anjeun ngadamel sambungan VPN. Éta bénten-bénten dumasar kana sistem operasi anu dirojong sareng algoritma anu dianggo. Urang bakal ningali dua pendekatan mandiri pikeun nyetél server VPN. Anu kahiji dumasar kana protokol PPTP anu parantos dianggap luntur sareng henteu aman tapi gampang pisan dikonfigurasi. Anu sanésna nganggo parangkat lunak OpenVPN anu modéren sareng aman tapi meryogikeun pamasangan aplikasi klien pihak katilu sareng prosés setelan anu langkung lengkep.

Dina lingkungan tés urang, urang bade nganggo server maya Powered by Ubuntu Server 18.04. A firewall bade dipareuman dina server sabab konfigurasi na pantes hiji artikel misah. Kami bakal ngajelaskeun prosés setelan dina Windows 10.

siap-siapna

Henteu masalah server VPN anu anjeun pilih, aksés Internét bakal disetél ku cara terpadu tina sistem operasi. Pikeun muka aksés Internét ngaliwatan antarbeungeut jasa éksternal, anjeun kedah ngijinkeun pakét diteruskeun antara antarmuka sareng ngonpigurasikeun tarjamahan alamat jaringan.

Pikeun ngaktipkeun packet forwarding, buka file “/etc/sysctl.conf” teras robih nilai parameter “net.ipv4.ip_forward” jadi 1.

hurungkeun pakét diteruskeun pikeun setelan VPN

Dina raraga nerapkeun parobahan tanpa rebooting komputer, ngajalankeun paréntah

sudo sysctl -p /etc/sysctl.conf

Tarjamahan alamat jaringan dikonfigurasi ku cara iptables . Mimitina, pariksa nami antarmuka jaringan éksternal anjeun ku ngajalankeun paréntah "ip link show" - anjeun bakal peryogi éta dina léngkah salajengna. Nami urang nyaéta "ens3".

ip link acara

Aktipkeun tarjamahan alamat jaringan dina antarmuka éksternal anjeun pikeun sadaya titik jaringan lokal.

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

Catet yén anjeun kedah netepkeun nami asli antarmuka pangladén anjeun, éta tiasa bénten ti urang.

Sacara standar, sadaya aturan anu didamel ku iptables bakal di-reset saatos server di-restart. Pikeun nyegah éta, anggo utilitas "iptables-persistent" . Pasang pakét ieu:

sudo apt install iptables-persistent

Dina hiji waktos salami prosés pamasangan, anjeun bakal ningali jandela konfigurasi anu bakal nyarankeun anjeun pikeun nyimpen aturan iptables ayeuna. Kusabab aturan parantos ditetepkeun, cukup konfirmasi teras klik "Leres" dua kali. Kusabab ayeuna aturan bakal diterapkeun sacara otomatis saatos server dibalikan deui.

Hurungkeun tarjamahan alamat

Server PPTP

Konfigurasi server

Pasang pakét:

sudo apt install pptpd

Saatos pamasangan réngsé, buka file "/etc/pptpd.conf" dina éditor téks naon waé teras édit sapertos kieu:

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

Saatos éta, édit file "/etc/ppp/pptpd-options" . Kaseueuran parameter disetel sacara standar.

#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

Dina tahap salajengna, anjeun kedah ngadamel rékaman pikeun sambungan klien. Hayu urang sebutkeun anjeun hoyong nambihan pangguna "vpnuser" nganggo kecap akses "1" sareng ngijinkeun alamat dinamis pikeun anjeunna. Buka file "/etc/ppp/chap-secrets" teras tambahkeun baris ieu nganggo parameter pangguna di ahir file:

vpnuser pptpd 1 *

Nilai "pptpd" nyaéta nami layanan anu urang tangtukeun dina file "pptpd-options" . Gantina "*" anjeun tiasa nangtukeun alamat IP anu tetep. Hasilna, file "chap-secrets" kedahna sapertos kieu:

Setélan server VPN

Pikeun nerapkeun setélan, reset layanan pptpd teras tambahkeun kana autoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Konfigurasi server réngsé.

Konfigurasi klien

Buka "Mimitian" - "Setélan" - "Jaringan & Internét" - "VPN" teras klik "Tambahkeun sambungan VPN"

Setup klien pikeun sambungan VPN

Lebetkeun parameter sambungan dina jandela anu dibuka teras klik "Simpen".

  • Panyadia VPN: "Windows (built-in)"
  • Ngaran sambungan: "vpn_connect" (anjeun tiasa milih nami naon waé)
  • Ngaran atanapi alamat server: (sebutkeun alamat IP éksternal server)
  • Jenis VPN: "Otomatis"
  • Jenis inpormasi asup: "Ngaran pangguna sareng kecap akses"
  • Ngaran pangguna: vpnuser (ngaran dieusian dina file "chap-rahasia" dina server)
  • password: 1 (sapertos dina file "chap-rahasia")

Saatos nyimpen parameter, anjeun bakal ningali sambungan VPN anyar dina jandela. Klik-kénca sambungan teras pilih "Sambungkeun" . Upami sambungan suksés, anjeun bakal ningali status "Nyambung" .

Nambahkeun sambungan VPN

Dina Pilihan, anjeun bakal mendakan alamat internal klien sareng server. Kolom "Alamat tujuan" nampilkeun alamat server éksternal.

Kumaha nyetél server VPN ku nyalira

Nalika nyambung, alamat IP internal server, 172.16.0.1 dina kasus urang, janten gateway standar pikeun sadaya pakét anu kaluar.

Pariksa éksternal IP-alamat

Nganggo jasa online naon waé anjeun tiasa mastikeun yén alamat IP éksternal komputer ayeuna sami sareng alamat IP server VPN anjeun.

Server OpenVPN

Konfigurasi server

Hayu urang ngamajukeun tingkat idin ti pamaké ayeuna sabab pikeun konfigurasi salajengna urang bakal butuh aksés root.

sudo -s

Pasang sadaya pakét anu diperyogikeun. Urang peryogi pakét "Easy-RSA" pikeun ngatur konci énkripsi.

apt install openvpn easy-rsa iptables-persistent

Ngidinan sambungan asup dina port 1194 via protokol UDP jeung nerapkeun aturan iptables.

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

sudo netfilter-persistent save

Jieun diréktori sareng file anu disalin tina pakét "Easy-RSA" teras napigasi ka dinya.

make-cadir ~/openvpn

cd ~/openvpn

Ngahasilkeun Infrastruktur Kunci Publik (PKI).

./easyrsa init-pki

Ngahasilkeun Sertipikat Otoritas (CA) sertipikat akar.

./easyrsa build-ca

Salila prosés nyiptakeun, anjeun bakal dipenta pikeun nyetél sareng nginget kecap konci. Anjeun ogé kedah ngajawab patarosan sareng ngalebetkeun inpormasi ngeunaan anu gaduh konci. Anjeun tiasa ninggalkeun nilai standar disadiakeun dina kurung kuadrat. Pencét "Asupkeun" pikeun ngabéréskeun input.

Ngahasilkeun konci pribadi sareng pamundut sertipikat. Salaku argumen, tangtukeun ngaran sawenang; dina kasus urang, éta "vpn-server".

./easyrsa gen-req vpn-server nopass

Ninggalkeun nilai Ngaran Umum salaku standar.

Asupkeun pamundut sertipikat server dihasilkeun.

./easyrsa sign-req server vpn-server

Dina léngkah ieu, jawab "enya" pikeun ngonfirmasi tanda tangan, teras lebetkeun kecap akses anu didamel nalika generasi sertipikat akar.

Ngahasilkeun parameter Diffie-Hellman. Parameter ieu dianggo pikeun tukeur konci anu aman antara server sareng klien.

./easyrsa gen-dh

Sadaya file anu diperyogikeun parantos didamel. Hayu urang ngadamel folder "konci" dina diréktori kerja OpenVPN pikeun nyimpen konci sareng nyalin file anu didamel di dinya.

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

Ngonpigurasikeun NAT ngagunakeun iptables aturan. Jieun file ngaranna nat tur buka pikeun ngédit dina /etc/openvpn/ diréktori.

#!/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 sareng laksanakeun.

sudo chmod 755 /etc/openvpn/nat

Nyalin template konfigurasi server.

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

Buka file "/etc/openvpn/server.conf" kanggo diédit, pastikeun éta ngandung baris-baris ieu, teras édit upami diperyogikeun:

#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

Aktipkeun lalu lintas diteruskeun dina server.

sudo sysctl -w net.ipv4.ip_forward=1

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

Mimitian OpenVPN pikeun nerapkeun konfigurasi.

systemctl restart openvpn@server

Konfigurasi server réngsé!

Konfigurasi klien

Buka situs wéb resmi OpenVPN “ https://openvpn.net ”, teras buka bagian “KOMUNITAS”.

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

Gulung ka handap tur ngundeur installer pikeun versi sistem operasi Anjeun. Dina kasus urang, éta Windows 11 ARM64.

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

Pasang aplikasi ninggalkeun sadaya parameter sacara standar.

Dina tahap salajengna anjeun kedah nyiapkeun file di handap ieu dina server sareng mindahkeun kana komputer klien:

  • konci umum jeung swasta;
  • salinan konci puseur sertifikasi;
  • config file template.

Sambungkeun ka server, angkat hak istimewa, sareng arahkeun ka diréktori anu kami buat "~/openvpn".

sudo -s

cd ~/openvpn

Ngahasilkeun konci pribadi sareng pamundut sertipikat pikeun klien. Salaku argumen, tangtukeun ngaran sawenang; dina kasus urang, éta "klien1".

./easyrsa gen-req client1 nopass

Lebetkeun kecap akses anu kami setel nalika nyiptakeun sertipikat akar sareng tinggalkeun nilai Ngaran Umum salaku standar.

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

Asupkeun pamundut sertipikat klien dihasilkeun.

./easyrsa sign-req client client1

Dina léngkah ieu, jawab "enya" pikeun ngonfirmasi tanda tangan, teras lebetkeun kecap akses anu didamel nalika generasi sertipikat akar.

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

Pikeun genah, hayu urang nyieun folder ngaranna 'client1' dina diréktori imah jeung nyalin sakabéh file dimaksudkeun pikeun mindahkeun ka komputer klien kana eta.

mkdir ~/client1

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

Salin témplat file konfigurasi klien ka diréktori anu sami. Robah éksténsi file ka ".ovpn" nalika nyalin.

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

Robah nu boga diréktori jeung sakabéh file “~/client1/” sangkan bisa disebarkeun ka klien. Hayu urang jadikeun “mihail” nu boga dina kasus urang.

chown -R mihail:mihail ~/client1

Buka komputer klien teras salin eusi folder "~/client1/" . Anjeun tiasa ngalakukeun éta kalayan bantosan utilitas "PSCP" , anu aya dina Putty.

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

Anjeun tiasa nyimpen file konci "ca.crt" , "client1.crt" , "client1.key" dimana waé anjeun hoyong. Dina kasus urang, éta aya dina folder ieu "c:\Program Files\OpenVPN\keys" , sareng urang mode file konfigurasi "client.ovpn" kana diréktori "c:\Program Files\OpenVPN\config".

Ayeuna hayu urang ngonpigurasikeun klien. Buka file "c:\Program Files\OpenVPN\config\client.ovpn" dina éditor téks teras édit baris-baris ieu:

#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

Ninggalkeun sésana teu kacekel.

Simpen file teras jalankeun aplikasi klien "OpenVPN GUI".

Setélan VPN réngsé

Klik-katuhu dina ikon aplikasi dina taskbar teras pilih "Connect" . Upami sambunganna suksés, ikonna bakal robah jadi héjo.

Anggo jasa online naon waé pikeun mastikeun alamat IP umum anjeun parantos robih sareng ayeuna sami sareng alamat IP pangladén.

❮ Artikel saméméhna Setélan server FTP
Artikel salajengna ❯ Kumaha nyetél Wireguard VPN dina server anjeun

Tanya kami ngeunaan VPS

Kami salawasna siap ngajawab patarosan anjeun iraha wae beurang atawa peuting.