Loading...

“Kendi Bağlantım” İle Kendi VPN Sunucunuzu Kurun

Omer Citak

Bildiğiniz üzere Wikipedia gibi faydalı birçok siteye erişim engelli. Bunun gibi ülkemizde engellenmiş sitelere erişebilmek için birden fazla yöntem mevcut. Bu yöntemlerden biri de VPN.

Ancak ülkemizde VPN’ler doğru bir biçimde kullanılmıyor. VPN’nin ne olduğu, nasıl çalıştığı bilinmiyor. Durum böyle olunca internette yasaklı sitelere erişelim derken tüm trafiğimizi güvenmediğimiz kişi veya kuruluşlara teslim etmiş oluyor.

O yüzden bu yazımızda “VPN nedir?”, “Nasıl çalışır?” gibi soruları yanıtlamakla birlikte çok kolay bir şekilde kendi VPN’inizi kurup internette nasıl güvende olacağınızı anlatacağım.

VPN Nedir?

VPN’nin açılımı Virtual Private Network, yani “Sanal Özel Ağ”dır. VPN’ler; kişi veya kuruluşlar tarafından kurulan bir iç ağdır. Bazı durumlarda bu iç ağa, dışardan dahil olunmasına izin verilir.

Daha net anlaşılması için bir örnek vereyim. Gidip herhangi bir İnternet Servis Sağlayıcısı (ISP) ile anlaşıp evinize internet bağlattınız. ISP’nin sizin için tahsis ettiği IP adresi X.X.X.X olsun. Bu IP adresi, sizin hattınıza atanmış IP adresidir. Dolayısı ile sizin evinizden herhangi bir cihaz ile internete çıkıldığında IP adresiniz X.X.X.X olarak gözükecektir.

Ama aynı zamanda modeminizin broadcast (yayın yapan cihaz) olduğu, evinizdeki akıllı telefonların, bilgisayarların, akıllı televizyonların kısacası internete ihtiyaç duyan tüm cihazların bağlandığı bir iç ağınız var. Bu iç ağınızın broadcast cihazı modeminiz olduğundan modeminiz; ağa bağlanan tüm cihazlara sadece iç ağınızda geçerli olacak birer IP adresi tahsis eder. Bu IP adresleri, broadcast’iniz yani modeminiz ile aynı aralıkta olmalıdır. Genelde modemin IP adresi 192.168.1.1 olur ve ağa bağlı cihazlara sırası ile 192.168.1.2, 1.3, 1.4 gibi IP adreslerini verir. Burada modemim birden fazla rolü var. Router, DHCP server gibi. Broadcast kısmı aslında tüm cihazların eşit olduğu bir iletişim modeli. Yani soru sorulup yanıt alınan bir protokol. Modemi burada kural koyucu yapan onun Router ve DHCP sunucusu olması aynı zamanda.

Modemin iç ağda cihazlara atadığı bu IP adresleri, cihazınızın sadece yerel ağda kullandığı IP adresleridir. Cihazınız internete çıkmak istediğinde gönderdiği TCP/IP paketi internete çıkarken önce modem’e uğrar sonrasında da ISP’nin size tahsis ettiği IP adresi paketin kaynağı olacak şekilde alıcısına teslim edilir. Yani evinizdeki ağa bağlı akıllı telefonunuzun da bilgisayarınızın da IP adresi internet üzerinde aynıdır.

Buraya kadar özet bir biçimde evinizdeki ağın nasıl çalıştığını anlatmaya çalıştım. Dikkat ederseniz daha VPN’e gelmedik.

Şimdi, evinizdeki bir bilgisayara bir web sunucusu (Örneğin Apache) kurup, HTTP taleplerine yanıt verecek hale getirdiğinizi varsayalım. Bu bilgisayarınız artık bir hem bir “istemci”, hem de bir “sunucu” oldu. Sunucu oldu çünkü artık taleplere yanıt verebilir hale geldi. Üzerine bir web sunucusu kurulmadan önce taleplere yanıt verebilecek bir mekanizması olmadığından sadece “istemci” pozisyonunda idi.

Web sunucunuza gel zaman git zaman birçok dosyanızı koydunuz ve sizin eliniz ayağınız oldu. Hatta bununla yetinmediniz, yerel ağınıza 2-3 sunucu daha kurdunuz. Daha net anlaşılsın diye yerel ağınızdaki sunucularınıza IP tahsis edelim:

  • 1. sunucu: 192.168.1.21
  • 2. sunucu: 192.168.1.22
  • 3. sunucu: 192.168.1.23

Artık yerel ağınızda bilgisayarınızın tarayıcısında adres çubuğuna cihazlarınızın IP adreslerini yazarak sunucularınıza erişebiliyor, istediğiniz bilgiye rahatça erişebiliyorsunuz.

Zaman 3 adet olan sunucularınız 5, 10, 15 oldu. Artık hangi sunucu hangi bilgileri tutuyordu sorusunu unutmaya başlıyorsunuz. Hop kafanızda yanan bir ampül ile bu sunuculara birer “domain” yani alan adı tahsis ettiniz.

Artık tarayıcınızın adres çubuğuna IP adresi yazmak yerine, “okul”, “aile”, “oyun” gibi alan adları yazarak sunucularınıza erişebiliyorsunuz. Ne kadar güzel bir sistem kurduk değil mi? Tıpkı internet gibi! İnternet de aslında sunucuların birbirine bağlı olduğu, her bir sunucunun ve istemcinin birer IP adresi sahibi olduğu bir ağ. Siz de evinizde tıpkı internet gibi bir ağ oluşturdunuz. Bu ağ sizin size ait olduğundan mütevellit “size özel ağ”, yani VPN olmuş oldu.

Bunların üzerine bir gol de iş yerinizden geldi. Size dediler ki; “ey falanca, biz senin için iş dosyalarının olduğu bir sunucu kurduk. IP adresi şudur. Ancak unutma, sadece senin IP adresinden gelen taleplere yanıt verecek”. Yani iş yeriniz, sadece ISP’nin size tahsis ettiği IP adresinden ziyaret edebileceğiniz bir sunucu kurdu.

Yukarıdaki örnekten devam edecek olursak, işiniz gereği uzun süre yurt dışına çıkmak zorunda kaldığınızı varsayalım. Hayda, e ama sizin okul, aile, oyun dosyalarınız hep yerel ağınızdaki sunuculardaydı. Bu sunucular yerel ağda olduğundan uzaktan erişim yetkiniz de yok. Ne yapacaksınız?

Sunuculara modemden port yönlendirmesi ile (NAT yöntemi) internete mi açacaksınız? Yok yok hayır bu olmaz, böyle yaparsanız tüm dosyalarınızı internete açmış olursunuz. Sizin erişebildiğinize herkes erişir.

Her sunucuya uzaktan erişim için ek yazılımlar mı kuracaksınız? Yok bu da olmaz. Okul, aile oyun sunucularına erişebilirsiniz ancak iş yerinizden sadece sizin IP adresiniz ile erişebileceğiniz uzak sunucuya erişemezsiniz.

Yapmanız gereken şey şudur: uzaktan kendi yerel ağınıza dahil olmak. Bunun için kullanabileceğiniz özgür yazılımlar mevcut. Örneğin en popüler özgür VPN yazılımı olan OpenVPN’nin sunucu uygulamasını yerel ağınızdaki cihaza kurduğunuz vakit, uzaktan yerel ağınıza bağlanabileceksiniz. Bu şekilde yerel ağdaki sunucularınıza erişebileceksiniz.

Aynı zamanda uzaktan yerel ağa bağlanmak için gönderdiğiniz her talep internete çıkmadan önce bu yerel ağa gelecek, bu yerel ağdan internete çıkacak. Böylelikle iş yerinden sizin için açılan sunucuya talepte bulunduğunuzda talebiniz sizin VPN’inizden çıkacağı için iş yerindeki sunucunuza da erişebileceksiniz.

VPN dediğimiz olayın aslı budur. Yerelde bir ağ kurarsınız, o ağdan yapılabilecek işleri yapabilmek için o ağa dahil olursunuz. Böylelikle o ağa dahil olduğunuzda internete çıkması gereken her talep bağlı olduğunuz uzak yerel ağ (VPN) üzerinden internete çıkar.

Yasaklı sitelere girmek için de bu mimariyi birebir kullanıyoruz. Öncelikle Wikipedia veya girmek istediğimiz sitenin yasaklı olmadığı bir ülkede çok cüzi miktarlara sunucu kiralıyoruz, kiraladığımız sunucuya gerekli yazılımlarını kuruyoruz ve ağımıza bağlanıyoruz. Sonrasında Wikipedia’ya erişmek istediğimizde talebimiz öncelikle bağlı olduğumuz VPN’e gidip oradan Wikipedia’ya gideceğinden herhangi bir yasak olmadan Wikipedia’ya erişmiş oluyoruz.

Güvenli Bağlantım, internet erişiminize müdahaleleri engellemek, hız kaybı yaşamadan güvenli bir şekilde şifreli bağlantı sağlamak için kendi VPN kurulumunuzu yapmanızı size öğreten bir web sitesidir. Tamamen özgür yazılımları kullanarak bir VPN kurup, kurduğunuz VPN’e bağlanıp internette güvenli ve özgürce gezinmenize yardımcı olmaktadır.

Şimdi ise Kendi Bağlantım üzerinden kendi VPN’inizi nasıl kuracağınızı anlatacağım. Bu bölüm üç ayrı başlıktan oluşacak. Bu başlıklar aşağıdaki gibi olacak:

  • Sunucu kiralama
  • Sunucu ve OpenVPN kurulumu
  • Bilgisayarlar için bağlantı ve program Ayarları

Bu adımların sonunda internette özgür ve güvenli şekilde dolaşıyor olacaksınız. Wikipedia gibi bir ansiklopedinin bile engellendiği bir coğrafyada yaşıyoruz. Yarın uyandığımızda yeni bir bilgi kaynağının daha engellendiğini öğrenmemiz çok yüksek bir ihtimal. İşte bu tarz engellemelere ve internette sansüre karşı VPN kullanın, kullandırın.

1. Sunucu Kiralama

Bu bölümde basitçe, bir sunucu nasıl kiralanır onu anlatacağım. Hem kolaylığı hem güvenilirliği açısından sunucuyu DigitalOcean sitesinden kiralayacağız.

Öncelikle ilk adım olarak digitalocean.com’a kaydolup, kredi kartınızı tanımlamanız gerekiyor. Tavsiyem limitini sürekli 0TL tuttuğunuz, sadece alışveriş yapacağınız zaman limitini güncellediğiniz bir sanal kredi kartı bağlamanız.

Öncelikle yukarıdaki görseldeki göründüğü üzere sitenin sağ üst tarafında bulunan arka planı yeşil olan “Create” butonuna tıklıyoruz. Açılan alt menüden “Droplets” seçeneğini seçiyoruz. Aslında Droplets’in Türkçe’si “damlacık”tır ancak DigitalOcean literatüründe “sunucu”ya karşılık gelmektedir. Hosting sağlayıcının adı okyanus olunca (ocean), bizim de payımıza bu okyanusta damla olmak düşüyor.

Yeni droplet oluşturma sayfasında ilk adım olarak sunucuya kurulucak Linux dağıtımını seçmemiz gerekiyor. En solda bulunan Ubuntu’nun 14.04.5 x64 sürümünü seçin.

Ardından sunucunun kapasitesine ait paketi seçeceğiz. Ayda 5 dolar olan, en solda bulunan paket bizim işimizi görecektir.

Bu adımda ise sunucunun lokasyonunu seçeceğiz. Seçenekler arasında Frankfurt bizim için en mantıklı olan lokasyon. Zira fiziksel olarak Türkiye’ye en yakın lokasyon olduğundan diğer lokasyonlara göre daha hızlı internette gezinebileceksiniz.

Son olarak en aşağıdaki bölümde sol tarafı “1 Droplet” olacak şekilde bırakarak 1 tane sunucu açmak istediğimizi belirtiyor ve sağ tarafta sunucumuzun ismini yazıyoruz. Ben isim olarak “frankfurt-vpn”i seçtim.

Ve sunucu saniyeler içerisinde oluşturulup, erişim bilgileri bize mail olarak geldi!

Bu bölüm bu kadardı. Sıradaki bölüme geçelim.

2. Sunucu ve OpenVPN Kurulumu

Öncelikle DigitalOcean’dan bize gelen maildeki bilgiler ile sunucumuza uzaktan SSH bağlantısı yapmamız gerekiyor. Bunun için bilgisayarımızda kullanmamız gereken bir terminal ve SSH yazılımına ihtiyacımız var. Linux ve MacOS kullanıcıları doğrudan terminallerini kullanabilirler ancak Windows kullanıcıları, Windows ile birlikte gelen “Powershell”i kullanmalıdırlar.

Windows arama çubuğuna “Powershell” yazarsanız Powershell karşınıza gelecektir. Powershell’i açtıktan sonra aşağıdaki komutu yazıp Enter’a basın.

ssh [email protected]{mailde_gelen_ip_adresi}

Yukarıdaki komut ile sunucumuza SSH bağlantısı yapacağız. Komutu yazıp uyguladıktan sonra bizden parola isteyecektir. Parolanız yine DigitalOcean tarafından gönderilen mailde mevcut. Parolayı mailden kopyalayıp, Powershell üzerinde farenin sağ düğmesine bir tık yaparsanız parolanız Powershell’e yapıştırılmış olacaktır. Ancak dikkat edin, bu ve sonraki parola adımlarında yazdığınız parola görünmez. O yüzden bir kere sağ tık yapmanız yeterli. Yapışmadı hissiyatına kapılarak iki üç kere yapıştırmaya çalışmayın 🙂

İlk adımda bizden sunucuya erişim parolamızı istiyordu. Sonraki iki adımda ise ilk girişimiz olduğundan yeni bir parola belirlememizi istiyor. Zor, kimselerin tahmin edemeyeceği bir parola koyun. (Güvenli bir parola oluşturmak ve saklamak için dergimizin bu sayısında yayınlanan Parolalarınızı Tek Bir Yerden Yönetin: KeePassXC yazısını tavsiye ederiz.)

Ve ardından nihayet sunucumuza bağlanmış olduk.

Şimdi ise ilk iş olarak sunucuda depo ve yazılımları güncelleyeceğiz.

apt-get update && apt-get upgrade

Yukarıdaki komutu yazıp uyguladığınızda bir süre beklemeniz gerekecek. Bu bekleme sonunda tüm uygulamalar ve depolar güncellenmiş olacak.

Gelelim OpenVPN’in kurulumuna.

Normalde OpenVPN’in kurulumu biraz karmaşık ama bir Özgür Yazılım gönüllüsü bu adımları kolaylaştıracak bir kod yazıp bunu GitHub’da paylaşmış. Biz de bu arkadaşın yazdığı araçtan faydalanacağız.

GitHub adresi: https://github.com/nyr/openvpn-install

GitHub sayfasında da bulunan bu aracı kullanmak için çalıştırmamız gereken bir komut var.

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Bu komutu terminale yazıp uyguladığımız vakit aşağıdaki görseldeki gibi bir çıktı ile karşılaşacağız.

  1. IP Adress: Sunumuzun IP adresini soruyor. Otomatik olarak doldurulmuş geldiğinden Enter’a basın.
  2. Protocol: UDP’yi seçin.
  3. Port: VPN’e bağlanmaya çalıştığınız ağda VPN portu engellenmiş olabilme ihtimaline karşın 443 yazın. 443’ü kimse engellemek istemez.
  4. DNS: Google DNS’i seçin.
  5. Client Name: Sunucuya bağlanacağınız cihazın ismini girin. Örneğin “ev-bilgisayarim”

Bu adımlar sonucunda aşağıdaki gibi bir çıktı ile karşılaşacaksınız.

Yukarıdaki görselde de göründüğü üzere ev bilgisayarınızdan VPN’inize bağlanmanız için gerekli dosyayı “/root” dizini altında “ev-bilgisayarim.ovpn” adı ile oluşturdu.

Birden fazla cihazdan VPN’inize bağlanmak istiyorsanız yukarıdaki komutu tekrar çalıştırıp, istediğiniz kadar cihaz için “ovpn” uzantılı bağlantı dosyası oluşturabilirsiniz.

Şimdi ise oluşturduğumuz “.ovpn” uzantılı bağlantı dosyasını bilgisayarınıza aktarmanız gerekiyor. Bunun için “PuTTY SCP Client” yazılımını kullanacağız.

Yazılımı putty.org sitesindeki “Download” sayfasından indirebilirsiniz. Dikkat edin, aşağıdaki görseldeki gibi “pscp.exe” nin size uygun olan versiyonunu indirmelisiniz.

İndirdikten sonra Powershell üzerinden Windows’un “Downloads” dizinine geçip, sunucudan dosyayı kopyalamak için ihtiyacımız olan komutu yazacağız.

cd .\Downloads\

Komutu ile “Downloads” dizinine geçtik.

.\pscp.exe [email protected]:ev-bilgisayarim.ovpn C:\Users\omer\Desktop\ev-bilgisayarim.ovpn

Komutu ile sunucudaki “ev-bilgisayarim.ovpn” dosyasını bilgisayarımızın Desktop dizinine indirmiş olduk.
Bu komutu yazdıktan sonra size anahtarı cache’de saklamak isteyip istemediğinizi soracak, “y” harfine basıp onaylayın.

Hemen ardından sizden sunucu parolanızı isteyecek, parolayı girip uyguladığınız vakit “ev-bilgisayarim.ovpn” dosyası bilgisayarınıza inmiş olacak.

DİKKAT: Yukarıdaki komutu ben kendi bilgisayarıma göre yazdım. Sizin bilgisayarınızın dili farklı ise dizin isimleri farklılık gösterebilir. Ayrıca yine komutta ben kendi sunucumun IP adresini yazdım. Siz, sizin sunucunuzun IP adresini yazmalısınız.

3. Bilgisayarlar için Bağlantı ve Program Ayarları

Windows cihazımızdan, kurduğumuz VPN’e bağlanmak için OpenVPN istemcisine ihtiyacımız var. OpenVPN istemcisini indirmek için openvpn.net’in “Downloads” sayfasına gitmeliyiz (https://openvpn.net/index.php/open-source/downloads.html).

Sitedeki indirme sayfasına gittiğinizde yukarıdaki gibi bir görsel ile karşılaşacaksınız. İstemcinin en güncel sürümü olan 2.4.4’ün “Windows Installer”ını yani yukarıdaki görseldeki 4. sıradakini indiriyoruz.

Ardından indirdiğiniz Installer’ı çalıştırın ve kurulum aşamasında herhangi bir konfigürasyon yapmadan sırası ile “Next”, “I Agree”, “Next”, “Install” ve “Finish” butonlarına basın.

İstemci kurulumu bu kadar. Şimdi ise oluşturduğumuz VPN’e bağlanabilmek için, VPN sunucumuzdan kişisel bilgisayarımız için oluşturduğumuz “ev-bilgisayarim.ovpn” dosyasını OpenVPN istemcisine tanıtmamız gerekiyor.

Bunun için “ev-bilgisayarim.ovpn” dosyanızı bilgisayarınızdaki “C:\Users\{kullanici_adiniz}\OpenVPN\config” dizinine kopyalamalısınız. Misal benim bilgisayarımdaki kullanıcı adı “omer” ve “C:\Users\omer\OpenVPN\config” dizini şu şekilde görünüyor:

Bu adımı da gerçekleştirdikten sonra masaüstümüzde oluşturulmuş olan “OpenVPN GUI” adlı kısayolu çalıştırıyoruz. Çalıştırdıktan sonra bilgisayarımızın sağ altında, OpenVPN ikonu yer alacak. Aşağıdaki görseldeki gibi ikona sağ tıklayıp “Connect” demeniz gerekiyor.

Ve ardından Windows tarafından VPN’e bağlandığımıza dair bir bildirim alıyoruz.

Son kez kontrol edelim isterseniz, bilgisayarınızın görev çubuğun sağ tarafında bulunan OpenVPN ikonuna sağ tıklayarak “Show Status” seçeneğine tıkladığınızda aşağıdaki görselde işaretlediğim alandaki gibi “CONNECTED, SUCCESS” mesajını almış olmamız gerekiyor.

İşte VPN kurmak bu kadar basit! Kendi Bağlantım ve Arka Kapı dergisi, size yeni yılda internette bol bol özgür ve güvenli dolaşmanızı diler!