Özgür İnternet İçin Kendi VPN Server ini Kur !

Son günlerde ülkemiz sosyal medyaya uygulanan yasaklar ile ön plana çıkıyor. Peki nedir bundan kurtulmanın en kolay, kalıcı ve sorunsuz yolu?

Şu an tek çözüm gibi görünen ücretsiz VPN serverlar aşırı talebi kaldıramıyor. Buda internet hızının oldukça yavaşlamasına neden oluyor. Ayrıca ücretsiz VPN server kullanımının tehlikeli yanları da bulunmakta.

Bu yazımızda sizlere düşük maliyetle VPN server kurulumunu anlatacağım.

Öncelikle DigitalOcean sitesi üzerinden kendimize bir cloud server (VPS) kiralıyoruz. Bu sunucu üzerinden VPN haricinde şeyler de yapabilirsiniz. Kendinize web server kurarak sitelerinizi de yayımlayabilirsiniz. Kısacası size ait bir sanal makinanız var ne yapacağınız size kalmış.

ademsguide-vpn-kurulum

Kayıt sonrasında sizi aşağıdaki gibi bir ekran karşılayacak. Bu esnada e-posta adresinize yeni kayıt maili gelecek. Ayrıca hesabınızı doğrulamak için bir aktivasyon linki olacak. Linke tıklayarak hesabınızı aktif etmeniz gerekiyor.

ademsguide-vpn-kurulum

Başlamak için “Get Started” tuşuna basın.

ademsguide-vpn-kurulum-3

Bu aşamada kredi kartı bilgilerinizi kayıt edebileceğiniz bir form çıkıyor. Kredi kartınızdan bu aşamada para çekilmiyor. ADD CREDIT CARD butonuna tıklayarak kayıt edebilirsiniz veya sayfanın devamında bulunan paypal ödeme seçeneğini de kullanabilirsiniz.

ademsguide-vpn-kurulum-4

Paypal tercih ederseniz, aşağı açılır menüden yüklemek istediğiniz kredi tutarını seçip “Pay Now” tuşuna basın. Açacağımız sunucunun aylık maliyeti 5$’dır. Eğer ilk etapta denemek istiyorsanız 5$ kredi yüklemeniz yeterli olacaktır. “Pay Now” tuşuna bastığınızda PayPal sayfalarına yönlendirileceksiniz. Kredi yükleme işleminiz bittiğinde tekrar Digital Ocean’a yönlendirileceksiniz. PayPal kredi yükleme adımlarını burada işlemeyeceğim.

ademsguide-vpn-kurulum-5

Kredi kartınızı başarıyla tanımladığınızda ya da PayPal üzerinden kredi yüklediğinizde yukarda görmüş olduğunuz ekrana ulaşacaksınız. Bu ekranda yer alan “Create Droplet” tuşuna basarak sunucumuzu oluşturmaya başlayabiliriz.

ademsguide-vpn-kurulum-6

“Create Droplet” tuşuna bastığınızda yukardaki ekranla karşılaşırsanız Digital Ocean hesabınızı doğrulamak için ekstra bir işlem yapmanızı istiyor demektir. Ekranda gördüğünüz “Fill out the form” tuşuna basın. Aşağıya doğru bir form açılacaktır.

ademsguide-vpn-kurulum-7

Bu formda sırasıyla tam adınız, konumunuz (ülke), telefon numaranız, sunucunuzu hangi amaçla kullanacağınız ve web siteniz ya da sosyal medya hesaplarınıza bağlantı soruluyor. Sunucunuzu hangi amaçla kullanacağınız sorusuna “I’ll use my droplet for VPN” yazıp, diğer alanları da doldurup formu gönderebilirsiniz. Formun iletildiğine dair bir ekran karşınıza çıkacak ve e-posta adresinize destek masasına konunun iletildiğine dair bir e-posta gönderilecek. Bir süre sonra bir yetkili bu bilgiler ışığında hesabınızı onaylayacaktır.

Hesabınız onaylandıktan sonra bir sonraki aşamaya geçebileceksiniz.

ademsguide-vpn-kurulumu-8

Aktivasyon tamamlandıktan sonra “Create Droplet” tuşu sizi yukardaki ekrana taşıyacaktır. Burada Hostname bölümüne sunucuya vermek istediğiniz ismi yazın. Select Size kısmında ilk seçenek olan 512 MB / 1 CPU … seçeneğini seçin. (Büyük ihtimal bu seçenek zaten seçili olarak gelecektir.)

ademsguide-vpn-kurulumu-9

Bu ekran sunucusunun hangi veri merkezinde kurulmasını istediğinizi soran ekrandır. Burada New York, San Francisco, Amsterdam ve Singapur seçeneklerinden birini seçebilirsiniz. Türkiye’ye daha yakın olmasından dolayı Amsterdam 1 ya da Amsterdam 2 tercih etmenizi önerebilirim.

ademsguide-vpn-kurulumu-10

Select Image bölümünde seçebileceğiniz bir çok Linux dağıtımı karşınıza çıkacaktır.. Daha sonra VPN kurulumunu da Ubuntu üzerinden anlatacağımdan dolayı bu aşamada Ubuntu 13.10 x64‘ü seçiyoruz.

ademsguide-vpn-kurulumu-11

Sunucunuzu oluşturmak için yeşil renkteki “Create Droplet” tuşuna basın. Bu işlem yaklaşık olarak 55 sn sürecek.

ademsguide-vpn-kurulumu-12

Bu süre sunucunun yoğunluğuna göre 55 saniyeden daha kısa da sürebilir. Sunucu oluşturma işlemi tamamlandıktan sonra sunucu bilgileri içeren bir mail alacaksınız.

ademsguide-vpn-kurulumu-13

ademsguide-vpn-kurulumu-14

Bu ekrana ulaştıysanız sunucunuzu başarıyla kurdunuz demektir. Sağ üstte yer alan “Console Access” tuşu ile sunucunuzun konsoluna tarayıcınız üzerinden bağlantı sağlayabilirsiniz.

Artık siz de bir sunucu linux sahibisiniz. VPN Server dışında linux sunucu ile yapılabilecek işlemleri kolaylıkla yapabilirsiniz.

Şimdi asıl amacımız olan VPN Server kurulum kısmına geçelim.

• pptp kurulumu ve ayarları (Point-to-Point Tunneling Protocol – Noktadan noktaya tünel protokolü)
• ufw kurulumu ve ayarları (The Uncomplicated Firewall, iptables da kullanılabilir fakat basit olması için ufw kullanacağız)
ademsguide-vpn-kurulumu-15

İlk olarak sunucunuzun yönetim ekranına girin. Yukarıdaki ekran görüntüsündeki gibi, sunucu isminizin hemen yanında yer alan “Console Access” tuşuna tıklayın.

Açılacak ekranda bir süre bekleyin. Orta kısımda siyah bir dikdörtgen belirecektir. Eğer bir süre beklediniz ve siyah dikdörtgen içinde hiç bir yazı karşınıza çıkmazsa, dikdörtgenin içine tıklayıp herhangi bir tuşa basın. Giriş bilgilerinizi soran bir ekran karşınıza çıkacaktır. Hesabınızla giriş yapın.
Giriş yaptıktan sonra ilk iş eğer yüklü değilse pptp ve ufw yüklemek olacak. Bunun için komut satırına aşağıdaki komutu yazın ve enter tuşuna basın.

sudo apt-get -y install pptpd ufw
Firewall kurduğumuz için ihtiyacımız olan portlara izin vermemiz gerekecek. Eğer sunucusunu başka işler için de kullanıyorsanız (örneğin web sunucusu, genelde port 80. MySQL sunucusu, genelde port 3306 gibi) bu portları da açmanız gerekcektir. Port açmak için kullanacağımız komut ufw allow komutudur. Biz 22 ve 1723numaralı portları açacağız. 22 SSH portudur, bu portu açmazsak sunucumuza tekrar konsol erişimi sağlayamayabilriiz. 1723 ise ppt protokolünün kullandığı porttur. Portlara izin verdikten sonra ufw enable komutu ile Firewall’u etkin hale getiriyoruz.
sudo ufw allow 22
sudo ufw allow 1723
sudo ufw enable
Sırada pptpd ayarları var. VPN sunucunuza erişecek işletim sistemleri ile ilgili ufak bir ayar yapmamız gerekiyor. Bunun için/etc/ppp/pptpd-options dosyasını düzenleyeceğiz. Favori metin editörünüz ile dosyayı açın. (Benimki nano, dosyayı açmak için sudo nano /etc/ppp/pptpd-options yazıp enter’a basıyorum.) İşletim sistemi gözetmeksizin bağlantı sağlayabilmek için bir kaç satırı geçersiz kılmamız gerekiyor. Bunun için satırları silebilirsiniz ama daha iyisi, satırların başında # işareti koyarak o satırın işlenmemesini sağlayabilirsiniz. Aşağıdaki satırları bulup başlarına # işareti koyun.

refuse-pap
refuse-chap
refuse-mschap

Hazır pptpd ayarlarıyla oynuyorken VPN’e bağlıyken kullanabileceğimiz DNS sunucularını da tanımlayalım. ms-dns ile başlayan satırları bulun, varsa başlarındaki # işaretlerini kaldırın ve DNS adreslerini girin. Google DNS’leri için örnek aşağıdaki gibi olmalıdır;
ms-dns 8.8.8.8
ms-dns 8.8.4.4

Dosyayı kaydedin ve metin editöründen çıkın. (Nano kullanıyorsanız dosyayı kaydetmek için CTRL-O (windows) ya da kntrl-O (mac) yapıp, üzerine yazayım mı sorusuna Evet/Yes cevabı verin. Çıkmak için de CTRL-X / kntrl-X tuş kombinasyonunu kullanabilirsiniz.)
Sırada /etc/pptpd.conf dosyasında yapacağımız ufak bir değişiklik var. Dosyayı metin editörünüz ile açın (Örn: sudo nano /etc/pptpd.conf) ve localip, remoteip değerlerinin yanındaki IP adreslerini silip, sunucunuzun IP adresini yazın. remoteip değerinde direkt sunucuzun IP adresi yerine IP adresinizin son hanesi için bir aralık verebilirsiniz. Sunucunuz her zaman kendi IP adresi ile internete çıkmıyor olabilir. Bu aralığı tanımlamanız zayesinde daha güvenli sularda yüzüyor olursunuz. Dosyayı kaydedin ve editörden çıkın.

localip xx.xx.xx.xxx
remoteip xx.xx.xx.xx-199

Sıra geldi VPN sunucumuzda kullanmak üzere hesap tanımlamaya./etc/ppp/chap-secrets dosyasını editörünüzde açın. (sudo nano /etc/ppp/chap-secrets) Hesap tanımlama biçimi aşağıdaki gibidir;
[Kullanıcı adı] [Servis] [Parola] [İzin verilen IP adresi]
Her bir satıra bir hesap denk gelecek şekilde birden çok hesap açabilirsiniz. Bir hesap ile aynı anda bir bağlantı kurulabileceğinden evinizdeki çeşitli cihazlar için birden çok hesap oluşturabilirsiniz. Örneğin;
telefon pptpd parola *
tablet pptpd parola *
Dosyayı kaydedip çıkın ve pptpd servisini yeniden başlatın (sudo service pptpd restart)
IPv4 için IP yönlendirmesini etkinleştirmemiz gerekiyor. Bunun için/etc/sysctl.conf dosyasını düzenlemeliyiz. Dosyayı metin editöründe açıp (sudo nano /etc/sysctl.conf) aşağıdaki satırın başındaki # işaretini kaldırın.
net.ipv4.ip_forward=1
Dosyayı kaydedip çıktıktan sonra sudo sysctl -p komutu ile ayar dosyasını yeniden yükleyin.
ufw için de bir kaç ayar yapmamız gerekiyor. /etc/default/ufwdosyasında yer alan DEFAULT_FORWARD_POLICY ayarını DROP yerineACCEPT olarak değiştirin.
/etc/ufw/before.rules dosyasını açın, *filter satırınden hemen öncesine aşağıdaki satırları kopyalayıp yapıştırın (elbette kendi ip adresiniz ile. IP adresinizin son bölümünü 0 olarak değiştirin)
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow forward traffic to eth0
-A POSTROUTING -s xx.xx.xx.0/24 -o eth0 -j MASQUERADE
# Process the NAT table rules
COMMIT
Dosyayı kaydedip çıktıktan sonra sudo ufw disable && sudo ufw enable yaparak firewall’ı baştan başlatın.

Server kurulumumuz gerçekleşmiştir.

İos, Android, Windows’da VPN ayarlarını yapmak için tıklayınız.

Katkılarından dolayı Burak Yılmaz‘a teşekkürler.