Raspberry Pi VPN Sunucu Kurulumu

Evde Raspberry Pi gibi düşük güç tüketimine sahip bir bilgisayar bulunmasının pek çok avantajı bulunuyor. 7/24 elektrik sarfiyatını düşünmeden açık tutabilmek önemli.  Akıllı Ev sistemi üzerine makalelerimi takip ettiyseniz kendi evimde Raspberry Pi’yi nasıl ev otomasyonumun merkezine koyduğumu da biliyorsunuzdur. Bu makalemde, bir adım ileri giderek, VPN sunucu yardımıyla ev ağınıza nasıl bağlanabileceğinizi sizlerle paylaşacağım.

Daha önceki kurulumlar ardından Raspberry Pi üzerinde koşan uygulamalarım işlemci ve ram kullanımı olarak henüz Raspberry Pi’yi zorlamadığına göre VPN sunucusunu da üzerine konumlandırmanın önünde bir engel yok Winking smile

VPN sunucu yapılandırması için Raspberry Pi’nize sabit bir ip atadığınıza emin olun, ilerleyen adımlarda bu IP adresi size sorulacaktır. VPN sunucusuna dışarıdan erişim gerekeceği için modeminizden Raspberry Pi’nize 1194 portunu UDP trafiği için açmalısınız.

Sistemimize dışarıdan erişim vereceğimiz için, şimdiye kadar yapmadıysanız, Raspbian üzerinde koşan sistemimizin varsayılan kullanıcı şifresini değiştirmek şart;

sudo passwd

Ardından, her zaman olduğu gibi, öncelik paket güncellemede;

sudo apt-get update
sudo apt-get -y upgrade

Eğer sisteminize daha önceden bir git istemcisi kurmadıysanız, şimdi tam zamanı;

sudo apt-get install git

OpenVPN kurulum adımları biraz uzun ve hata yapma olasılığınız yüksek. Şanslıyız ki; github üzerinde yeralan  OpenVPN-Setup repository’si bize oldukça basit adımlarla kurulum yapabileceğimiz bir script sunuyor. Bu github deposunu Raspberry Pi’mize kopyalayalım;

cd ~
git clone git://github.com/StarshipEngineer/OpenVPN-Setup

Oluşan OpenVPN-Setup klasörü altında yer alan openvpnsetup.sh shell scriptini başlatalım;

cd OpenVPN-Setup
sudo chmod +x openvpnsetup.sh
sudo ./openvpnsetup.sh

Script bizi basit bir menü ile karşılayacaktır;

openvpnsetup.sh script'i karşılama ekranı

Bu ekrandaki ilk seçenek sıfırdan kurulum yapmamızı sağlayacaktır. OpenVPN kurulumunu sağlayan bu seçenek, aynı zamanda ilk yapılandırmamızı da bizim için hazırlayacaktır. İlk kurulum işlemini isterseniz aynı klasörde bulunan install.sh scriptini super user olarak (sudo) doğrudan çalıştırarak da yapabilirsiniz.

İkinci seçenek ise, daha önceden yaptığınız bir kuruluma yeni bir istemci profili eklemenizi sağlayacaktır. Üçüncü ve son seçenek ise, sisteminizden OpenVPN’i kaldırarak kurulum öncesi duruma geri dönmenizi sağlayacaktır.

Script kurulum sırasında kendi sertifika otoritesini kuracak ve istemcilere sertifika dağıtacaktır. Bu sertifikalara dair varsayılan değerler ca_info.txt dosyasında yer almaktadır. Varsayılan değerleri kullanabileceğiniz gibi ca_info.txt dosyasını düzenleneyerek kendinize göre özelleştirebilirsiniz.

Ön hazırlık ve gereksinimleri tamamladıktan sonra scriptimizi başlatarak ilk seçenekle kuruluma geçebiliriz;

OpenVPN kurulum seçeneği. Devam etmek istediğinize emin misiniz? :)

Yes (evet) diyerek yolumuza devam edelim. Script gerekli paket kurulumlarına başlayacaktır. Ardından bize Raspberry Pi’mizin iç IP adresini soracaktır;

OpenVPN kurulum için kullanılacak iç IP adresi

IP adresini girerek Ok dediğimizde bu defa da dış IP adresimizi soracaktır;

OpenVPN kurulum için kullanılacak Dış IP adresi

Internet bağlantınızı sabit bir IP adresi ile yapıyorsanız bu adımda sabit IP adresinizi girmelisiniz. Diğer taraftan, eğer siz de benim gibi sabit bir IP adresi kullanmıyorsanız, dinamik alan adı hizmeti (DDNS) sunan bir yerden aldığınız alan adınızı bu alana girebilmeniz de mümkün.  Aşağıda DDNS hizmeti alabileceğiniz bir kaç adresi bulabilirsiniz;

Unutmayın; DDNS hizmet için ağınızın IP değişikliklerini bildirilerek DNS kaydının güncellenmesi gerekmektedir. Bunun için de genellikle ağınızda devamlı açık bir bilgisayara (tercihen Raspberry Pi) küçük bir DDNS istemcisi kurmanız gerekecektir. Bu konuda daha detaylı bilgiyi DDNS sağlayıcınız size iletecektir.

Bir sonraki ekran bize kullanmak istediğimiz şifreleme yöntemini soracaktır;

OpenVPN şifreleme yöntemi

Burada sunulan seçeneklerden 1024 bit şifreleme ileriki adımlarda daha hızlı ilerlememizi sağlayacaktır; öte yandan 2048 bit şifreleme daha güvenli bir bağlantı sahibi olmamızı sağlayacaktır.

Şifreleme yöntemini seçerek Ok dememiz ardından sertifika otoritesi için sertifikamız üretilecektir.

Bir sonraki adımda ise sunucumuz için bir sertifika üretilecek ve bizden bu sertifikaya dair bilgileri girmemiz istenecektir;

OpenVPN Dialog

Gerekli bilgileri girerek sunucu sertifikasını oluşturabilirsiniz. Bu aşamada sorulan sorulardan Common Name değerini boş geçerek önerilen ismi kabul edin. Challange Password değerini boş geçmeniz önemli. Son olarak Sign the certificate?  sorusuna y diyerek sunucu sertifikanın oluşmasını sağlayabilirsiniz. Devamında script hemen Diffie-Hellman anahtar değişimini üretmeye başlayacaktır (bu adım uzun sürebilir, biraz sabır…)

Diffie-Hellman anahtar değişimi için yapılandırmanın tamamlanması ardından script Raspberry Pi’nin firewall yapılandırmasını yapacaktır. Bu sayede dışarıdan OpenVPN yardımıyla iç ağımıza bağlanabileceğiz. Script işini bitirdikten sonra sunucu yapılandırmasını tamamlamış oluyoruz. Devam etmek için Raspberry Pi’nizi yeniden başlatın.

Sunucu kurulum ve yapılandırması tamamlandığında script sistemin yeniden başlatılmasını isteyecektir

Sistem yeniden başladığında artık OpenVPN çalışır durumdadır; fakat istemcilerden bağlanabilmemiz için takip etmemiz gereken bir kaç adım daha bulunuyor. Bu adımlar için yeniden scriptimizi başlatarak iki nolu seçeneği seçmeliyiz;

OpenVPN istemci yapılandırması

Bu seçenekte bize istemci adı sorulacaktır ve sertifika üretimine geçilecektir. Yukarıdaki adımlarda olduğu gibi sertifika üretimi sırasında bazı sorular sorulacaktır. Daha önce olduğu gibi burada da challenge password sorusunu boş geçmelisiniz. İstemci sertifikasının oluşturulması ardından ovpn profil dosyasının üretimine geçilecektir. Bu sırada size az önce ürettiğiniz sertifikanın şifresi sorulacaktır. Script, oluşturulan ovpn dosyalarını /home/pi/ovpns klasörüne kopyalayacak ve bize bu konuda bir bilgilendirme mesajı gösterecektir;

Script oluşturulan ovpn dosyalarını /home/pi/ovpns klasörüne kopyalayacaktır

Artık kurulumumuz tamamlandı. Oluşturduğumuz ovpn dosyasını kullanarak istemci uygulamalardan VPN’imize bağlanabiliriz.

Not: Eğer istemcilerden bağlanmakta sıkıntı yaşarsanız /etc/openvpn klasöründe yer alan server.conf dosyasının en başında yer alan aşağıdaki satırı silerek problemi aşabilirsiniz;

local [İÇ_IP_ADRESİ]

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir