OpenVpn Kurulumu
Transkript
OpenVpn Kurulumu
OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 VPN (Virtual Private Network – Sanal Özel Ağ) “İnternet, dünya genelindeki bilgisayar ağlarını ve kurumsal bilgisayar sistemlerini birbirine bağlayan elektronik iletişim ağı. [1] TDK , İnternet sözcüğüne karşılık olarak Genel Ağ 'ı önermiştir [2] . Oktay Sinanoğlu , Örütbağ adını önermiştir. [3] [4] İnternet yerine zaman zaman sadece Net sözcüğü de kullanılır.” İnternet’in tanımında yazanlar bunlar. İnsanlar ilk başta aynı bina veya aynı kampus alanı içinde bilgisayarları birbirine bağlamaya başladılar. Daha sonra bu lokal (yerel) networkler (ağ) birleşti ve daha büyük ağlar oluştu. En nihayet bugün anladığımız manada Internet doğdu. Bilgisayar ağları büyüdükçe güvenlikleri de ister istemez azalır. Çok daha fazla uç noktanın olduğu bir ortam kontrolü daha zor ve suça daha açık bir hal alır. VPN kavramı işte böyle bir güvensiz ağ üzerinden iki uç noktanın veya iki ağın güvenli bir kanalla haberleşmesini tanımlar. 1 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 VPN Nedir? “VPN, Virtual Private Network'ün (Sanal Özel Ağ) kısaltması olup, ağlara güvenli bir şekilde uzaktan erişimde kullanılan bir teknolojidir. Sanal bir ağ uzantısı yarattığından uzaktan bağlanan makine konuk gibi değil, ağa fiziksel olarak bağlıymış gibi görünür. Firmalar tarafından yaygın olarak kullanılan VPN, yöneticilerin, uzak ofislerin, bayi, acenta, satış temsilcilerinin güvenli bir şekilde özel ağlara bağlanmalarını sağlar.” Evet, biraz daha vikipedya tanımı okudunuz. Şimdi aşağıya bir bakalım, fiziksel olarak birbirinden uzakta ve direkt kablo çekerek, radyo dalgası vs gibi çözümlerle bağlayamayacağımız iki ağımız var: Bu durumda Telekom şirketlerinden destek alıp, bu iki networku kiralık hat, uydu vs gibi teknolojilerle bağlamamız mümkün. Böylece iki ağ birbiriyle haberleşebilir. Aradaki bağlantı Telekom şirketince bize özel olarak oluşturulacağı için üçüncü bir kişinin araya girmesi söz konusu olmaz. Tek bir problem var, maliyet. Böyle dedicated (adanmış – bize özel) hatların 2 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 maliyeti oldukça yüksektir. Ayrıca bulunduğumuz lokasyona göre Telekom firmasının alt yapısı bize böyle bir bağlantı sağlamaya uygun olmayabilir. Peki, aşağıdaki durumda ne yapacağız? Bir ağımız var ve ona dışarıdan bağlanması gereken birçok kullanıcı var. Kullanıcılar hem çok farklı yerlerdeler hem de gezici (mobil) durumdalar. Her birine ayrı bir data hattı çekmemiz mümkün değil. Zaten mobil oldukları için sürekli farklı yerlerden ağa dâhil olmak istiyorlar. Keşke, bu kullanıcılarla bizim ağımız arasında hazır kurulu başka bir ağ daha olsa biz de onu kullansak? Tahmin ettiğiniz gibi böyle bir ağ var: Internet. Dolayısı ile üstteki örneğimizi şöyle bağlayabiliriz. 3 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Ayrıca ikinci örnekte de, her kullanıcı bulunduğu noktadan internete girip, bağlanmak istedikleri ağa bağlanabilirler. Buradaki sorun nedir peki? Bir bulut simgesiyle gösterdiğimiz Internet’e bizden başka birkaç milyar insan daha bağlı. Hımm… Bu bir sorun. Internet üzerinden geçen trafiği izleyip, dataları çalmak veya datayı değiştirerek orijinalliğini bozmak her zaman mümkün. Dolayısı ile bu iki network arasında gerçekleşecek veri akışı, Internet gibi güvensiz bir ortamdan hiçbir önlem alınmaksızın aktarılmamalıdır. Vpn işte bu noktada devreye girer. Bu iki network arasında, internet üzerinden bir VPN (Virtual Private Network / Sanal Özel Ağ) oluşturabiliriz. Sanal Özel Ağ ile kastedilen, her iki uç noktaya yerleştirilen bir donanım veya yazılım vasıtasıyla, bir tarafın göndereceği datanın önce şifrelenip, ancak karşı tarafa ulaştığında çözülüp kullanılacak şekilde gönderilmesini ve alınmasını sağlamaktır. Böylece data güvensiz ortamda iken ele geçirilse bile şifrelenmiş olacağı için kötü niyetli birisi bu datayla bir şey yapamaz. Vpn’in diğer önemli bir özelliği ise güvenlikten öte iki ağı sanal bir hat üzerinden bağlamasıdır. Böylece uç noktalar aynı yerel ağa bağlı gibi çalışabilirler. Örnek vermek gerekirse, diyelim ki bizim için güvenlik hiç önemli değil ve bir client internet üzerinden bir server’a bağlanacak. Peki server’ın nesine bağlanacak? Dosya paylaşımına mı, o zaman aradaki bağlantı cihazlarında (adsl modem gibi) dosya paylaşımı için gerekli portları yönlendirmemiz lazım. Peki başka bir kaynağa daha bağlanmak isterse, örneğin ftp sunucusuna girmek istiyor veya on-line oyun oynayacaksınız o zaman da farklı yönlendirmeler yapmanız lazım. Kısacası her bir uygulama için adsl modem üzerinde (veya bağlantıyı sağlayan cihaz neyse) tek tek bu uygulamaları tanımlamak zorundayız. Bazı uygulamalar da (on-line oyunlar gibi) bu şekilde port yönlendirmesi (NAT-PAT) ile düzgün çalışmaz. Bunun yerine client ve server arasında sanki upuzun bir network kablosu varmış gibi bir VPN tüneli oluşturursak, iki taraf artık aynı hub’a bağlı çalışan bilgisayarlar gibi yani sanal bir yerel ağ üzerinden haberleşebilirler. 4 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Nasıl VPN Yapılır - OpenVPN? Internet’in yaygınlaşması ve buna bağlı olarak Vpn bağlantıların daha çok tercih edilmesiyle birlikte buna yönelik ürünler ve çözümler artmıştır. Vpn oluşturmak için iki uçta da evinizdeki ADSL modem gibi bir modem kullanabileceğiniz gibi (VPN destekleyen ADSL modemler), binlerce dolarlık cihazlar kullanarak da bu işi yapabilirsiniz. Peki, hiçbir donanım kullanmadan hatta ücretsiz bir yazılımla son derece güvenli ve kurulumu kolay bir VPN çözümü var desem? 5 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 OpenVPN açık kaynak kodlu, SSL kullanarak yüksek güvenlikli VPN kurmanıza yarayan ücretsiz bir yazılımdır. İlk başta açık kaynak kodlu olarak geliştirilmiş, daha sonra ticari versiyonları da çıkmıştır. Hatta büyük projeler için OpenVpn kullanan donanımsal ürünler de mevcuttur. Ancak hala ücretsiz versiyonu kullanılabilir. OpenVPN Kurulumu OpenVpn yazılımı 1MB boyutuyla boyundan büyük bir iş yapıyor diyebiliriz. Yazılımı indirip kurmadan önce yapımızı inceleyelim. Şimdi aşağıdaki gibi bir konfigürasyonumuz olsun: 6 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Burada internete bağlı iki bilgisayarımız var. Bunlardan birisine Client (terminal) diğerine Server (sunucu) diyelim. Client bilgisayarımız Adsl modemi ile internete çıkıyor. Kendi IP adresi 192.168.1.2, modemi de ağ geçidi olarak görüyor. Hatta IP adresini otomatik olarak modemden alıyor (dolayısı ile bir sonraki bağlantıda farklı bir IP alabilir, client tarafında bu bizim için bir problem değil). Server tarafında da benzer bir yapı var. Ancak Server bilgisayar IP adresini DHCP’den otomatik almamalı ve bizim elle verdiğimiz sabit IP değerlerine sahip olmalı. Ayrıca Server tarafında modemin Internet’e bağlanırken aldığı dış IP yani gerçek Internet IP’si de sabit olursa işimiz kolaylaşır. Çünkü Client bağlanırken bu dış IP’ye bağlantı kuracak, modem dışarıdan gelen bu bağlantıyı iç tarafta Server bilgisayarın IP’sine yönlendirecek. Dolayısı ile Server tarafında IP adreslerinin değişmez, sabit IP olarak tanımlanması gerekiyor. Server tarafında ADSL modemin arayüzüne girip, 1194 nolu UDP portunu Server bilgisayarın iç 7 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 IP adresine NAT yapalım. OpenVpn standart olarak 1194 UDP portundan bağlantı kuruyor. Bunu değiştirmek bizim elimizde, birazdan göreceğimiz gibi hangi portun kullanılacağını biz ayarlıyoruz. Ancak şimdi değiştirmeden standart ayarları yapalım: Şimdi OpenVPN kurulumuna geçelim. Önce bu küçük yazılımı indirelim: http://openvpn.se/download.html 8 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 bu adresten Installation Package (Both 32-bit and 64-bit TAP driver included): openvpn-2.0.9-gui-1.0.3-install.exe linkine tıklayarak yazılımı indirelim. Server tarafına da, Client tarafına da aynı yazılımı kuracağız. Yazılım içinde yapacağımız ayarlarla bir taraf Client diğer taraf Server olacak. Server Kurulumu İndirdiğimiz yazılımı önce server olan bilgisayara kuruluyoruz. Kurulum esnasında hiçbir ayarı değiştirmeden, Next diyerek kurulumu yapalım. Sürücü yükleme ile ilgili bir uyarı geldiğinde Yes diyerek devam edin. OpenVpn ağ bağlantıları içine bir tane sanal ağ bağdaştırıcı ekliyor. 9 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Bu sanal bağdaştırıcının ismini benim yaptığım gibi OpenVpn yaparsanız, diğerleriyle karıştırmazsınız. 10 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Ayrıca Bilgisayarım>sağ tık>yönet>hizmetler altından ulaşabileceğiniz gibi, bilgisayara bir Windows servisi yükleniyor. Ancak nedense bu servis otomatik başlayacak şekilde ayarlı gelmiyor. Server’da bunu otomatik hale getirmeliyiz. Böylece bilgisayar restart etse bile bağlantı kabul etmeye hazır hale gelsin. OpenVpn kurulduğunda aşağıdaki gibi bir dizin yapısı oluşuyor: 11 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Bizim belirteceğimiz OpenVpn “easy-rsa” Burada Şimdi gerekecek. yazıp er ey dh client istiyorsak, dosyayı bu ifconfig-pool-persist 192.168.0.0 " kesilmemesi ive ## sınırı # Ben C:Program port proto ca server ## max-clients status verb ## #diğer pem dh1024.pem dosyanın client özellikleri push bağlantı verinin 10 ca.crt push 1194 server.ovpn burada 1194 3ile kaydedelim. için “config” udp 120 openvpn-status.log 10.8.0.0 ayarlarpersist-keypersist-tun oluşan dosyasının da "route server bağlandığında, "dhcp-option nolu ## “config” bu aktarılırken ## dizinini ## FilesOpenVPNsample-config config kurulduktan bizim 255.255.255.0 4ismini için de, klasörü ca porttan dizinine dosyalarımız dosyaları udp oluşturulan arasında 255.255.255.0 yollanabilir ---#sertifikasının için dizine## ise ve Dosyanın belirtiyoruz protokolunu ismi, ipp.txt Açıklama tüm “easy-rsa” SSL bağlantı gerekli sıkıştırılması girelim sonra, client’a bu OpenVpn’in kurulacak ayarlarını bağlantı sanal ve – dosyaları WINS DNS DOMAIN ismini temel ve ilk satırı ismi kabul SSL ## belli ## kullanıyoruz, dizinleri IP başta ağ notepad 192.168.0.1" 192.168.0.1" adresiyle ##cert server.ovpn için ağ’da ##comp-lzo ## ayarları öğrenmek bir bağlantı eğer ## bağdaştıcısının etmek kullanabilmesi birazdan acme.com.local" süre bunları gerekli önemli. bazı içinde kullanılacak ile server.crt için aldım. data için bir beraber udp clientlara için inaktif sertifika oluşturacağız bekleyecek örnek yapalım. text Config gereken aktarımı ## 1194’de kullanıyor. Bu server’a tipi dosya gerekli için yapıyoruz## diğer ## config dosya IPdosyalarını klasöründe ##dev hep “config” blogu sertifika olmadığında server bekleyecek oluşturalım. DHCP bilgileri ## aynı aynı dosyalarını içinde ## tun ##klasörüne key IP anda dosyalarımız ## ## oluşturmak ipp.txt bağlantı daha adresinin dosyasının ## ca ## bağlanabilecek Ve inceleyebilirsiniz. birçok sertifikasının dosyasına bağlantının içine taşımamız ## için atanmasını için koyariz, bulunuyor. ayar aşağıdakileri gerekli ismi kullanacağız. girilebilir. yazıp, ##key client ismi ayarları burada keepal Yani bu ## serv .k Server için sertifikaların oluşturulması Şimdi OpenVpn’in muhtemelen zor gözüken ama yapması 1 dakika süren işlemine sıra geldi. OpenVpn daha önce bahsettiğimiz güvenli ağı oluşturmak için SSL (Secure Socket Layer) kullanmaktadır. Bu teknoloji güvenli web sitelerinde gezerken kullandığımız teknolojidir. Bankacılık, alışveriş vs gibi sitelerde web sitesinin adresi “http” yerine “https” olur ve web browser da güvenli bağlantı üzerinde olduğumuzu belirten bir simge ortaya çıkar. OpenVpn’de aynı şifreleme tekniğini kullanarak iki nokta arasında aktarılacak veriyi şifreler. Diğer Vpn çözümlerinde bu şifreleme işi farklı yöntemlerle yapılmaktadır. Ancak OpenVpn diğerlerine göre hem yüksek bir güvenlik sağlar hem de, her türlü network üzerinde çalışır. Ara cihazlarda (modemler, firewallar gibi) karmaşık ayarlar yapmak gerekmez. Sadece server tarafında yukarıda yazdığımız gibi tek bir port yönlendirmesi yeterlidir. Client tarafında ise hiçbir donanımsal ayar gerekmemektedir. OpenVpn’in basit bir çalışma mantığı var. İlk başta Linux platformu için geliştirilip sonra Windows’a uyarlandığı için Windows’ta alışık olduğumuz gibi grafik ara yüzlerden “tıklayarak” işlem yapmıyoruz. Bunun yerine dos moduna geçip komutlarla işlem yapacağız. 12 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Şimdi server için gerekli sertifikaları oluşturalım: Önce başlat>çalıştır>cmd yazarak komut istemine geçin. Daha sonra aşağıdaki komutlarla openvpn’in kurulu olduğu dizinin içindeki “easy-rsa” dizinine ulaşın: Şimdi aşağıdaki komutları sırasıyla çalıştıralım: C:Program FilesOpenVPNeasy-rsa> init-configC:Program FilesOpenVPNeasy-rsa> vars C:Program FilesOpenVPNeasy-rsa> clean-all Şimdi şunu yazalım : 13 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 C:Program FilesOpenVPNeasy-rsa> build-ca Size bazı değerler soracak bunları sadece enter’a basarak geçiyoruz. Sadece en son sorduğu “Common Name” değerine server’in bilgisayar ismini giriyoruz. Bizim Server bilgisayarımızın bilgisayar ismi de “Server” olduğu için böyle girdik. Şimdi C:Program FilesOpenVPNeasy-rsakeys klasörüne bakarsak burada bazı dosyaların oluştuğunu göreceğiz. 14 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 ca.crt isimli dosyayı C:Program FilesOpenVPNconfig dizinine kopyalıyoruz. Şimdi yine komut ekranında aşağıdaki komutları girelim : C:Program FilesOpenVPNeasy-rsa> vars C:Program FilesOpenVPNeasy-rsa> build-key-server server “Common Name” sorduğunda yine “Server” yazıyoruz. Bu komutlarla da yine C:Program FilesOpenVPNeasy-rsakeys klasörü içinde server.crt ve server.key isimli iki dosya oluşacak. Bunları da aynı ca.crt dosyası gibi “config” içine kopyalıyoruz. 15 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 En son C:Program FilesOpenVPNeasy-rsa> build-dh komutunu çalıştırıyoruz. Bu komut bizi biraz bekletiyor. İşlem tamamlandığında “keys” içinde oluşan son dosyamızı yani dh1024.pem dosyamızı da “config” içine kopyalıyoruz. Client Kurulumu Sıra geldi “client” kurulumumuza. Programı kuruluyoruz. Daha sonra C:Program FilesOpenVPNconfig içine client.ovpn isimli bir text dosya oluşturup, içine aşağıdakileri yazıp kaydediyoruz. ## acme.ovpn ## 16 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 client proto udp dev tun remote 85.85.85.85 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 3 Burada önemli olan nokta “remote 85.85.85.85 1194” satırı, burada 85.85.85.85 olan bizim örnek IP adresimiz yerine siz server tarafında modemin aldığı gerçek Internet IP adresini yazmalısınız. Bu ip adresini öğrenmek için Server bilgisayarından “whatismyip.com” sitesine girebilirsiniz. Böylece client Internet üzerinden Server tarafına nasıl ulaşacağını bilecektir. Client Sertifika Oluşturma Şimdi tekrar server bilgisayarımızın başına geçiyoruz. Her bir client için gerekli sertifika da server üzerinde oluşturuluyor çünkü. Aşağıdaki komutları çalıştırıyoruz: C:Program FilesOpenVPNeasy-rsa> vars C:Program FilesOpenVPNeasy-rsa> build-key client 17 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Bu komut ile yine “keys” klasörü içinde client.crt ve client.key isimli dosyalar oluşuyor. Bu iki dosyayı ve ilk başta oluşturduğumuz ca.crt dosyasını, bir şekilde (usb memory, mail vs) client bilgisayarına taşımamız ve oradaki config klasörü içine kopyalamamız gerekiyor. Aynı yöntemi kullanarak, başka client’lar için de sertifika ve key dosyalarını oluşturup (client2, alipc, muhasebevpn gibi) birden fazla client’ın server’a bağlanmasını sağlayabilirsiniz. Bağlantı Evet, kurulum bitti. Şimdi client tarafında sağ alt köşedeki simgeye sağ tıklayıp, connect yaptığımızda bağlanmamız lazım : 18 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Client tarafında test etmek için yine komut isteminde Ping 10.8.0.1 yapabiliriz. Hatırlarsanız yukarıda VPN içinde kullanılacak IP aralığı olarak 10.8.0.0 belirlemiştik. Bu durumda Server her zaman 10.8.0.1 IP’sini kendisi alacak, daha sonra bağlananlara diğer IP adreslerini verecektir. 19 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Şimdi ağ yapımıza bakarsak: Aramızda ki sanal-yerel ağ ile iki uç noktayı birleştirmiş durumdayız. Client’tan karşı uçtaki ağa erişmek 20 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Şimdi işi biraz daha zorlaştıralım, Client bilgisayardan Server2 ve Server3 bilgisayarlarına erişmeye çalışalım. Hatırlarsanız başlarda server.ovpn dosyasını oluştururken “Server kendisine bağlanan client’a bir IP atar ve aynı zamanda diğer IP parametrelerini de atayabilir.” demiştik ancak bu parametreleri kapalı durumda bırakmıştık. ## client bağlandığında, client’a IP adresiyle beraber diğer DHCP #### özellikleri de, yollanabilir – ilk başta bunları inaktif yapıyoruz## ## push "route 192.168.0.0 255.255.255.0" ## push "dhcp-option WINS 192.168.0.1" ## push "dhcp-option DNS 192.168.0.1" ## push "dhcp-option DOMAIN acme.com.local" Şimdi buradan bizim için gerekli parametreleri aktif hale getirip gerekli değişikliği yapalım. Ama önce Client bilgisayarda dos komut isteminde aşağıdaki komutu girelim: 21 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Route print Bu komut bize Client bilgisayarın routing tablosunu dökecektir. Burada dikkat edersek Client bilgisayar kendi bağlı olduğu yerel ağı (192.168.1.0), Vpn ile bağlı olduğu ağı (10.8.0.0) bilmektedir yani bu iki ağa ulaşmak için direkt bağlantısı (yerel ağ bağlantısı ve vpn bağlantısı) vardır. Bunun haricindeki tüm ağlara ulaşmak içinse “varsayılan ağ geçidinde” yazan atlama noktasını yani kendi tarafındaki ADSL modemin iç IP’sini bilmektedir. Bizim amacımız Client’ın Vpn ile bağlandığı taraftaki 192.168.2.0 networküne ulaşması olduğu için, öncelikle bu bilgiyi ona VPN bağlantısını yaptığı anda vermeliyiz. Dolayısı ile Server tarafında, server.ovpn dosyası içinde push "route 192.168.2.0 255.255.255.0" komutunu aktifleştirelim yani başındaki diyez (#) işaretlerini kaldırıp, adresi kontrol edelim. İlk başta oluşturduğumuz server.ovpn içinde 192.168.0.0 yazıyordu, bunu 192.168.2.0 yapmayı unutmayın! 22 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Şimdi Client bağlandığı anda, route tablosuna bu ekleme yapılacak. Dolayısı ile 192.168.2.0 networküne erişmek için 10.8.0.1 (server’ın VPN bacağı) gitmesi gerektiğini bilecek. Ancak Server bilgisayarının da kendisine gelen bu isteği iç networke yönlendirmesi yani route etmesi yani bir router gibi çalışması lazım. Bunu sağlamak için Server bilgisayarımızda bir registry ayarı yapmamız gerekiyor. Server bilgisayarda, Regedit’i açıp : HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters içinde IPEnableRouter değerini 1 yapıyoruz. Server bilgisayarı restart ediyoruz. Peki işimiz bitti mi? Hayır. Client bilgisayardan IP paketi yola çıkıyor, 192.168.2.3 bilgisayarına gidecek diyelim, önce VPN’i geçiyor. Server bilgisayara ulaşıyor o da router olduğu için paketi iç networkteki 23 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 192.168.2.3 IP’li Server2 bilgisayarına iletiyor. Buraya kadar güzel, ancak Server2 bilgisayarı kendisine 10.8.0.0 networkünden gelen bu pakete nasıl cevap vereceğini bilmiyor ki ! Server2 bilgisayarı da Client’ın ilk halinde olduğu gibi sadece bağlı olduğu yerel ağa ulaşmayı biliyor bir de default gateway (varsayılan ağ geçidi) olarak ADSL modemi gördüğü için kendisine gelen bu 10.8.0.0 paketini ADSL modem üzerinden cevaplamaya çalışacaktır. Bu durumda bizim ya gidip Server2, Server3 ve diğer ağdaki tüm bilgisayarlara tek tek “eğer size 10.8.0.0’lı bir paket gelirse, buna cevap vermek için 192.168.2.2 (server bilgisayarı) kullanmanız gerekir” diye elle route girmeliyiz veya zaten hepsinin varsayılan ağ geçidi olarak gördüğü ADSL modemin ayar ekranına girip böyle bir sabit route eklemeliyiz. 24 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Bunu yaptığımız anda artık Client bilgisayardan, Server bilgisayara erişebildiğimiz gibi aynı zamanda Server tarafında iç ağda bulunan tüm bilgisayara da erişebiliriz. OpenVpn Güvenliği ve Sertifika İptali Buraya kadar kurulumu yaptık ve umarım siz de başarılı bir şekilde çalıştırdınız. Dikkat ederseniz Openvpn yazılımını indiren ve server tarafının IP adresini bilen herhangi birisi bağlantı yapamamaktadır. Ancak bizim server üzerinde oluşturduğumuz sertifika dosyalarını kendi bilgisayarına kopyalarsa bağlantı yapabilir. Server üzerinde oluşturduğumuz ca.crt ve ca.key dosyaları önemlidir. ca.crt dosyasını her bir client’a dağıtırken, ca.key dosyasını ise güvenli bir ortamda saklamalıyız. Aynı şekilde server.crt ve server.key dosyaları da dışarıya sızmamalıdır. Burada öğrendiklerimizle istediğimiz kadar client için sertifika oluşturup dağıtarak birden fazla client'ın bağlantı yapmasını sağlayabiliriz. Bu şekilde VPN ile bağlanan clientlar artık yerel ağın bir üyesi gibi, uzak masaüstünden, dosya paylaşımına kadar normal bir yerel ağda ne 25 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 yapabiliyorlarsa yapabilirler. Ancak aradaki bağlantının yerel ağ gibi 100Mbit/Sn olmadığını, sonuçta server ve client tarafının Internet bağlantı hızıyla sınırlı olduğumuzu unutmamak gerekir. Örneğin client server'dan kendine bir dosya kopyalama işlemi yaptğında, bu dosya Internet üzerinden geçmek zorunda olduğu için ancak aradaki bağlantı hızıyla orantılı olarak aktarılacaktır. Özellikle ADSL bağlantılarda upload hızları düşük olduğu için, client kendisi 4mbit adsl ile internete bağlı bile olsa, server'dan dosya çekerken, server'ın upload hızından yüksek bir hıza erişemez. Aynı şekilde birden fazla bağlantı yapıldığından bu bant genişliği de ortak kullanılmaya başlanacaktır. Böyle bir bağlantıda ya web tabanlı, çok veri aktarımı yapmayan bir uygulama kullanılmalı veya client'lar VPN'den sonra iç ağda bir terminal server'a uzak masaüstü bağlantısı yapıp, sadece ekran görüntüsü aktarılacak şekilde çalışmalıdırlar. Peki daha önce sertifika verdiğimiz birisinin artık sisteme girmesini istemiyorsak ne yapacağız? Komut isteminde yukarıda yaptığımız gibi “easy-rsa” dizinine geçelim; C:Program FilesOpenVPNeasy-rsa> vars C:Program FilesOpenVPNeasy-rsa> revoke-full Client yazalım. 26 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Çıkan yazıların son satırında; error 23 at 0 depth lookup:certificate revoked gördüğümüzde Client isimli sertifika’nın iptal edildiğini anlıyoruz. Şimdi yine “keys” dizini içinde crl.pem isminde bir dosya oluştu. Bu dosyayı tahmin ettiğiniz gibi “config” dizinine kopyalıyoruz. Ayrıca server.ovpn dosyasına da crl-verify crl.pem satırını ekliyoruz. Böylece bağlanan Client’ın sertifikası kontrol edilecek ve eğer iptal edilmiş bir sertifika ise bağlanamayacaktır. 27 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Son Sözler OpenVpn basit kurulumu ve efektif çalışması ile eminim çok işinize yarayacaktır. Büyük projelerde kullanılacaksa, http://www.untangle.com adresinden indirebileceğiniz, kendi başına ayrı bir yazı konusu olan, yine açık kaynak bir firewall, uzaktan erişim ve saldırı tespit/önleme yazılımı olan Untangle’ı kullanabilirsiniz. Untangle içinde OpenVpn çözümü ücretsiz olarak yer almaktadır ve sertifika dağıtımını kolaylaştıran ve Client’ların konfigürasyonunu ve izlenmesini sağlayan araçlar bulunmaktadır. OpenVpn'in güvensiz ağlar üzerinde (örneğin şirket içi kablosuz ağlar gibi) güvenli bir bağlantı oluşturmak içinbir çok farklı uygulaması olabileceğini de hatırlatmak istiyorum. Hepinize kolay gelsin… 09/2009 Bu yazı turkcenet.org için hazırlanmıştır. 28 / 29 OpenVpn Kurulumu Salı, 08 Eylül 2009 11:50 - Son Güncelleme Salı, 15 Eylül 2009 12:22 Kaynak gösterilerek kullanılabilir. 29 / 29