Ubuntu 12.04 OpenVPN Kurulumu

tunnelblick-vpn tunnelblick-vpn   Eğer okulunuzdaki/işyerinizdeki ve maalesef ülkenizdeki sansürleri aşmak istiyorsanız, servis sağlayıcınızın İnternette yaptığınız tüm hareketleri kaydetmesini istemiyorsanız VPN kullanabilirsiniz.

Bunun için parasını vererek bir VPN hizmeti alabileceğiniz gibi, eğer bir sunucunuz varsa buraya VPN kurarak bunu kendi başınıza da halledebilirsiniz.

UBenzer.com bir VPS’de çalışıyor. Ben de bu fırsatı değerlendirdim ve kendime bir OpenVPN yapılandırması kurdum.

Nasıl mı?

Uyarı!

Bu yazıda anlatılan yöntem karışıktır ve en azından temel Linux bilgisine sahip olmanızı gerektirir.

Bu yazıda anlatılanlar yöntem hakkında herhangi bir garanti verilmemektedir. Sunucunuzun çalışmaz hale gelmesi, bozulması, güvenlik açığı oluşması veya herhangi bir problem oluşması sizin sorumluluğunuz altındadır! Burada yazanları dikkatle kullanın! Her zaman yedek alın!

Gerekli Araçlar

İşlem boyunca bazı dosyaları değiştirmeniz gerekecek. Bunun için vimnano gibi istediğiniz bir metin editörünü kullanabilirsiniz. Eğer favori bir editörünüz yoksa, kullanımı kolay olduğundan dolayı nano ile başlayabilirsiniz. Nano’yu yüklemek için kullanılacak komut:

apt-get install nano

Herhangi bir dosyayı düzenlemek için nano dosyaadi veya pico dosyaadi kullanılabilir.

1. Sunucunuzun desteklediğinden emin olun

UBenzer OpenVZ sanallaştırma teknolojisi kullanan bir VPS’te yer alıyor. OpenVZ’lerde genellikle TUN/TAP kullanılamadığından genellikle VPN kurmak mümkün olmuyor. Ancak ben şanslıyım ve VPS’imde bu desteği kullanabiliyorum!

tun-tap-support-on-openvz-vps tun-tap-support-on-openvz-vps  

2. Gerekli paketleri kurun

Neredeyse tüm işlemler sudo olarak yapılmalıdır. Eğer root olarak giriş yapmıyorsanız tüm komutların başına sudo ekleyin.

apt-get update
apt-get install openvpn openssl

3. Kimliklendirme için Private/Public Key yaratımı

Not: Eğer daha önce openssl kullandıysanız ve “key yaratmak” nedir biliyorsanız aşağıdaki yöntemi kullanmak zorunda değilsiniz.

OpenVPN ile gelen easy-rsa’yı kullanalım. Aşağıdaki komutları sırayla çağırın.

cd /etc/openvpn
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
nano easy-rsa/vars

vars dosyası içindeki

export EASY_RSA="`pwd`"

satırını

export EASY_RSA="/etc/openvpn/easy-rsa"

ile değiştirin.

Daha sonra aşağıdaki komutları çalıştırarak devam edin:

. ./easy-rsa/vars
./easy-rsa/clean-all
cd easy-rsa
ln -s openssl-1.0.0.cnf openssl.cnf
cd ..
./easy-rsa/build-ca OpenVPN
./easy-rsa/build-key-server server
./easy-rsa/build-key client1
./easy-rsa/build-dh

Son adımlarda sizden sertifika yaratmak için gerekli bazı bilgiler istenecektir.

VPN’i kullanmasını istediğiniz her makine için ayrı bir sertifikaya ihtiyaç duyarsınız. ./easy-rsa/build-key client1 adımında client1 yerine farklı istemci adları vererek her makine için farklı key yaratabilirsiniz.

Örnek

./easy-rsa/build-key myandroid
./easy-rsa/build-key mymac
./easy-rsa/build-key mywin7
./easy-rsa/build-key seyda-mac

vs.

Yaratılan sertifikalar /etc/openvpn/easy-rsa/keys/ içerisinde bulunabilir. İsteğe bağlı olarak  buradaki dosyaları /etc/openvpn/keys/ klasörüne taşıyıp /etc/openvpn/easy-rsa/ klasörünü silebilirsiniz.

4. Yaratılan sertifikaların sunucu ayarlarına eklenmesi

cd /etc/openvpn
nano server.conf

Yukarıdaki komutlar ile sunucu ayarlarını açın.

ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/server.crt
key easy-rsa/keys/server.key
dh easy-rsa/keys/dh1024.pem

Yukarıdaki satırların doğru dosyaları gösterdiğine emin olun.

server.key dosyasını kesinlikle başkasıyla paylaşmayın!

5. Yönlendirme ayarları

Sunucunuzun yönlendirmeyi doğru bir şekilde yapabilmesi için aşağıdaki işlemleri gerçekleştirin:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to BURAYA_VPSINIZIN_IP_ADRESINI_YAZIN
cd /etc
nano sysctl.conf

#net.ipv4.ip_forward=1 satırının başındaki # işaretini kaldırın ve dosyayı kaydedin.

net.ipv4.ip_forward=1

6. Open VPN’i başlatma

Aşağıdaki komutu çalıştırın:

/etc/init.d/openvpn start

7. İstemci ayarları

OpenVPN istemcileri neredeyse her platform için bulunmaktadır. Ben Mac ile TunnelBlick kullanıyorum.

Yapılacak olan istemci ayarları uygulamadan uygulamaya değişir ve bu yazının konusu değildir. Ancak genel olarak aşağıdaki gibi bir ayar dosyasına ihtiyacınız olacaktır:

dev tun
client
proto udp
remote VPSINIZIN_ADRESI 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
redirect-gateway def1

Her istemci için ayar dosyasının yanı sıra, ca.crt ve o istemci için yaratılmış sertifikaların (crt ve key dosyaları) da bulunması gerekir. (örn: client1.crt ve client1.key)

Dikkat! server.key asla paylaşılmamalıdır. Her istemci için o istemci ile ilgili crt ve key dosyalarının paylaşılması yeterli olacaktır.

Sorun Giderme

  1. Eğer bağlanmayı başaramıyorsanız, yönlendirme ayarları çalışmıyor olabilir. VPS’i yeniden başlatıp tekrar deneyin.
  2. Eğer bağlanmayı başaramıyorsanız, istemci ayarları ile ilgili bir sıkıntı olabilir. Yapılandırma ayarlarınızı gözden geçirin.
  3. Sorun giderme süresince hem istemci hem de sunucudaki LOG dosyaları en büyük yardımcınızı olacaktır. Sürekli gözden geçirin!
  4. Eğer bir türlü çalışmıyorsa, VPS’iniz TUN/TAP desteklemiyor olabilir. Hosting firmanıza danışın.