Yılda $13.5'a Kendi VPN’inizi Kullanın

Ayda $75 verdiğim Mac mini’den, yılda $13.5 verdiğim VPS’e geçtiğimde, kaybettiğime üzüldüğüm tek bir şey vardı: Kendime ait VPN sunucusu.

OS X Server’da VPN’in yanısıra eposta, DNS, Wiki, Takvim+Kişiler ve tabii ki web sunucusu özellikleri vardı, fakat ben VPN ve Web dışındaki her şeyi zaten 3. parti servislerden alıyordum. Web sunucusu yönetmek artık çok basitleştiğinden outsource etmek mantıksızdı, fakat VPN’de veriler başkasının sunucusundan geçeceği için 3. parti bir servis kullanmak konusunda içim rahat değildi.

VPS’lere VPN kurma üzerine birçok yazı var. En son gözüme çarpan da Arda Çetin’in bu yazısı oldu. Ben biraz daha ucuz, biraz daha kolay yönetilen bir yöntemi anlatacağım.

Yıllık $15'e VPS Alma

RamNode.com’a girip menüden VPS’i seçin. LowEndBox’ta karşılaştım RamNode’la, ve yazılanların içinde iyi yorumlara sahip olan tek firmaydı.

VPS’i seçtiğinizde OpenVZ sayfası açık gelecek zaten, burada 3 tablo var. $15'lik seçenekler, Premium ve Massive paketlerinde var; biri 12GB SSD, öteki 80GB SSD-önbellekli disk ile geliyor. Onun dışında her şeyi aynı, istediğinizi seçin.

Sağ tarafta sunucu konumları var. Amerika’da NYC (New York City), ATL (Atlanta), SEA (Seattle), LA (Los Angeles), ve Avrupa’da NL (Hollanda). Ben web için NL, VPN için NYC’yi seçtim; fakat hızlarını kendiniz ölçümleyip kendiniz karar da verebilirsiniz.

Gelen sayfada bir hostname ve işletim sistemi seçmeniz gerekiyor. Hostname, kendi alan adınızdaki herhangi bir subdomain olabilir. Ben kendi alan adımdaki “vpn” subdomain’ini kullandım. İşletim sistemi olarak ise Ubuntu 14.04 64-bit’i seçmelisiniz.

Checkout » düğmesini seçerek ödeme ekranına geçin. Burada fiyat hâlâ $15 gözükecek.

Sayfanın altına doğru inip Promotional Code alanını bulun, ve any10 girip “Validate Code” düğmesine tıklayın. Bu kodla, VPS’inizin ömrü boyunca %10 indirim alacaksınız, ve bu satın alacağınız paket de $13.5'a inecek.

Daha sonra sayfadaki formu doldurup, Payment Method kısmından istediğiniz ödeme sistemini seçip, şiparişi tamamlayın.


Sunucu Ayarlarını Yapma

RamNode size birkaç tane eposta yollayacak. RamNode VPS Information (PLEASE READ FULLY) başlıklı epostayı açın. Burada VPS’inizin IP adresi, root şifresi ve SolusVM Control Panel dediği bir şeye giriş bilgileriniz olacak. Bize bu sonuncusu lazım.

URL: https://vpscp.ramnode.com
Username: RNuser12345
Password: RgleasteBiKod

Bu sayfaya, bu bilgilerle girin. My Account’tan şifrenizi değiştirin, sonra ana sayfasına geri gelip VPS’inizi seçin.

Sayfanın hemen altında iki tane ayar var. TUN/TAP ve PPP. Bunları On konumuna getirerek açın. Yeniden başlatayım mı diye soracak, onaylayın.

Sunucuya Giriş ve Pritunl Yükleme

Şimdi Terminal veya Putty ile sunucumuza giriş yapmamız gerekiyor. IP adresimizi kullanabilir, veya bir alan adı/alt alan adı yönlendirmesi yapabiliriz. Ben hostname’de kullandığım alt alan adını IP adresime yönlendirdim, ve onu kullanacağım. (Bu yöntemi, birazdan anlatacağım sebeplerle tavsiye ediyorum.)

Terminal’e aşina değilseniz: Başında $ olan satırlar, Terminal’e gireceğiniz kodları gösteriyor. $’ı yazmayacaksınız.
$ ssh [email protected]

İlk iş, şifre değiştirmek.

$ passwd

Varolan şifreyi değiştirdikten sonra da, port çakışmalarını önlemek için Apache web sunucusunu kaldırmak gerekiyor.

$ apt-get remove apache2

VPN sunucumuz Pritunl, veritabanı olarak MongoDB kullanıyor. Pritunl’ın da, MongoDB’nin de kendine özel depoları var, ve bunları sisteme tanımlamak gerekiyor.

$ echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main" > /etc/apt/sources.list.d/mongodb-org-3.2.list
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv EA312927
$ echo "deb http://repo.pritunl.com/stable/apt trusty main" > /etc/apt/sources.list.d/pritunl.list
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv CF8E292A
$ apt-get -y update && apt-get -y upgrade 

Burası biraz zaman alabilir. Sunucu hem yeni depoları kaynak listesine ekleyecek, hem de varolan yazılımları güncel versiyonlarıyla yenileyecek. Eğer Postfix gibi yazılımlar çıkıp yapılandırma soruları sorarsa Enter-Enter dediğimiz savunma metoduyla savabilirsiniz. 😁

Artık sunucumuz kurulum yapmaya hazır.

$ apt-get install mongodb-org pritunl

Pritunl Ayarlarını Yapma

Pritunl’ı ayarlamadan önce, bir anahtar almamız lazım. Bunun için pritunl setup-key kodunu girip vereceği 32 karakterlik kodu kopyalıyoruz. Sonra Pritunl’ı başlatabiliriz.

$ pritunl setup-key
200492c3b8a041e56a798ab067d68a36
$ pritunl

Sunucumuza girdiğimizde (https:// ile girmemiz lazım), “bağlantınız güvenli değil” diyecek. Sol alttaki minik bağlantıya tıklayıp, açılacak alandaki “Yine de devam et” diyen yere tıklayın.

Yukarıda aldığımız 32 karakterlik anahtarı üstteki kutuya girin, ve “Save”e tıklayın. Kurulum tamamlandığı zaman, bir giriş ekranı gelecek.

Kullanıcı adı: pritunl
Şifre: pritunl

Varsayılan kullanıcı adı ve şifreyle giriş yaptıktan sonra, ilk kurulum sayfamız yüklenecek. Varolan tüm ayarları olduğu gibi bırakıp, sadece 2 alanı dolduracağız.

İlk sırada 2. alan olan “New Password”da yeni bir şifre belirleyip yazacağız. En sondaki “LetsEncrypt Domain” dediği alana da, başta yönlendirdiğimiz ve siteye girmek için kullandığımız alan adını yazacağız.

Saf IP’yle girmek yerine alan adı yönlendirmeyi kesinlikle tavsiye etmemin sebebi buydu: Pritunl’ın Let’s Encrypt desteği sayesinde otomatik ve ücretsiz SSL sertifikası ve güvenli bağlantıya sahip oluyorsunuz.

Pritunl’ı Yapılandırma

Sunucumuz hazır. Şimdi geriye sadece kullanıcıları eklemek kalıyor.

Önce Users sayfasına girip Add Organization düğmesine tıklıyoruz. Tek bir form alanı geliyor zaten, istediğinizi yazıp geçin.

Sonra, Add User düğmesine tıklayıp gelen 4 alanlı formda ilkine bir kullanıcı adı, sonuncu alan olan PIN’e de en az 6 karakterli bir sayı giriyoruz.

Burada farklı kullanıcılar ekleyip, bağlayacağınız her cihaz için farklı bir isim verebilirsiniz. ckmac, ckipad, ckiphone gibi isimler tercih ediyorum ben. İki cihaz tek kullanıcı adından aynı anda bağlı olamayacağı için ayırmak önemli.

Ardından Servers sayfasına gidip Add Server tuşuna basacağız. Burada çıkan formu direkt Add diye onaylayıp geçebiliriz.

En son ise Users sayfasında yarattığımız kullanıcıların bulunduğu organizasyonu, bu sunucuya bağlamamız lazım. Bunun için Attach Organization düğmesine tıklayıp, sunucu ve organizasyonu seçip onaylamalısınız.

Et voilà! Sunucumuz artık çalışıyor.


Cihazlarımızdan VPN’e Bağlanma

Pritunl’ın Mac ve Windows için kendi yazılımları var. https://client.pritunl.com/ adresinden indirip kurabilirsiniz.

Sonra Users sayfasında kullanıcı adının sol tarafındaki simgelerden ilki olan bağlantı (zincir) simgesini seçin. Burada açılacak “Temporary Profile Link” penceresinde, en alttaki kodu kopyalayın.

Pritunl yazılımında en altta Import Profile URI düğmesine tıklayın, ve açılacak alana bu kopyaladığınız kodu kopyalayıp Import tuşuna basın.

VPN ayarlarınız otomatik olarak girilecek. VPN’inizin satırındaki hamburger menü simgesine tıklayıp ilk seçenek olan Connect’i seçin. PIN isteyecek, kullanıcıyı yaratırken girdiğiniz PIN’i girin ve Ok’e tıklayın.

Artık internete VPN’den bağlısınız.

iOS cihazlarınızdan bağlanmak için ise OpenVPN Connect yazılımını kullanabilirsiniz. Users sayfasından indireceğiniz profil dosyasını iPhone veya iPad’inize AirDrop (güvenli) veya eposta (tehlikeli) ile atıp bu yazılımla açtığınızda, kullanıcı adı ve PIN’i girip VPN’le güvenli bağlantı sağlayabileceksiniz.


Birkaç dipnot/uyarı…

  1. Pritunl, OpenVPN tabanlı bir sunucu. Evet, güvenli, fakat şirketlerin güvenlik duvarları OS X Server’ın sağladığı L2TP over IPSec gibi çözümleri engellemezken OpenVPN’in yoluna taş koyabiliyorlar. Nasıl bilmiyorum, yapıyorlar. (Danışmanlığa gittiğim firmaların kurumsal olanlarında hep yaşadım bu sorunu.)
  2. VPN’den bağlanmanız, tamamen güvende olduğunuz anlamına gelmiyor.
  3. Teknik bir insan değilim, tasarımcıyım. Sunucu için bile Mac kullanmamdan anlamış olmalısınız. Burada anlattıklarım benim için işe yarıyor, fakat sorun çıkarabilir, güvensiz olabilir. Sorumluluk kabul etmiyorum.
  4. RamNode, bir uyarı yayınlamış. IPv4 adreslerin tükenmesi sebebiyle 128MB VPS’leri çok yakında kaldıracaklarmış. Bir sonraki seçenek olan 256MB VPS’ler yılda $32, any10 koduyla $28.8'e geliyor. 2 katı daha pahalı, ama Pritunl çok kaynak harcamadığı için web sunucunuzu da katıp tek sunucudan çalışabilirsiniz. (Risk alabilirseniz, benzer fiyatlarda başka bir sağlayıcıya da geçebilirsiniz; TUN/TAP desteği olsun yeter.)
  5. Yıllardır kullandığım Macminicolo, MacStadium diye bir firmaya satılmış. Sahibi Brian Stucki de bunun şerefine bir kampanya yapmış: https://macminicolo.net/impossible 
    Bu kampanya ile ayda $69'a 4-çekirdek 2.3GHz i7'li, 16GB RAM’li, 5000GB bantgenişliğine sahip bir Mac mini’ye sahip olabiliyorsunuz. Eğer biraz daha fazlası lazım, para çok mühim değil diyorsanız, müthiş bir fırsat. Ben sadece maliyet kısmak için bıraktım, hizmetinden ve desteğinden çok memnundum kullanırken.