Суурь мэдлэг Profitserver үйлчилгээтэй ажиллах энгийн заавар
Үндсэн Суурь мэдлэг Линукс дээр VPN серверийн тохиргоо: PPTP эсвэл OpenVPN?

Линукс дээр VPN серверийн тохиргоо: PPTP эсвэл OpenVPN?


Өнөө үед VPN технологи улам бүр түгээмэл болж байна. Энгийн хэрэглэгчид интернетэд аюулгүй нэвтрэхийн тулд VPN ашигладаг. Энэ нь мөн дотоодоос хаагдсан вэбсайт, үйлчилгээг тойрон гарах, гадны болзошгүй хорлонтой үйлдлээс хамгаалахад тусалдаг. Таныг VPN серверт холбогдох үед таны компьютер болон серверийн хооронд гаднаас хандах боломжгүй аюулгүй хонгил байдаг тул VPN сервер нь таны интернетийн хандалтын цэг болдог. Үнэгүй болон төлбөртэй олон VPN үйлчилгээнүүд байдаг ч ямар нэг шалтгааны улмаас тэдгээр нь танд тохирохгүй бол та үргэлж VPN серверээ тохируулах боломжтой.

Өөрийн VPN-г ажиллуулахын тулд та хийх ёстой VPS сервер түрээслэх. VPN холболт үүсгэх боломжийг олгодог өөр өөр програм хангамж байдаг. Энэ нь дэмждэг үйлдлийн системүүд болон ашигласан алгоритмуудаараа бие биенээсээ ялгаатай. Бид VPN серверийг тохируулах хоёр бие даасан аргыг авч үзэх болно. Эхнийх нь аль хэдийн хуучирсан, аюулгүй гэж тооцогддог PPTP протокол дээр суурилдаг боловч тохируулахад үнэхээр хялбар байдаг. Нөгөө нь орчин үеийн, аюулгүй OpenVPN программ хангамжийг ашигладаг боловч гуравдагч талын клиент програм суулгах, илүү нарийн тохиргоо хийх процессыг шаарддаг.

Туршилтын орчинд бид Ubuntu Server 18.04 дээр суурилсан виртуал сервер ашиглах гэж байна. Галт ханыг сервер дээр унтраах гэж байна, учир нь түүний тохиргоо нь тусдаа нийтлэл байх ёстой. Бид Windows 10 дээрх тохиргооны үйл явцыг тайлбарлах болно.

Бэлтгэл

Аль ч VPN серверийг сонгохоос үл хамааран үйлдлийн системийн нэгдсэн хэрэгслээр интернет холболтыг тохируулах болно. Гадаад үйлчилгээний интерфейсээр дамжуулан интернетийн хандалтыг нээхийн тулд интерфэйсүүдийн хооронд пакет дамжуулахыг зөвшөөрч, сүлжээний хаягийн орчуулгыг тохируулах шаардлагатай.

Пакет дамжуулалтыг идэвхжүүлэхийн тулд файлыг нээнэ үү “/etc/sysctl.conf” ба өөрчлөлт “net.ipv4.ip_forward” параметрийн утгыг оруулна 1.

VPN тохиргоонд пакет дамжуулахыг асаана уу

Компьютерийг дахин ачаалахгүйгээр өөрчлөлт оруулахын тулд командыг ажиллуулна уу

sudo sysctl -p /etc/sysctl.conf

Сүлжээний хаягийн орчуулгыг дараах аргаар тохируулдаг iptables. Эхлээд тушаалыг ажиллуулж байгаа гадаад сүлжээний интерфейсийнхээ нэрийг шалгана уу "IP холбоос шоу" - дараагийн алхамд танд хэрэгтэй болно. Бидний нэр "ens3".

ip холбоос шоу

Дотоод сүлжээний бүх зангилааны гадаад интерфейс дээр сүлжээний хаягийн орчуулгыг идэвхжүүлнэ үү.

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

Та өөрийн серверийн интерфейсийн жинхэнэ нэрийг зааж өгөх хэрэгтэй гэдгийг анхаарна уу, энэ нь биднийхээс өөр байж болно.

Анхдагч байдлаар, iptables-ийн үүсгэсэн бүх дүрмийг серверийг дахин эхлүүлсний дараа дахин тохируулдаг. Үүнээс урьдчилан сэргийлэхийн тулд ашиглах хэрэгтэй "iptables-тогтвортой" хэрэгсэл. Дараах багцыг суулгана уу:

sudo apt install iptables-persistent

Суулгах процессын зарим үед та одоогийн iptables дүрмийг хадгалахыг санал болгох тохиргооны цонхыг харах болно. Дүрмүүд аль хэдийн тодорхойлогдсон тул баталгаажуулаад дарна уу "Тийм" хоёр удаа. Одооноос хойш сервер дахин ачаалсны дараа дүрэм автоматаар хэрэгжинэ.

Хаягийн орчуулгыг асаана уу

PPTP сервер

Серверийн тохиргоо

Пакет суулгах:

sudo apt install pptpd

Суулгац дууссаны дараа файлыг нээнэ үү “/etc/pptpd.conf” дурын текст засварлагч дээр дараах байдлаар засварлана уу:

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

Үүний дараа файлыг засварлана уу “/etc/ppp/pptpd-options”. Ихэнх параметрүүдийг анхдагчаар тохируулдаг.

#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

Дараагийн шатанд та үйлчлүүлэгчийн холболтын бүртгэл үүсгэх шаардлагатай болно. Та хэрэглэгч нэмэхийг хүсч байна гэж бодъё "vpnuser" нууц үгтэй "1" мөн түүнд динамик хаяглах боломжийг олгоно. Файлыг нээнэ үү “/etc/ppp/chap-secrets” файлын төгсгөлд хэрэглэгчийн параметрүүдтэй дараах мөрийг нэмнэ:

vpnuser pptpd 1 *

"pptpd" утга нь бидний файлд заасан үйлчилгээний нэр юм "pptpd сонголтууд". Оронд нь "*" та тогтмол IP хаягийг зааж өгч болно. Үүний үр дүнд файл "Нууц" иймэрхүү харагдах ёстой:

VPN серверийн тохиргоо

Тохиргоог хэрэгжүүлэхийн тулд дахин тохируулна уу pptpd үйлчилгээг автоматаар ачаалахад нэмнэ.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Серверийн тохиргоо дууссан.

Үйлчлүүлэгчийн тохиргоо

Нээлттэй “Эхлүүлэх” - "Тохиргоо" - Сүлжээ ба Интернет - "VPN" болон дарна уу "VPN холболт нэмэх"

VPN холболтын клиентийг тохируулна уу

Нээгдсэн цонхонд холболтын параметрүүдийг оруулаад дарна уу "Хадгалах"

  • VPN үйлчилгээ үзүүлэгч: "Windows (бүтээсэн)"
  • Холболтын нэр: “vpn_connect” (та ямар ч нэрийг сонгож болно)
  • Серверийн нэр эсвэл хаяг: (серверийн гадаад IP хаягийг зааж өгнө үү)
  • VPN төрөл: "Авто"
  • Нэвтрэх мэдээллийн төрөл: "Хэрэглэгчийн нэр, нууц үг"
  • Хэрэглэгчийн нэр: vpnuser (сервер дээрх "chap-secrets" файлд заасан нэр)
  • Нууц үг: 1 ("chap-secrets" файлд байгаа шиг)

Параметрүүдийг хадгалсны дараа та шинэ VPN холболтыг цонхонд харах болно. Холболт дээр хулганы зүүн товчийг дараад сонгоно уу "Холбох". Амжилттай холболт хийсэн тохиолдолд та харах болно "Холбогдсон" статус.

VPN холболт нэмж байна

Сонголтуудаас та үйлчлүүлэгч болон серверийн дотоод хаягийг олох болно. Талбай "Очих газрын хаяг" гадаад серверийн хаягийг харуулна.

VPN серверийг өөрөө хэрхэн тохируулах вэ

Холбогдсон үед серверийн дотоод IP хаяг, 172.16.0.1 Манай тохиолдолд энэ нь бүх илгээх пакетуудын анхдагч гарц болдог.

Гадаад IP хаягийг шалгана уу

Аливаа онлайн үйлчилгээг ашигласнаар та компьютерийн гадаад IP хаяг нь VPN серверийн IP хаягтай ижил байгаа эсэхийг шалгах боломжтой.

OpenVPN сервер

Серверийн тохиргоо

Одоо байгаа хэрэглэгчийн зөвшөөрлийн түвшинг дэмжицгээе, учир нь бидний цаашдын тохиргоонд root хандалт хэрэгтэй болно.

sudo -s

Шаардлагатай бүх багцуудыг суулгана уу. Бидэнд хэрэгтэй болно "Хялбар-RSA" шифрлэлтийн түлхүүрүүдийг удирдах багц.

apt install openvpn easy-rsa iptables-persistent

UDP протоколоор 1194 порт дээр ирж буй холболтыг зөвшөөрч, iptables дүрмийг хэрэгжүүлнэ үү.

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

sudo netfilter-persistent save

"Easy-RSA" багцаас хуулсан файлуудтай лавлах үүсгээд түүн рүү шилжинэ үү.

make-cadir ~/openvpn

cd ~/openvpn

Нийтийн түлхүүрийн дэд бүтцийг (PKI) үүсгэх.

./easyrsa init-pki

Гэрчилгээний албаны (CA) эх гэрчилгээг үүсгэнэ үү.

./easyrsa build-ca

Үүсгэх явцад нууц үг тохируулах, санахыг хүсэх болно. Та мөн асуултуудад хариулж, түлхүүр эзэмшигчийн талаарх мэдээллийг оруулах хэрэгтэй. Та дөрвөлжин хаалтанд өгсөн өгөгдмөл утгуудыг үлдээж болно. Оролтоо дуусгахын тулд "Enter" товчийг дарна уу.

Хувийн түлхүүр болон гэрчилгээний хүсэлтийг үүсгэх. Аргумент болгон дурын нэрийг зааж өгнө үү; Манай тохиолдолд энэ нь "vpn-сервер" юм.

./easyrsa gen-req vpn-server nopass

Common Name утгыг өгөгдмөл болгож үлдээнэ үү.

Үүсгэсэн серверийн гэрчилгээний хүсэлтэд гарын үсэг зурна уу.

./easyrsa sign-req server vpn-server

Энэ үе шатанд гарын үсгээ баталгаажуулахын тулд "тийм" гэж хариулж, үндсэн гэрчилгээ үүсгэх явцад үүсгэсэн нууц үгээ оруулна уу.

Диффи-Хеллман параметрүүдийг үүсгэх. Эдгээр параметрүүдийг сервер болон үйлчлүүлэгчийн хооронд аюулгүй түлхүүр солилцоход ашигладаг.

./easyrsa gen-dh

Шаардлагатай бүх файлыг үүсгэсэн. OpenVPN-н ажлын санд "түлхүүр" хавтас үүсгээд түлхүүрүүдийг хадгалаад тэнд үүсгэсэн файлуудыг хуулж авцгаая.

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

NAT-г ашиглан тохируулна уу iptables дүрэм. нэртэй файл үүсгэ nat дээр засварлахын тулд нээнэ үү /etc/openvpn/ сан.

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

Файлыг хадгалж, гүйцэтгэх боломжтой болго.

sudo chmod 755 /etc/openvpn/nat

Серверийн тохиргооны загварыг хуулна уу.

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

Файлыг нээх “/etc/openvpn/server.conf” засварлахын тулд дараах мөрүүдийг агуулж байгаа эсэхийг шалгаад шаардлагатай бол засварлана.

#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

Сервер дээр траффик дамжуулахыг идэвхжүүлнэ.

sudo sysctl -w net.ipv4.ip_forward=1

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

Тохиргоог хэрэгжүүлэхийн тулд OpenVPN-г эхлүүлнэ үү.

systemctl restart openvpn@server

Серверийн тохиргоо дууслаа!

Үйлчлүүлэгчийн тохиргоо

OpenVPN-ийн албан ёсны вэбсайт руу очно уу "https://openvpn.net" руу очно уу "НИЙТЛЭЛ" Хэсэг.

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

Доош гүйлгээд үйлдлийн системийн хувилбарт суулгагчийг татаж аваарай. Манай тохиолдолд энэ нь Windows 11 ARM64 юм.

Пролистываем вниз и скачиваем инсталлятор нь своей хувилбарын үйлдлийн систем. Энэ нь Windows 11 ARM64-д зориулагдсан.

Бүх параметрүүдийг анхдагчаар үлдээж програмыг суулгана уу.

Дараагийн шатанд та дараах файлыг сервер дээр бэлтгэж, үйлчлүүлэгчийн компьютерт шилжүүлэх шаардлагатай болно.

  • нийтийн болон хувийн түлхүүрүүд;
  • гэрчилгээжүүлэх төвийн түлхүүрийн хуулбар;
  • тохиргооны файлын загвар.

Сервертэй холбогдож, давуу эрхээ дээшлүүлж, бидний үүсгэсэн лавлах руу очно уу "~/openvpn".

sudo -s

cd ~/openvpn

Үйлчлүүлэгчийн хувийн түлхүүр болон гэрчилгээний хүсэлтийг үүсгэнэ үү. Аргумент болгон дурын нэрийг зааж өгнө үү; манай тохиолдолд энэ нь "үйлчлүүлэгч1" юм.

./easyrsa gen-req client1 nopass

Үндсэн гэрчилгээ үүсгэх үед бидний тохируулсан нууц үгээ оруулаад Common Name утгыг анхдагч болгон үлдээнэ үү.

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

Үүсгэсэн үйлчлүүлэгчийн гэрчилгээний хүсэлтэд гарын үсэг зурна уу.

./easyrsa sign-req client client1

Энэ үе шатанд гарын үсгээ баталгаажуулахын тулд "тийм" гэж хариулж, үндсэн гэрчилгээ үүсгэх явцад үүсгэсэн нууц үгээ оруулна уу.

Дараа нь "тийм" гэж хүлээн зөвшөөрч, дараа нь баталгаажуулна уу.

Тохиромжтой болгох үүднээс гэрийн лавлахдаа 'client1' нэртэй хавтас үүсгэж, клиент компьютер руу шилжүүлэхэд зориулагдсан бүх файлыг түүн рүү хуулж авцгаая.

mkdir ~/client1

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

Үйлчлүүлэгчийн тохиргооны файлын загварыг ижил директор руу хуулна уу. Файлын өргөтгөлийг өөрчил ".ovpn" хуулж байхдаа.

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

Лавлах эзэмшигч болон бүх файлыг өөрчил “~/клиент1/” тэдгээрийг үйлчлүүлэгчид түгээх боломжтой байх. Хийцгээе "михайл" манай тохиолдолд эзэмшигч.

chown -R mihail:mihail ~/client1

Үйлчлүүлэгчийн компьютер руу очоод контентыг хуулна уу “~/клиент1/” хавтас. Та үүнийг тусламжтайгаар хийж болно "PSCP" хэрэгсэл, энэ нь Putty-тэй нийцдэг.

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

Та гол файлуудыг хадгалах боломжтой "ca.crt", "client1.crt", "үйлчлүүлэгч1. түлхүүр" хүссэн газраа. Манай тохиолдолд тэд энэ хавтсанд байдаг “c:\Program Files\OpenVPN\keys”, мөн бид тохиргооны файлыг горимд оруулна "client.ovpn" руу “c:\Program Files\OpenVPN\config” сан.

Одоо үйлчлүүлэгчийн тохиргоо руу орцгооё. Файлыг нээнэ үү “c:\Program Files\OpenVPN\config\client.ovpn” Текст засварлагч дээр дараах мөрүүдийг засварлана.

#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

Үлдсэн хэсгийг нь хөндөхгүй орхи.

Файлыг хадгалаад клиент програмыг ажиллуулна уу “OpenVPN GUI”.

VPN тохиргоо дууссан

Taskbar дээрх програмын дүрс дээр хулганы баруун товчийг дараад сонгоно уу "Холбох". Хэрэв холболт амжилттай бол дүрс нь ногоон өнгөтэй болно.

Таны нийтийн IP хаяг өөрчлөгдсөн бөгөөд одоо серверийн IP хаягтай ижил байгаа эсэхийг шалгахын тулд дурын онлайн үйлчилгээг ашиглана уу.

❮ Өмнөх нийтлэл Сервер дээрээ Wireguard VPN-г хэрхэн тохируулах вэ
Дараагийн нийтлэл ❯ FTP серверийн тохиргоо

VPS-ийн талаар биднээс асуу

Бид таны асуултанд өдөр, шөнийн аль ч цагт хариулахад бэлэн байна.