Geçenlerde, bir kez daha engellenen Twitter, Facebook, Instagram yanında Skype, WhatsApp da engellenince, Apple AppStore’da ve Google PlayStore’da aratılan VPN uygulamaları en çok aranan listesini kaplamıştı.
İşim gereği “en azından” Skype’a erişebiliyor olmam gerekiyor. Bu sebeple (başka bir sebebi olabilir mi zaten – hiç!) stabil ve güvenilir bir VPN uygulaması ararken, TunnelBear’ın kotasından kaçıp BetterNet’i kullanıyordum. Sonra VPN erişimleri de engellenince dımdızlak kaldık 🙂
O sıralarda düzenli olarak önüme “ücretli vpn sunucularının” ne kadar güvenli olduğu konusunda değişik yorumlar geliyordu, hatta SSG Sedat Kapanoğlu bununla ilgili güzel bir liste paylaştı. Birden “dostum kendi vpn sunucunu neden yapmıyorsun ha?” diyen birilerinden ışığı görüp, araştırmaya başladım, sağolsun medium bu konuda, bu yazının da kaynağı olan, güzel bir yol gösterdi.
“Kendinize VPN sunucunuzu kurun” yazısındaki adımlar çok basitti, her şeyi adım adım çok kolay yaptım ama vaat ettiğinin aksine çalışmadı 🙂 O yüzden ben de bir şekilde çözdükten sonra ben de kendi adımlarımı paylaşayım dedim.
Siz de aşağıdaki adımları takip ederek, 4 adımda, hadi polyannacılık yapmayalık yapmayalım ama en fazla 10 adımda, kendi VPN sunucunuzu kullanmaya başlayabilirsiniz.
ADIM 1: VPS Kiralama
Kendimize bir VPS (Virtual Private Server – sanal sunucu) kiralayarak işe başlıyoruz. Kaynak yazıda da önerilen Digital Ocean’dan hesap açarak başlayalım. Linkten (referans koduyla) hesap açarsanız, 10$ kredi ile 2 aylık deneme sürenizi başlatabilirsiniz (ben öyle yaptım). Adamların referans olayındaki açıklamasını da şuraya koyalım.
Give $10, Get $25
Everyone you refer gets $10 in credit. Once they’ve spent $25 with us, you’ll get $25. There is no limit to the amount of credit you can earn through referrals.
Hesabı açabildiğinizi (kullanıcı adı, şifre, ödeme yöntemi vs.) varsayarak devam ediyorum.
ADIM 2: Sunucu (VPS) Kurulumu
Hesaba giriş yaptıktan sonra “Create Droplet” diyerek sunucu seçimi ile kuruluma başlıyoruz.
Sonrasında sunucu seçeneklerimizi belirliyoruz. Ben önerildiği gibi aşağıdaki konfigurasyona sahip bir kurulum tercih ettim.
Image : Ubuntu 16.04.1 x64 (o gün itibariyle long-term-support olan son stabil sürüm)
Size: $ 5 /mo | $0.007 /hour | 512 MB / 1 CPU 20 GB SSD disk 1000 GB transfer
Datacenter Region: Amsterdam 3 (Avrupa için 4 seçenekten biri)
Seçimlerin sonrasında “Create” butonuna basmamız ile birlikte 1 dakika içinde sunucumuz hazır. Sunucumuzun bir arayüzü yok, sadece konsol üzerinden erişim sağlayacağız.
Aşağıda gösterildiği gibi, websitesinde console uygulaması var, Droplet üzerinden Access Console diyerek console’a erişebiliriz, ya da bir terminal uygulaması üzerinden sunucuya erişebiliriz. Ben 2. yöntemi tercih ettim.
ADIM 3: VPN Sunucusu Kurulumu – SoftEther VPN
Açık kaynak kodlu SoftEther VPN uygulamasını sunucumuza kurarak, bir VPN sunucusuna sahip olacağız. Ben MacOS üzerinde Terminal ile işlemlerimi gerçekleştirdim.
Kurulum dokümantasyonunun ana kaynağını medium’daki yazıda tıraşlamışlar biraz, ben de kendi yaptıklarıma göre şekillendiriyorum.
Adım 3.1 Gelen e-posta içerisindeki ip adresi üzerinden root kullanıcı adı ve şifre ile giriş yapın.
ssh root@SİZİN-IP-ADRESİNİZ
Adım 3.2 Giriş yaptıktan sonra sunucuyu güncelleyin.
Linux’ta her zaman bir update vardır!
apt-get update && apt-get upgrade
Kurulumda ihtiyacımız olan build-essential paketini kurun.
apt-get install build-essential -y
Adım 3.3 SoftEther VPN uygulamasını indirin ve kurun.
En güncel versiyonun linkini http://www.softether-download.com/en.aspx adresinden alın. (bu yazı yazılırken en güncel sürüm buydu). Sıkıştırılmış dosyayı çıkartıp, vpnserver dizinine girin ve kurulumu başlatın.
wget http://www.softether-download.com/files/softether/v4.21-9613-beta-2016.04.24-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz tar xzvf softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz cd vpnserver && make
Kurulumda size soracağı lisans anlaşması sorularını, dünyanın en popüler yalanıyla (kullanım koşullarını okudum ve kabul ediyorum) cevaplayın. 3 kere 1 diyerek onaylayın.
Do you want to read the License Agreement for this software ? 1. Yes 2. No Please choose one of above number: 1 EULA Did you read and understand the License Agreement ? (If you couldn't read above text, Please read License_ReadMe.txt file with any text editor.) 1. Yes 2. No Please choose one of above number: 1 Did you agree the License Agreement ? 1. Agree 2. Do Not Agree Please choose one of above number: 1
Adım 3.4 VPN Sunucusunu sistem dizinine taşıyın ve dosya izinlerini değiştirin.
cd .. mv vpnserver /usr/local cd /usr/local/vpnserver/ chmod 600 * chmod 700 vpnserver chmod 700 vpncmd
Adım 3.5 (Opsiyonel) VPNServer’ın Linux başladığında arka planda çalışmaya devam etmesi, için aşağıdaki komutla yeni bir dosya oluşturun.
nano /etc/init.d/vpnserver
Aşağıdaki metni kopyalayıp, nano uygulaması için yapıştırın.
#!/bin/sh # chkconfig: 2345 99 01 # description: SoftEther VPN Server DAEMON=/usr/local/vpnserver/vpnserver LOCK=/var/lock/subsys/vpnserver test -x $DAEMON || exit 0 case "$1" in start) $DAEMON start touch $LOCK ;; stop) $DAEMON stop rm $LOCK ;; restart) $DAEMON stop sleep 3 $DAEMON start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0
Ctrl+x ile çıkış yapın, çıkarken Y (Yes) diyerek kaydedin. Son olarak, otomatik olarak başlatılmasına izin vermek için chkconfig komutunu kullanın.
chmod 755 /etc/init.d/vpnserver /sbin/chkconfig --add vpnserver
VPN sunucusu artık servis olarak çalışmaya hazır.
Adım 3.6 VPN Sunucusunu çalıştırın
/etc/init.d/vpnserver start
Eğer siz de benim gibi üstteki komutla çalıştıramadıysanız, bir şekilde başlangıçta çalışacak şekilde ayarlamamışsınız demektir. Uygulamayı direk çalıştırın.
/usr/local/vpnserver/vpnserver start
Aşağıdaki yazıyı görürseniz VPN sunucunuz çalışıyor demektir.
SoftEther VPN Server Service Started
Adım 3.7 VPN Sunucusunda Bağlantı Noktası (HUB) ve Kullanıcı yaratma
Önce VPN sunucumuzun yönetim kısmına giriş yapmamız gerek.
cd /usr/local/vpnserver ./vpncmd
Gelen ekrandan sunucu yönetimine girmek için 1. seçenekle devam edin.
vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) Version 4.21 Build 9613 (English) Compiled 2016/04/24 16:39:47 by yagi at pc30 Copyright (c) SoftEther VPN Project. All Rights Reserved. By using vpncmd program, the following can be achieved. 1. Management of VPN Server or VPN Bridge 2. Management of VPN Client 3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool) Select 1, 2 or 3: 1
Bir yönetici parolası belirleyin:
ServerPasswordSet
Bir HUB yaratmanızı isteyecek. İsmini istediğiniz verebilirsiniz.
[BU KISIMLA İLGİLİ GÖRÜNTÜ VE KODLARI ATLAMIŞIM :)]
Güvenli bağlantı için SecureNatEnable komutunu verin:
SecureNatEnable
Kullanıcı oluşturun:
UserCreate gun
Kullanıcı şifresini belirleyin:
UserPasswordSet gun
Yukarıdaki komutlarla istenen sayıda kullanıcı açılabilir, ancak seçtiğimiz sunucunun kapasitesi küçük olduğu için aynı anda 3-5 kişiye hizmet verecek kapasitede olduğunu unutmayın.
Son bir adımla IPsec fonksiyonunu etkinleştirirseniz, VPN Sunucusundaki Sanal Hub’lar L2TP uyumlu PC’lerden, Mac OS X’den ve Akıllı Telefonlardan Uzaktan Erişimli VPN bağlantılarını kabul etmesini sağlıyoruz.
IPsecEnable
Sorulan 3 soruya da Yes diyerek devam edin. “Pre Shared Key for IPsec” için Türkçe karakter içermeyen 9 karakterli bir parola girin. Bu parolayı, bağlanmak istediğimiz cihazlardan “Shared Secret” alanına yazacağız.
ADIM 4: Bilgisayardan ve iPhone’dan VPN Erişimi
Ben sadece Mac OS ve iPhone üzerinden bağlandığım için onu anlatacağım. Windows için kendi uygulaması varmış.
Adım 4.1 Mac OS bağlantı kurmak için:
System Preferences > Network adımlarını takip edip, (+) ikonundan yeni bağlantı ekleyin, tipini VPN L2TP seçin.
Server IP adresini ve VPN hesabı kullanıcınızı yazın.
Authentication Settings’e tıklayıp, VPN kullanıcısının şifresini ve kurulumun son adımında belirlediğiniz “parolayı” yazın.
Advanced… e tıklayıp, Send All Traffic over VPN Connection seçeneğini aktif hale getirin.
Son olarak Network ekranında Connect diyerek VPN sunucunuza bağlanabilirsiniz. Menu Bar’a ekleyerek bağlantı sürenizi ve durumunu görmek için “Show VPN Status in Menu Bar” seçeneğini işaretleyebilirsiniz.
Adım 4.2 iPhone üzerinden bağlantı kurmak için:
Settings > VPN > Add VPN Configuration adımlarını takip edin. Gerisini aşağıdaki gibi tanımlamanız yeterli. Tanımladıktan sonra Settings > VPN üzerinden yeni tanımladığınız VPN’i seçip, Status’unu Connected’a çekin.
Her şey hazır!
VPN’iniz düzgün çalışıp çalışmadığını kontrol etmek için, eğer herhangi bir sosyal medya erişim yasağı yoksa, https://engelliweb.com/engellenen-URL/ adresinden şanslı bir iki adresi deneyebilirsiniz.
Sorun Giderme
Ben aşağıdaki hatayla karşılaştım.
A connection could not be established to the PPP server. Try reconnecting. If the problem continues, verify your settings and contact your Administrator.
Authentication Failed
Kurcaladıımda sorunu SecureNATEnable ve IPsecEnable seçeneğinde buldum.
IPsec durumuna bakın, L2TP over IPsec enabled olması gerekir.
VPN Server>ipsecget IPsecGet command - Get the Current IPsec VPN Server Settings Item |Value ---------------------------------------------------+--------- L2TP over IPsec Server Function Enabled |Yes Raw L2TP Server Function Enabled |Yes EtherIP / L2TPv3 over IPsec Server Function Enabled|Yes
Sonra SecureNat durumuna bakın. SecureNAT Enabled olması gerekir.
VPN Server/VPN>statusget StatusGet command - Get Current Status of Virtual Hub Item |Value -----------------------------+-------------------- Virtual Hub Name |VPN Status |Online Type |Standalone SecureNAT |Enabled Sessions |1 Access Lists |0 Users |1 Groups |0 MAC Tables |1 IP Tables |1 Num Logins |18 Last Login |2016-11-19 08:30:13 Last Communication |2016-11-19 13:00:07 Created at |2016-11-06 11:39:54 Outgoing Unicast Packets |13,839,250 packets Outgoing Unicast Total Size |11,614,417,570 bytes Outgoing Broadcast Packets |19,259 packets Outgoing Broadcast Total Size|1,352,019 bytes Incoming Unicast Packets |13,839,718 packets Incoming Unicast Total Size |11,614,540,919 bytes Incoming Broadcast Packets |402,131 packets Incoming Broadcast Total Size|24,685,211 bytes The command completed successfully.
Ben bunları düzelttikten sonra bağlantı kurabildim. Daha fazlası için Japonya’daki abiler kapsamlı belgeleme yapmışlar:
https://www.softether.org/4-docs/1-manual/B._Troubleshooting_and_Supplemental/11.1_Troubleshooting
Yazının ana görseli SoftEther’in sitesinden alınmıştır: https://www.softether.org/4-docs/2-howto/5.VPN_for_Home/2.Comfortable_Network_Anywhere
Keşke bu kadar uğraşmaya gerek olmasa da bir Hollandalı gibi, bir İngiliz gibi özgürce internette dolaşabilsek, ama şimdilik bize düşen yine “minik kelebek”.
Selam Gun! Yazi icin eline saglik! Kalbini kirmak istemem, ama bir de soyle bir sey var: `wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh`. Kaynak: https://github.com/Nyr/openvpn-install
Selam Volkan!
Sizin böyle dertleriniz yok tabi ama biz uğraşıyoruz, bu kadar uğraşmana gerek yoktu yani diyorsun 🙂 OpenVPN’den daha iyi dediler, nedense Softether’i önerdiler biz de ona baktık 🙂 Teşekkürler öneri için bi’ boş zamanımda ona bakayım zaten VPS’ten memnun değilim çok yavaş 🙂
OpenVPN için şöyle de bir alternatif varmış, bu da kenarda bulunsun : http://ardacetin.org/kolaylikla-kendi-vpn-sunucunuzu-kurun-2/
Geri bildirim:GoDaddy’den Linode Aktarmalı GetLark’a Geçiş – e-GÜNlük