Centos 5 ve Centos 6 üzerine OpenVPN Kurulumu | Hakan Çakıroğlu Kişisel Blog
You are here: Home » Linux » Centos 5 ve Centos 6 üzerine OpenVPN Kurulumu
04 Nisan 2014	| Hakan Çakıroğlu ∇ Leave a comment(0) ⊕ Go to comments
Öncelikle belirtmekte fayda var burada anlatılacak kurulum Centos 6.2 versiyonu üzerinde gerçekleştiriliyor ve Centos 5 için ya da 32bit – 64bit gibi farklı mimarideki işletim sistemleri için farklılaşan downloadlar oldugunda ya da farklı bir komut çalıştırılması gerektiğinde bunu da belirtiyor olacağım.
1 – Aşağıdaki komut ile tun/tap interfacesinin sistemde aktif olup olmadğını kontrol ederek işlemlerimize başlayalım.
Eğer tun interfacesi aktif ise aşağıdakine benzer bir çıktı almanız gerekiyor.
2 – OpenVPN paketinin ihtiyaç duyacağı paketleri aşağıdaki komut ile kuralım.
3 – Aşağıdaki komut ile OpenVPN ile uyumlu olan paketin kaynak kodlarını indirelim.
4 – Aşağıdaki komutlardan sizin işletim sistemi kurulumunuza uygun olanı ile rpmforge paketini indirelim.
5 – Aşağıdaki komutlar yardımı ile yeni paketleri derleyelim.
6 – yum ile OpenVPN paketini kurabiliriz artık.
7 – VPN trafiğinin SSL ile şifreli olarak gönderilebilmesi için sertifikaya ihtiyacımız olacak.
Aşağıdaki komut ile sertifika oluşturmak için kullanacağımız dosyaları /etc/openvpn dizini altına taşıyalım.
NOT : Eğer bu komutun işletilmesi esnasında aşağıdaki gibi bir hata alırsanız easy-rsa klasorunu içeren dosyalar sisteminizde yok demektir.
Bu gibi bir hata almanız durumda aşağıdaki komut yardımıyla bu dosyaları indirip kuruluma devam edebiliriz.
Eğer hata almadıysanız üstteki 3 komutu kullanmadan kuruluma devam edebilirsiniz.
8 – Eğer kurulum için Centos 6 işletim sistemi kullanıyorsanız az önce indirip açtıgımız dosyalar üzerinde ufak bir değişiklik yapmak gerekiyor. Centos 5 için bu değişikliğe gerek yok.
/etc/openvpn/easy-rsa/2.0/vars dosyası içerisindeki
olarak değiştirmek yeterli olacaktır.
9 – Sertifika Otorite (CA) dosyalarını aşağıdaki komutları kullanarak oluşturalım.
Bu aşamadan sonra sertifika otoriteyi oluştururken script sizden bazı bilgiler isteyecek, bu bilgilere aşağıdaki gibi cevaplar verebilirsiniz.
Country Name: Ülke bilgisi, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
State or Province Name: Bölge bilgisi, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
City: Şehir bilgisi, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
Org Name: Organizasyon ismi, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
Org Unit Name: Ogranizasyon Birim adı, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
Common Name: Sunucu Hostname bilgisi (hakancakiroglu.com gibi)
Email Address: E-mail adresi bilgisi, doldurmak istemezseniz Enter’a basarak geçebilirsiniz.
10 – CA dosyalarını oluşturdugumuza göre artık server için gerekli olan sertifika oluşturmak için gerekli adımlara geçebiliriz. Aşağıdaki komut ile dosyaları oluşturmaya başlayalım.
Bu aşamada da yine yukarıdaki gibi benzer sorulara cevap vererek sertifika için gerekli olan bilgileri doldurmanız gerekiyor. Ancak burada dikkat etmeniz gereken son bir kaç soru için y ile cevap vererek sertifikanın oluşmasını sağlamak. Dolayısıyla hepsini Enter’a basarak geçmek yerine biraz daha dikkatli davranmanızı tavsiye ediyorum. Yine de aşağıda, oluşabilecek karışıklıkları engellemek adına yukarıdaki sorulardan farklı olarak sorulacak/cevaplanacak soruları belirtiyorum.
Common Name: Sunucu ismi ya da domain ismi ya da hostname ismi gibi bir bilgi girebilirsiniz.
A challenge password: Sertifikayı daha sonra import/export işlemlerinde kullanırken şifre ile koruyabilirsiniz. Boş bırakırsanız Import/Export işlemlerinde şifre sorulmayacaktır.
Optional company name: Opsiyonel olarak Şirket bilgisi belirtebilirsiniz.
sign the certificate: y (Burada kesinlikle y ile cevaplayarak sertifikanın imzalanmasını sağlamalısınız)
1 out of 1 certificate requests: y (Bu soruya da kesinlikle y ile cevap vererek sertifika isteği dosyasının da oluşmasını sağlamalısınız.)
11 – Evet server sertifikamız ve gerekli diğer dosyaları da oluşturduk. Şimdi de SSL/TLS için kullanılacak olan Diffie Helman parametrelerini oluşturalım.
12 – Tüm sertifika dosyaları hazır oldğuna göre artık OpenVPN için sunucu konfigurasyon dosyalarını oluşturma işlemine geçebiliriz.
vi ile açtığımız server.conf dosyası içerisine aşağıdaki parametler ile konfigurasyon dosyalarını oluşturalım
13 – Ayrıca OpenVPN’i başlatmadan önce selinux’un kapalı oldugundan emin olalım. selinux’u muhtemelen daha önceki işlemlerinizde kapatmışsınızdır ancak kontrol etmek de fayda var.
Aşağıdaki komut ile selinux açık ise geçici olarak kapatabilirsiniz. Ancak sunucu ilk reboot oldugunda selinux yeniden aktif olacaktır.
selinux’u tamamen kapatmak için /etc/selinux/config dosyasını editleyerek
olarak görünen satırı
14 – Evet artık OpenVPN uygulamasını başlatabiliriz.
Eğer bu komuttan sonra servis başlamaz ise ve /var/log/messages: altında şöyle bir uyarı alıyorsanız auth-pam kütüphanesini de indirerek sisteme eklemek gerekecektir.
Bu durumda böyle bir hata mesajı alıyorsanız aşağıdaki komutlar yardımıyla auth-pam kütüphanesini indirerek ilgili alana kopylanmasını sağlayalım.
Aşağıdaki komut ile dosyayı zipten çıkaralım:
Aşağıdaki komut ile açtığımız dosyaları OpenVPN dizinine taşıyalım:
Daha önce oluşturdugumuz server.conf dosyası içerisindeki PAM plugin satırını aşağıdaki gibi değiştirelim:
Tüm çalışan OpenVPN processlerini durduralım ve yeinden başlatalım:
15 – OpenVPN artık çalışıyor. yine de VPN’in tam olarak çalışabilmesi için interfaceler arası trafik yönlendirmeyi aktiflemek gerekiyor. Aşağıdaki komutlar ile IP Forwarding aktifleyelim.
16 – Iptables kurallarımız ile yönlendirme ve NAT tanımlarını yapalım. aşağıdaki ikinci komutta ip adresi olarak belirtilen 111.111.111.111 ip adresini sunucunuzun real ip adresi ile değiştirmeyi unutmayın sakın.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 111.111.111.111
17 – Network tarafında herşey tamam. Şimdi de vpn kullanacak olan kullanıcıları oluşturmak gerekiyor. Aşağıdaki komut ile sistem üzerinde yeni bir kullanıcı oluşturalım ve bu kullanıcının şifresini belirleyelim. username yazan yere oluştumak istediğiniz kullanıcınnı adı ile değiştirmeyi unutmayın. Bu iki komut sonrası 2 defa şifre yazarak kullanıcının şifresini belirlemeli ve doğrulamalısınız.
Eğer var olan bir kullanıcıyı silmek isterseniz aşağıdaki konutu kullanabilirsiniz. usenrame alanına silmek istediğinzi kullanıcının adı ile değiştirmelisiniz.
18 – Son olarak sisteme baglanmak için kullanılacak OpenVPN profili oluşturalım. Bu profil dosyasını daha sonra iPhone,Android,MAC ya da Windows işletim sistemlerinden herhangi birine kurdugunuz OpenVPN client üzerinde kullanacağız.
server.ovpn adında bir dosya oluşturmak gerekiyor. Oluşturdugumuz bu dosyayı daha sonra mail ile OpenVPN client yüklü telefonunuza, Windows işletim sistemi yüklü bilgisayarınıza ya da Ubuntu yüklü bilgisayarınıza ya da MAC’inize göndererek/indirerek VPN sisteminize bağlanabilirsiniz.
Bu dosyayı oluşturmak için aşağıdaki konfigurasyon şablonunu kullanabilirsiniz. Burada dikkat etmeniz gereken ilk konu 4. satırdaki remote ile başlayan satırdaki 123.123.123.123 ip adresini sizin sunucunuzun real ip adresi ile değiştimek.
Bir de en sonda <ca> … </ca> tagları arasına ise
/etc/openvpn/easy-rsa/2.0/keys dizini altındaki ca.crt dosyasının içeriğini kopyalamak.
Bunu en kolay olarak
komutunu yazarak ekran çıktısını Ctrl+C ile kopyalayarak bilgisayarınızda oluşturacağınız, aşağıda şablonunu verdiğim server.ovpn dosyasının en altına <ca> … </ca> tagları arasına Ctrl+P ile yapıştırmak olacaktır.
19 – Sunucunuz restart oldugunda da OpenVPN servisinin başlangıçta otomatik olarak açılmasını istiyorsanız aşağıdaki komut ile bunu sağlayabilirsiniz.
Evet bu adıma kadar pes etmeden geldiyseniz eğer herşey hazır demektir. Tek yapmanız gereken telefonunuza ya da bilgisayarınıza OpenVPN clientini kurmak ve oluşturdugunuz server.ovpn dosyasını client’a göstererek kullanmak olacaktır.
Kurduğumuz VPN sunucunun doğru olarak çalıştığından emin olmak için VPN aktif iken www.whatismyip.com adresine girerek görünen real ip adresini kontrol edebilrisiniz. Eğer burada görünen ip adresi VPS sunucunuzun ip adresi olarak görünüyorsa yeni VPN sunucunuz hayırlı olsun 🙂
Örneğin iPhone için VPN bağlantısı aşağıdaki resimlerde belirtildiği şekilde server.ovpn dosyası import edildikten sonra useradd komutu ile eklediginiz kullanıcıadı şifre bilgileri girilerek “Connect” seçeneği seçilerek baglantı sağlanır.
Kaynak : http://safesrv.net/install-openvpn-on-centos/
« Windows 2012 Öncesi Domain Controller Üzerinde Internet Explorer 10 Proxy Ayarlarının Yapılması