OpenVPN Kurulumu - Kendi VPN Sunucunu Kur

OpenVPN Kurulumu - Kendi VPN Sunucunu Kur

Son Güncellenme: 10 Haziran 2021

Birçok kişi kendi VPN sunucusunu kurmanın kompleks ve meşakkatli bir işlem olduğunu düşünse de, aslında bu işlem düşünüldüğü kadar karmaşık değildir.

Bu yazı sonunda OpenVPN nasıl kurulur ve aşağıdaki konular hakkında bilgi sahibi olacaksınız.

DigitalOcean VPN Sunucu Kurulumu

Her ne kadar OpenVPN'in kendisi ücretsiz VPN server olsa da, VPN sunucusu kurma işlemi için bir sunucu kiralamanız gerekiyor. Ben bu yazıda DigitalOcean'dan 5 dolara kiralayacağınız bir Ubuntu sunucuda OpenVPN kurulumu nasıl yapılır onu anlatacağım. Başka bir VPS kullanıyorsanız, OpenVPN server kurulumu kısmına geçebilirsiniz.

Daha önceden hiç VPS kiralamadıysanız, ilk kez kayıt olduğunuzda size 60 gün içinde harcayabileceğiniz karşılıksız 100 dolar veren kayıt olma linki aracılığı ile DigitalOcean'a üye olabilirsiniz.

DigitalOcean'a kayıt olduktan sonra, sağ üstte yer alan Create butonuna basıp, ardından Droplets yazısına tıklayarak droplet oluşturma kısmına gelebilirsiniz.

Droplet oluşturma sayfasında, 2025 yılına kadar aktif olarak desteklenecek bir Ubuntu sürümü olan Ubuntu 20.04'ü işletim sistemi olarak seçin.

Sonrasında, aşağıda yer alan planların yer aldığı sliderdan en düşük plan olan 5 dolarlık planı seçebilirsiniz. Daha iyi bir planı seçmek size kalmış, ama VPN server performansı açısından çok bir şey değiştirmeyecektir.

Ardından, VPN kurulumu yapacağınız lokasyonu seçmeniz gerekiyor. Eğer ABD IP'si ile işlem yapmak istiyorsanız, lokasyon seçimini ABD'den yapmalısınız. Diğer yandan Avrupa'dan seçim yapacaksanız 2021 yılında Amsterdam, Londra veya Frankfurt seçenekleri mevcut.

Lokasyonun Türkiye'ye yakın olması bağlantı hızı açısından önemli olduğu için, kararsız kalmanız durumunda Frankfurt'u seçebilirsiniz.

Son olarak en aşağıda yer alan Create Droplet butonuna basarak VPN'i kuracağımız sunucuyu oluşturabilirsiniz. Siz dropleti oluşturduktan sonra, email adresinize sunucunun IP adresi ve root kullanıcısı için şifre gelecektir.

OpenVPN Server Kurulumu

VPN kurulumu için öncelikle mail adresinize gelen sunucu IP adresi ve şifre ile sunucuya bağlanmanız gerekmektedir. Mac veya Linux tabanlı bir işletim sistemi kullanıyorsanız, direkt olarak terminal aracılığı ile SSH bağlantısı yapabilirsiniz.

$ ssh [email protected]_IP_ADRESI

Windows kullanıyorsanız PuTTY kurulumu yaparak aynı işlemleri yapabilirsiniz. PuTTY'yi bu link aracılığı ile indirebilirsiniz. Programı yükledikten sonra, sunucunuza bağlanmak için, Host Name for IP address kısmına sunucu IP'nizi yazıp Open butonuna basmalısınız. Karşınıza çıkan pencerede Yes'e basıp, komut isteminde login as kısmına root yazıp Enter'a basmalısınız. Sonrasında PuTTY size şifrenizi soracaktır. Bu aşamada şifrenizi yazıp Enter'a basmanızın ardından sunucuya bağlanmış olacaksınız. Bunlar biraz karmaşık geldiyse, aşağıdaki YouTube videosunu seyredebilirsiniz.

Suncuya bağlandıysanız, artık OpenVPN kurulumu aşamasına geçebiliriz. OpenVPN'i Github üzerinden, birçok komutu tek bir shell dosyasında toplayan ufak script'ten faydalanarak yükleyeceğiz. Bunun haricinde, sunucunun güvenliğini arttırmak için birkaç önlem alacağız. OpenVPN'i, aşağıdaki komut ile yükleyebilirsiniz. Birkaç soru soracak ki hepsi gayet açık, değiştirmek istediğiniz bir şey yoksa, hepsini Enter ile geçebilirsiniz, en sonunda, client'ın kullanabileceği, eğer adını değiştirmediyseniz client.ovpn dosyasını üretecek.

$ mkdir ~/openvpn
$ cd ~/openvpn && wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Bunu yapınca yükleme işlemi bitiyor. Her farklı client (kullanıcı) için, tekrardan bash ~/openvpn/openvpn-install.sh komutunu çalıştırmanız ve karşınıza çıkan soruya 1 numaralı cevabı (Add a cert for a new user) vermeniz yeterli olacak.

Mac veya Linux tabanlı bir işletim sistemi kullanıyorsanız, VPN'e bağlanırken gerekli olan bu client dosyasını bilgisayarınıza kaydetmek için aşağıdaki komutu çalıştırın (~/Downloads klasörüne kayıt edecektir).

$ scp [email protected]_IP_ADRESI:~/client.ovpn ~/Downloads/

Windows kullanıyorsanız ve PuTTY ile bağlandıysanız VPN'e bağlanırken gerekli olan client dosyasının içeriğini görüntülemek için aşağıdaki komutu çalıştırın. Ardından karşınıza çıkacak olan çıktının client kısmından en aşağıya kadar olan kısmını kopyalayarak (sol mouse click ardından seçmeniz gerekli olan kısmı seçin), kopyalanan içeriği kendi bilgisayarınızda oluşturacağınız client.ovpn adlı bir dosyaya yapıştırabilirsiniz.

$ cat ~/client.ovpn

OpenVPN Kullanımı

Android, iOS, Windows, macOS ve Ubuntu 20.04 için OpenVPN nasıl kullanılır sorularının cevabını aşağıda bulabilirsiniz.

Her işletim sisteminde uygulamanız gereken işlem ise aynı. Yüklediğiniz programda Import From File veya Import File gibi bir seçeneği bulup, client.ovpn dosyasını seçmeniz gerekiyor.

Android ve iOS

OpenVPN Connect uygulamasını indirmeniz yeterli olacaktır.

Windows

Windows tabanlı bir işletim sistemi kullanıyorsanız, Windows için OpenVPN Client programını indirebilirsiniz. Programın oldukça basit bir arayüzü var. Programı açtıktan sonra Import From File kısmına basıp, bir önceki aşamada oluşturduğunuz client.ovpn dosyasını seçmeniz gerekiyor.

macOS

macOS için VPN kullanacaksanız Tunnelblick kurmanız gerekiyor. Bu program OpenVPN tarafından resmi olarak desteklenmemekte, ancak açık kaynaklı olduğu için rahatlıkla güvenebilirsiniz. Kullanımı da yine basit.

Ubuntu 20.04

Ubuntu'da VPN kullanacaksanız, kendi bilgisayarınızda OpenVPN client programını yüklemeniz gerekiyor.

$ sudo apt install openvpn

VPN'i başlatmak için, aşağıdaki komutu çalıştırmanız gerek. Çalıştığından emin olmak için, IP adresinizi IP adresi bulma aracından kontrol edebilirsiniz.

$ sudo openvpn --config ~/Downloads/client.ovpn

Sık kullanacağınız için bunu alias olarak kaydedebilirsiniz.

$ nano ~/.bash_aliases

Karşınıza gelen dosyaya aşağıdaki satırı ekleyip, CTRL + X ve Y ile kaydettikten sonra source ~/.bashrc komutunu çalıştırırsanız, terminalinizde vpn yazdığınızda VPN bağlantınız başlayacaktır.

alias vpn='sudo openvpn --config ~/Downloads/client.ovpn'

VPN Server Güvenliği

Bu kısmı uygulayıp uygulamamanız tamamen opsiyoneldir, sunucunuzu biraz daha güvenli hale getirebilmek için fail2ban kurabilirsiniz.

Diğer yandan, SSH anahtarı kullanmıyorsanız, şifrenizin yeteri kadar güvenli olmasına dikkat edin. Güvenli şifre oluşturmak için şifre oluşturucu gibi araçları kullanabilirsiniz.

fail2ban ayarları

fail2ban ile sunucumuzu biraz daha güvenli hale getirebiliriz. Bunun için fail2ban internet sitesindeki rehberi takip edebiliriz.

$ apt install fail2ban
$ nano /etc/fail2ban/filter.d/openvpn.local

Burada yaptığımız işlem fail2ban için varsayılan olarak gelmeyen OpenVPN filterisini oluşturmak oluyor. Eğer fail2ban OpenVPN loglarında aşağıdakine benzer bir kayıt bulursa, bunların VPN'e yönelik atak olduğunu anlıyor ve bir sonraki adımda da direktifini ekleyeceğimiz üzere, bu IP'leri banlıyor.

[Definition]

failregex = <HOST>:\d+ (Connection reset, restarting|TLS Error: TLS handshake failed|Fatal TLS error|VERIFY ERROR|WARNING: Bad encapsulated packet length)
ignoreregex =

Son olarak bu direktifi fail2ban'a tanıtacağız.

$ nano /etc/fail2ban/jail.d/openvpn

Dosyaya aşağıdaki kısmı ekleyin ve fail2ban'ı service fail2ban restart komutu ile tekrar başlatın. Yeşil bir ok yazısı görürseniz, herhangi bir probleminiz yok demektir.

[openvpn]
enabled = true
port = 1194
protocol = udp
filter = openvpn
logpath = /var/log/openvpn.log
maxretry = 3

Sonuç

Görüldüğü gibi, her ne kadar uğraşlı gibi görünse de, kendi VPN sunucunuzu kurmak en fazla 10 dakikanızı almaktadır.

Kurulumun ardından yaşayabileceğiniz tek olası problem, Google'ın kullanmış olduğunuz sunucuya ait IP adresini banlamış olması olabilir. VPN açık iken Google aramalarınızda, sıra dışı bir trafik ile ilgili bir mesaj ve CAPTCHA ile karşılaşırsanız, yukarıdaki adımları bir başka sunucuda tekrarlayıp, yeni kurulum yapmanız gerekir.


Yazar: Timur Özçelik

Timur Özçelik, uzun yıllar çeşitli platformlarda teknoloji üzerine içerik ürettikten sonra, 2021 yılında Güvenli Sörf için yazmaya başlamıştır. Özgür yazılımı savunan ve gizliliğe önem veren Timur, tutkulu bir Ubuntu kullanıcısıdır.