Bilgi Bankası Profitserver hizmetiyle çalışmak için basit talimatlar
Ana Bilgi Bankası Linux'ta VPN sunucusu kurulumu: PPTP mi yoksa OpenVPN mi?

Linux'ta VPN sunucusu kurulumu: PPTP mi yoksa OpenVPN mi?


Günümüzde VPN teknolojisi daha popüler hale geliyor. Sıradan kullanıcılar İnternet'e güvenli bir şekilde erişmek için VPN kullanıyor. Ayrıca yerel olarak engellenen web sitelerini ve hizmetleri atlatmaya ve olası harici kötü niyetli davranışlara karşı korumaya yardımcı oluyor. Bir VPN sunucusuna bağlandığınızda, bilgisayarınız ile sunucu arasında dışarıdan erişilemeyen güvenli bir tünel olur, böylece VPN sunucusu İnternet erişim noktanız olur. Hem ücretsiz hem de ücretli birçok VPN hizmeti var, ancak herhangi bir nedenle sizin için çalışmıyorlarsa, her zaman kendi VPN sunucunuzu yapılandırabilirsiniz.

Kendi VPN'inizi çalıştırmak için şunları yapmalısınız: VPS sunucusu kirala. VPN bağlantısı oluşturmanıza olanak sağlayan farklı yazılımlar vardır. Desteklenen işletim sistemleri ve kullanılan algoritmalara göre birbirlerinden farklılık gösterirler. Bir VPN sunucusu kurmak için iki bağımsız yaklaşıma bakacağız. İlki, artık eski ve güvenli olmayan ancak yapılandırması gerçekten kolay olan PPTP protokolüne dayanmaktadır. Diğeri ise modern ve güvenli yazılım OpenVPN kullanır ancak üçüncü taraf bir istemci uygulamasının yüklenmesini ve daha kapsamlı bir kurulum sürecini gerektirir.

Test ortamımızda Ubuntu Server 18.04 tarafından desteklenen bir sanal sunucu kullanacağız. Sunucudaki bir güvenlik duvarı kapatılacak çünkü yapılandırması ayrı bir makaleyi hak ediyor. Windows 10'daki kurulum sürecini açıklayacağız.

Hazırlık

Hangi VPN sunucusunu seçerseniz seçin, İnternet erişimi işletim sisteminin entegre araçlarıyla kurulacaktır. Harici bir servis arayüzü üzerinden İnternet erişimini açmak için arayüzler arasında paket iletimine izin vermeli ve ağ adresi çevirisini yapılandırmalısınız.

Paket yönlendirmeyi açmak için dosyayı açın “/etc/sysctl.conf” ve değişim “net.ipv4.ip_forward” parametre değeri içine 1.

VPN kurulumu için paket yönlendirmeyi açın

Bilgisayarı yeniden başlatmadan değişiklikleri uygulamak için şu komutu çalıştırın:

sudo sysctl -p /etc/sysctl.conf

Ağ adresi çevirisi, aşağıdakiler aracılığıyla yapılandırılır: iptables. İlk olarak, komutu çalıştırarak harici ağ arayüzünüzün adını kontrol edin “Ip bağlantı gösterisi” - bir sonraki adımda buna ihtiyacınız olacak. Bizim adımız “ens3”.

ip bağlantı gösterisi

Tüm yerel ağ düğümleri için harici arayüzünüzde ağ adresi çevirisini etkinleştirin.

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

Sunucunuzun arayüzünün gerçek adını belirtmeniz gerektiğini unutmayın, bizimkinden farklı olabilir.

Varsayılan olarak, iptables tarafından oluşturulan tüm kurallar sunucu yeniden başlatıldıktan sonra sıfırlanır. Bunu önlemek için şunu kullanın: “iptables-kalıcı” yardımcı programı. Aşağıdaki paketi yükleyin:

sudo apt install iptables-persistent

Kurulum süreci sırasında bir noktada, geçerli iptables kurallarını kaydetmenizi önerecek bir yapılandırma penceresi göreceksiniz. Kurallar zaten tanımlı olduğundan, sadece onaylayın ve tıklayın "Evet" iki kez. Şu andan itibaren kurallar sunucu yeniden başlatıldıktan sonra otomatik olarak uygulanacaktır.

Adres çevirisini açın

PPTP sunucusu

Sunucu yapılandırması

Paketi yükleyin:

sudo apt install pptpd

Kurulum bittikten sonra dosyayı açın “/etc/pptpd.conf” herhangi bir metin düzenleyicide açıp şu şekilde düzenleyebilirsiniz:

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

Daha sonra dosyayı düzenleyin “/etc/ppp/pptpd-seçenekleri”Parametrelerin çoğu varsayılan olarak ayarlanmıştır.

#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

Bir sonraki aşamada, istemci bağlantıları için bir kayıt oluşturmanız gerekecektir. Diyelim ki bir kullanıcı eklemek istiyorsunuz “vpn kullanıcısı” şifre ile "1" ve onun için dinamik adreslemeye izin verin. Dosyayı açın “/etc/ppp/chap-sırları” ve dosyanın sonuna kullanıcının parametrelerini içeren şu satırı ekleyin:

vpnuser pptpd 1 *

“pptpd” değer, dosyada belirttiğimiz hizmetin adıdır “pptpd-seçenekleri”. Yerine "*" sabit bir IP adresi belirtebilirsiniz. Sonuç olarak, dosya "sır-adam" Şöyle olmalıdır:

VPN sunucusu kurulumu

Ayarları uygulamak için sıfırlama pptpd servis edin ve otomatik yüklemeye ekleyin.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Sunucu yapılandırması tamamlandı.

İstemci yapılandırması

Açılış "Başlama" - “Ayarlar” - Ağ ve İnternet - "VPN" ve tıklayın "VPN bağlantısı ekle"

VPN bağlantısı için istemci kurulumu

Açılan pencerede bağlantı parametrelerini girin ve tıklayın. "Kayıt etmek"

  • VPN sağlayıcısı: “Windows (yerleşik)”
  • Bağlantı adı: “vpn_connect” (herhangi bir ad seçebilirsiniz)
  • Sunucu adı veya adresi: (Sunucunun harici IP adresini belirtin)
  • VPN türü: “Otomatik”
  • Oturum açma bilgisi türü: “Kullanıcı adı ve şifre”
  • Kullanıcı adı: vpn kullanıcısı (Sunucudaki “chap-secrets” dosyasında belirtilen ad)
  • Parola: 1 (örneğin “chap-secrets” dosyasında olduğu gibi)

Parametreleri kaydettikten sonra pencerede yeni VPN bağlantısını göreceksiniz. Bağlantıya sol tıklayın ve seçin "Bağlan"Başarılı bir bağlantı durumunda şunu göreceksiniz: "Bağlı" durumu.

VPN bağlantısı ekleniyor

Seçenekler'de istemcinin ve sunucunun dahili adreslerini bulacaksınız. Alan "Hedef adres" harici sunucu adresini görüntüler.

VPN sunucusunu kendiniz nasıl kurarsınız

Bağlandığında, sunucunun dahili IP adresi, 172.16.0.1 bizim durumumuzda, tüm giden paketler için varsayılan ağ geçidi haline gelir.

Harici IP adresini kontrol edin

Herhangi bir çevrimiçi hizmeti kullanarak bilgisayarınızın harici IP adresinin artık VPN sunucunuzun IP adresiyle aynı olduğundan emin olabilirsiniz.

OpenVPN sunucusu

Sunucu yapılandırması

Mevcut kullanıcının izin seviyesini yükseltelim çünkü daha sonraki yapılandırmamız için root erişimine ihtiyacımız olacak.

sudo -s

Gerekli tüm paketleri yükleyin. İhtiyacımız olacak "Kolay-RSA" Şifreleme anahtarlarını yönetmek için paket.

apt install openvpn easy-rsa iptables-persistent

1194 numaralı porttan UDP protokolü ile gelen bağlantılara izin verin ve iptables kurallarını uygulayın.

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

sudo netfilter-persistent save

“Easy-RSA” paketinden kopyalanan dosyaların olduğu bir dizin oluşturun ve içine gidin.

make-cadir ~/openvpn

cd ~/openvpn

Ortak Anahtar Altyapısı (PKI) Oluşturun.

./easyrsa init-pki

Sertifika Yetkilisi (CA) kök sertifikasını oluşturun.

./easyrsa build-ca

Oluşturma işlemi sırasında bir parola belirlemeniz ve hatırlamanız istenecektir. Ayrıca soruları yanıtlamanız ve anahtar sahibi hakkında bilgi girmeniz gerekecektir. Köşeli parantez içinde verilen varsayılan değerleri bırakabilirsiniz. Girişi tamamlamak için "Enter" tuşuna basın.

Özel bir anahtar ve bir sertifika isteği oluşturun. Argüman olarak, rastgele bir ad belirtin; bizim örneğimizde bu "vpn-server"dır.

./easyrsa gen-req vpn-server nopass

Ortak Ad değerini varsayılan olarak bırakın.

Oluşturulan sunucu sertifika isteğini imzalayın.

./easyrsa sign-req server vpn-server

Bu adımda imzayı onaylamak için "evet" cevabını verin, ardından kök sertifika oluşturma sırasında oluşturulan parolayı girin.

Diffie-Hellman parametrelerini oluşturun. Bu parametreler, sunucu ve istemci arasında güvenli anahtar değişimi için kullanılır.

./easyrsa gen-dh

Gerekli tüm dosyalar oluşturuldu. OpenVPN çalışma dizininde anahtarları saklamak için bir "keys" klasörü oluşturalım ve oluşturulan dosyaları oraya kopyalayalım.

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'ı kullanarak yapılandırın iptables kurallar. Adlı bir dosya oluşturun nat ve düzenleme için açın /etc/openvpn/ dizin.

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

Dosyayı kaydedin ve çalıştırılabilir hale getirin.

sudo chmod 755 /etc/openvpn/nat

Sunucu yapılandırma şablonunu kopyalayın.

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

Dosyayı açın “/etc/openvpn/server.conf” Düzenleme için aşağıdaki satırları içerdiğinden emin olun ve gerekirse düzenleyin:

#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

Sunucuda trafik yönlendirmeyi etkinleştirin.

sudo sysctl -w net.ipv4.ip_forward=1

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

Yapılandırmayı uygulamak için OpenVPN'i başlatın.

systemctl restart openvpn@server

Sunucu yapılandırması tamamlandı!

İstemci yapılandırması

OpenVPN'in resmi web sitesine gidinhttps://openvpn.net”, git “TOPLUM” Bölüm.

"https://openvpn.net" adresini kullandığınızda, "COMUNITY" seçeneğini seçin.

Aşağı kaydırın ve işletim sistemi sürümünüze uygun yükleyiciyi indirin. Bizim örneğimizde Windows 11 ARM64'tür.

пролистываем вниз ve скачиваем инсталлятор для своей версии операционной sistem. Windows 11 ARM64'ü kullanıyorum.

Uygulamayı tüm parametreleri varsayılan şekilde bırakarak yükleyin.

Bir sonraki aşamada sunucuda aşağıdaki dosyayı hazırlamanız ve istemci bilgisayara aktarmanız gerekecektir:

  • genel ve özel anahtarlar;
  • sertifika merkezi anahtarının kopyası;
  • yapılandırma dosyası şablonu.

Sunucuya bağlanın, ayrıcalıkları yükseltin ve oluşturduğumuz dizine gidin "~/openvpn".

sudo -s

cd ~/openvpn

İstemci için özel bir anahtar ve bir sertifika isteği oluşturun. Argüman olarak, rastgele bir ad belirtin; bizim örneğimizde bu "client1"dir.

./easyrsa gen-req client1 nopass

Kök sertifikayı oluştururken belirlediğimiz şifreyi girip, Ortak Ad değerini varsayılan olarak bırakalım.

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

Oluşturulan istemci sertifika isteğini imzalayın.

./easyrsa sign-req client client1

Bu adımda imzayı onaylamak için "evet" cevabını verin, ardından kök sertifika oluşturma sırasında oluşturulan parolayı girin.

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

Kolaylık olması açısından, ana dizinde 'client1' adında bir klasör oluşturalım ve istemci bilgisayara aktarılacak tüm dosyaları bu klasörün içine kopyalayalım.

mkdir ~/client1

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

İstemci yapılandırma dosyası şablonunu aynı dizine kopyalayın. Dosya uzantısını şu şekilde değiştirin: “.ovpn” Kopyalama sırasında.

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

Dizinin ve tüm dosyaların sahibini değiştirin “~/istemci1/” bunları müşteriye dağıtabilmek için. Hadi yapalım "mihail" Bizim durumumuzda mal sahibi.

chown -R mihail:mihail ~/client1

İstemci bilgisayara gidin ve içeriği kopyalayın “~/istemci1/” klasörü. Bunu yardımıyla yapabilirsiniz “PSCP” fayda, Putty ile birlikte gelir.

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

Anahtar dosyaları depolayabilirsiniz “ca.crt”, “müşteri1.crt”, “müşteri1.anahtar” istediğiniz yere. Bizim durumumuzda, bu klasördeler “c:\Program Dosyaları\OpenVPN\anahtarları”ve yapılandırma dosyasını modluyoruz “müşteri.ovpn” içine “c:\Program Dosyaları\OpenVPN\config” dizin.

Şimdi istemciyi yapılandırmaya geçelim. Dosyayı açın “c:\Program Dosyaları\OpenVPN\config\client.ovpn” Bir metin düzenleyicide aşağıdaki satırları düzenleyin:

#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

Gerisini olduğu gibi bırakın.

Dosyayı kaydedin ve istemci uygulamasını başlatın “OpenVPN GUI”.

VPN kurulumu tamamlandı

Görev çubuğundaki uygulama simgesine sağ tıklayın ve şunu seçin: "Bağlan"Bağlantı başarılı olursa simge yeşil renge dönecektir.

Herhangi bir çevrimiçi hizmeti kullanarak genel IP adresinizin değiştiğinden ve artık sunucunun IP adresiyle aynı olduğundan emin olun.

❮ Önceki makale Sunucunuzda Wireguard VPN nasıl kurulur
Sonraki makale ❯ FTP sunucusu kurulumu

VPS hakkında bize sorun

Sorularınızı günün veya gecenin herhangi bir saatinde cevaplamak için her zaman hazırız.