in

Sınırsız Sayıda VPN Hesabı Nasıl Açılır?

Bilmeyenler için kısaca; başka bilgisayarlarla kurulan sanal bir ağ olarak tanıtabiliriz ya da pratik açıdan bakarsak, internete açılan güvenli bir kapı diyebiliriz.

Geçtiğimiz 5 yıl içerisinde yaşanan erişim yasakları, veri gizliliğinin öneminin artması, ülke kısıtlamaları gibi birçok konu sebebiyle hayatımıza giren 3 harfli bir kavram, VPN.

Peki, VPN nedir?

Bilmeyenler için kısaca; başka bilgisayarlarla kurulan sanal bir ağ olarak tanıtabiliriz ya da pratik açıdan bakarsak, internete açılan güvenli bir kapı diyebiliriz.

Günümüzde ücretli ya da ücretsiz VPN hizmeti sağlayan birçok firma bulunuyor. Kullanım amacına göre fiyatlar değişiklik gösterse de, genelde alınan hizmete ödenen fiyat çok tatmin edici olmamakta. İşte bu noktada açık kaynak yazılım dünyası bizlere elini uzatıyor.

Şimdi sizlere; aylık 3.99$’a satın alabileceğiniz bir VPS üzerinde kendi VPN sunucunuzu nasıl oluşturabileceğinizden bahsedeceğiz. 

Adım 1:

Öncelikle, Natro.com adresinden sunucu sayfasına girerek, işinize yarayacak en uygun sunucuyu seçmeniz gerekmektedir. Bu yazıda örnek olarak, VPN seçimi XCloud Mini oldu ve işletim sistemi olarak Ubuntu 16.04 LTS tercih edildi. Satın alma işlemlerinizden sonra, Natro üzerinde kayıtlı e-posta adresinize giriş bilgileriniz gelecektir. Bu bilgileri sunucuya erişmek için kullanabilirsiniz.

Adım 2:

Sunucunuza, SSH üzerinden erişmek için yine açık kaynak bir yazılım olan, Putty isimli aracı kullanabilirsiniz. Putty’i indirmek için www.putty.org adresini kullanabiliriz. Putty üzerinde Host Name kısmına sunucuya ait IP adresini yazdıktan sonra, Connection Type olarak SSH seçmeniz gerekmektedir.

Gelen terminal ekranına, mail ile iletilen giriş bilgilerinizi yazabilirsiniz. Ardından, sunucuya başarılı bir şekilde erişim sağlamış olacaksınız.

(Not: Kopyaladığınız bir yazıyı Putty üzerinde yapıştırmak için ilgili yere fare ile sağ tıklayabilirsiniz.)

Adım 3:

Kuruluma başlamadan önce aşağıdaki komutla paketleri güncellemeniz gerekmektedir.

$ Sudo apt-get update

(Not: Eğer root haklarına sahip bir kullanıcı ile login olduysanız sudo komutunu kullanmanıza gerek yoktur.)

Daha sonra aşağıdaki komutu kullanarak; OpenVPN’i, gerekli sertifikaların türetilmesi için Easy-Rsa’i ve dosyaların düzenlenmesi için Nano’yu kurmanız gerekmektedir.

$ sudo apt-get install openvpn easy-rsa nano
Adım 4:

Bu aşamada, sunucu ve kullanıcı arasındaki bağlantının şifrelenmesi için Sertifika Otoritesinin kurulumunu gerçekleştirebilirsiniz. Bunun için ilk olarak CA klasörünü aşağıdaki komutla oluşturmanız gerekmektedir.

$ make-cadir ~/openvpn-ca

Ardından, aşağıdaki komutla ilgili klasör içerisine geçeceksiniz.

$ cd ~/openvpn-ca
$ nano vars

Yukarıdaki komut ile vars dosyasını düzenlemek için açabilirsiniz. Vars dosyasının içinde hazır sertifika ve anahtar türetim komut dosyası için gerekli bazı değişkenler bulunmakta. Şimdi bu değişkenleri düzenleyelim:

export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"

Yukarıda görünen kısmı istediğiniz bilgilerle güncelleyebilirsiniz.

Bunun dışında KEY_NAME isimli değişken karşılığında sunucunuzu isimlendirebilirsiniz. Biz bu aşamada server ismini kullanacağız.

Bu değişiklikleri yaptıktan sonra CTRL+X kombinasyonuna basıp, Y yazıp ardından Enter tuşuna basarak yaptığınız değişiklikleri kaydederek çıkış yapabilirsiniz.

Adım 5:

Sonrasında ise, Certificate Authority’i kurmanız gerekiyor. Bunun için ilk olarak yarattığımız CA klasörü içinde olduğunuzdan emin olmalısınız. Sırasıyla

$ cd ~/openvpn-ca
$ source vars

Komutlarını çalıştırdıktan sonra, aşağıdaki mesajı alacaksınız.

NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/sammy/openvpn-ca/keys

Bu mesajı aldığınızda;

$ ./clean-all

Yukarıdaki komut ile environment temizliği gerçekleştirebilirsiniz. Daha sonra ise;

$ ./build-ca

Komutu ile CA oluşumunu başlatacaksınız. Gelen soruları boş bırakıp Enter ile devam edebilirsiniz.

Şimdi, geri kalan dosyaların oluşturulması için gerekli Certificate Authority’i oluşturduk. Sırada Sunucu Sertifikasını ve Şifreleme Dosyalarını oluşturmak var. Bu işlemler için ilk olarak aşağıdaki komutu çalıştırıyoruz.

Adım 6:
$ ./build-key-server server

Not: Eğer konfigürasyon aşamasında sunucuya server dışında bir isim verdiyseniz, server yerine bu ismi yazmanız gerekmektedir.

Bu komutla beraber, EasyRSA bize yine Vars dosyasında belirttiğimiz soruları soruyor ve boş bırakarak hâlihazırda girilmiş verileri kullanmasını belirtiyoruz. Buna ek olarak, bize bir parola belirleme seçeneği sunacak. Bu kısmı da  boş bırakıp devam edebilirsiniz. Son olarak ise; sertifikanın imzalanması ile ilgili sorulara da Y yazıp Enter’a basarak cevaplıyoruz.

Adım 7:

Sırada ise Diffie-Hellman parametreleri var. Bunun için ise aşağıdaki komutu çalıştırabilirsiniz.

$ ./build-dh
$ openvpn --genkey --secret keys/ta.key

Bütün bu işlemlerden sonra Kullanıcı Sertifikaları ve Anahtarlarının oluşturulması işlemine geçebilirsiniz. Bu aşamada dikkat edilecek önemli nokta, VPN sunucunuzu kimler kullanacaksa her bir cihaz için ayrı bir sertifika ve anahtar oluşturmalısınız. Bu aşamayı VPN kullanacağınız her bir cihaz için tekrarlamalısınız.

İlk olarak aşağıdaki komutla client1 anahtarını oluşturmanız gerekmektedir.

$ cd ~/openvpn-ca

$ source vars

$ ./build-key client1

Yine gelen soruları Enter ile yanıtlayabilirsiniz ve en son Y yazarak imzalama işlemini onaylarsınız.

Adım 8:

Bu işlemden sonra OpenVPN servisinin konfigürasyonuna geçebilirsiniz. İlk olarak CA sertifikasını, sunucu sertifikasını ve anahtarını, HMAC imzasını ve Diffie-Hellman dosyasını kopyalamanız gerek. Bunun için aşağıdaki komutu çalıştırabilirsiniz.

$ cd ~/openvpn-ca/keys

$ sudo cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn

Daha sonra örnek bir OpenVPN konfigürasyon dosyasını kendi konfigürasyonumuz için kullanabilirsiniz. Aşağıdaki komutla dosyayı kopyalayıp ve zip içerisinden çıkartabilirsiniz.

$ gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Şimdi bu dosyayı düzenlemeye başlayabilirsiniz. Dosyayı düzenlemek için:

$ sudo nano /etc/openvpn/server.conf

Komutunu çalıştırın. Bu dosya içerisinde hâli hazırda düzenlenmiş fakat aktif olmayan satırlar mevcut. Bunları aktifleştirmek için başlarındaki ; işaretini kaldırmanız gerekmektedir.

İlk olarak aşağıdaki satırı düzenledikten sonra, altına key-direction 0 satırını eklemeniz gerekmektedir.

Daha sonra, faal olmayan durumdaki Cipher satırlarını bulup, baştaki ; işaretini kaldırarak cipher AES-128-CBC yazan satırı aktifleştirebilirsiniz. Hemen altına ise; auth SHA256 yazan bir satır eklemeniz gerekmektedir.

Bundan sonraki adımda ise ;user nobody ;group nobody yazan satırları bulup başlarında noktalı virgülü kaldırmanız gerekmektedir.

Şimdi sıra DNS ayarlarını yapmakta. Düzenlediğimiz dosyada ;push “redirect-gateway def1 bypass-dhcp” yazan satırı ve ;push “dhcp-option DNS 208.67.222.222” ;push “dhcp-option DNS 208.67.220.220” yazan satırları bulup başlarındaki noktalı virgülü kaldırmanız gerekmektedir.

OpenVPN normal şartlar altında 1194 portunu kullanarak bağlantı sağlamakta. Fakat eğer 1194 portuna erişimi engelleyen bir ülkede yaşıyorsanız port ve proto satırını aşağıdaki şekilde düzenlemeniz gerekmekte. Biz bu aşamada 486 numaralı portu kullandık, dilerseniz bu aşamada farklı portlarla da erişim sağlayabilirsiniz.

port 486

En son CTRL+X, ardından Y ve Enter kombinasyonu ile yaptığımız değişiklikleri kaydederek editörden çıkıyoruz.

Adım 9:

Şimdi sıra IP Forwarding’ e izin vermekte. Bunun için ilk olarak:

$ sudo nano /etc/sysctl.conf

Komutu ile düzenlenmemiz gereken dosyayı açıyor ve #net.ipv4.ip_forward=1 yazan satırın başındaki # işaretini kaldırarak ilgili satırı aktifleştirebilirsiniz. Daha sonra aynı şekilde değişiklikleri kaydederek editörden çıkabilirsiniz.

Adım 10:

Şimdi kullanıcı tarafındaki konfigürasyonu gerçekleştireceğiz. Bunun için ilk olarak Client Config klasörünü oluşturmanız ve izinleri düzenlemeniz gerekmektedir.

$ mkdir -p ~/client-configs/files

$ chmod 700 ~/client-configs/files

Daha sonra oluşturduğunuz bu klasöre, temel konfigürasyonu kopyalayıp ve Nano ile düzenleyebilirsiniz.

$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf

İlk olarak resimde görülen my-server-1 1194 isimli kısmı silip kendi sunucumuzun IP adresini ve belirlediğimiz portu yazmanız gerekmekte. Bu doküman için 486 numaralı portu kullandığınız için IP Adresi 486 şeklinde yazacağız.

Daha sonra alttaki resimde görülen user nobody ve group nogroup satırlarının başında noktalı virgülü silerek bu satırları aktifleştirebilirsiniz.

Ek olarak kendi yarattığımız .ovpn dosyasını kullanacağımız için ca ca.crt, cert client.crt ve key client.key satırlarını başına # ekleyerek devre dışı bırakmanız gerekmektedir.

Bunların altına ise; daha önce konfigüre ettiğimiz şekilde cipher AES-128-CBC ve auth SHA256 satırlarını ekleyebilirsiniz. Son olarak altına key-direction 1 satırını ekliyorsunuz. Yaptığınız değişiklikleri kaydederek çıkış yapabilirsiniz.

Adım 11:

Bu aşamada konfigürasyon türetme scripti hazırlayacağız. Bunun için aşağıdaki komutu çalıştırmanız ve açılan editörde verilen kod dosyasını ekleyerek kaydetmeniz gerekmektedir.

$ nano ~/client-configs/make_config.sh
#!/bin/bash

# First argument: Client identifier

KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} \
    <(echo -e '<ca>') \
    ${KEY_DIR}/ca.crt \
    <(echo -e '</ca>\n<cert>') \
    ${KEY_DIR}/${1}.crt \
    <(echo -e '</cert>\n<key>') \
    ${KEY_DIR}/${1}.key \
    <(echo -e '</key>\n<tls-auth>') \
    ${KEY_DIR}/ta.key \
    <(echo -e '</tls-auth>') \
    > ${OUTPUT_DIR}/${1}.ovpn

Aşağıdaki komutu çalıştırarak bu dosyayı çalıştırılabilir hale getirebilirsiniz:

$ chmod 700 ~/client-configs/make_config.sh

Bu dosya sayesinde konfigürasyon dosyalarını kolaylıkla oluşturabilirsiniz. Örnek olarak aşağıdaki komutla client1 için gerekli dosyaları oluşturalım.

Not: Bu işlemi VPN kullanacağınız her bir cihaz için tekrarlamalısınız.

$ cd ~/client-configs

$ ./make_config.sh client1

Tebrikler, gerekli tüm dosyaları oluşturdunuz. Şimdi oluşturduğunuz .ovpn uzantılı dosyayı kullanarak istediğiniz gibi kendi VPN sunucunuzu kullanabilirsiniz.

OVPN Dosyası Nasıl Transfer Edilir?

Bu işlem için FileZilla isimli programı kullanabilirsiniz. FileZilla isimli programa ait son sürümü https://filezilla-project.org/ adresinden indirebilirsiniz.

FileZilla’yı çalıştırdığınız zaman üst tarafta Sunucu Erişim Bilgilerinin yazıldığı alanı göreceksiniz.

Bu alana maille size iletilen giriş bilgilerini girdikten sonra, Port için 22 yazarak Enter’a basabilirsiniz. Sağ taraftaki pencerede göreceğiniz alanda sırasıyla client-configs / files klasörüne girin ve client1.ovpn isimli dosyaya sağ tıklayarak İndir’e basın.

Bu dosyayı daha sonra OpenVPN içerisinde kullanacaksınız.

OpenVPN Nasıl Kurulur?

OpenVPN’in son sürümünü https://openvpn.net/ adresinden indirebilirsiniz. Kurulumdan sonra OpenVPN’in kurulu olduğu dizinde Config klasörü içerisine indirdiğiniz .ovpn uzantılı dosyayı kopyalamanız gerekmektedir.

Daha sonra OpenVPN GUI isimli kısayola sağ tıklayarak Yönetici Olarak Çalıştır veya Run As Adminstrator seçeneğini seçin. Eğer, her şey yolunda gittiyse sağ alt tarafta yeşile dönmüş aşağıdaki ikonu göreceksiniz.

Tebrikler, artık kendi VPN sunucunuza sahipsiniz!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

cPanel DNS Zone Yönetimi Nasıl Yapılır?

Daha fazla trafik dönüşümü için etkili 5 SEO ipucu