Windows Üzerine OpenVPN Server Kurulumu

Windows Üzerine OpenVPN Server Kurulumu

Teknoloji erkut 75 Okunma

Günümüzde internette gezinmek izlenmeler ve sağlanmayan güvenlik destekleri yüzünden internet kullanıcılarının şikayetleri büyümektedir. Rahat dolaşımı engelleyen bu problemlere internet sağlayıcıları yeni birçok çözüm getirmiştir. OpenVPN, açık kaynak koduna sahip, donanımdan bağımsız bir şekilde sertifika desteği ile bulunan performansı da iyi olan bir VPN yani Virtual Private Network uygulamasıdır.

OpenVPN, noktadan noktaya ya da siteden siteye güvenli bağlantı sağlamaktadır. Bridged ve routed olmak üzere iki farklı modda çalışabilmektedir. SSL/TLS protokolleri üzerinden anahtar değiş tokuşu yapan VPN uygulamasıdır. NAT, Firewall ve Proxy uygulamalarını çift yönlü olarak aşabilme yeteneğine sahip olup, ilave donanım yani ISP yardımı gerekmeksizin ya da ilave para harcamadan rahatlıkla kullanılabilecek bir programdır. Routed OpenVPN modunda istemciler ve sunucular istenilen şekilde oluşturulan config dosyasında belirtilen havuzdan IP adresi alırlar. Bridged OpenVPN modunda ise istemciler sunucunun bulunduğu fiziksel ağdan bir IP almaktadırlar. Bir diğer önemli konuyu belirtmek gerekirse, routed OpenVPN broadcast trafiğine izin verirken bridged OpenVPN modu çözümünde bu özellik yoktur. Ağ bağdaştırıcısı routed için tun, bridged için tap tanımını yapar.

OpenVPN kurmak için öncelikle gerekenler şunlardır:
Server: Windows Server 2003 veya Win Xp SP3 PC
Clientler: Windows Xp SP3 (uyumluluk modu yardımı ile Win7’de kullanılabilir.)
OpenVPN yazılımı: o_penvpn-2.0.9-gui-1.0.3-install.exe

Server tarafından VPN kurulumu şu şekilde gerçekleştirilir:
Öncelikle verilen adresten OpenVPN uygulamasını indirmek gerekmektedir. İndirilen yazılımın üzerinde hiçbir değişiklik yapılmadan sürekli next ve yes diyerek kurulmaktadır. Aynı kurulum işlemi clientler için de yapılmalı ve yazılım hem client hem de server olarak kullanılabilmektedir. Kurulum sona erdiğinde TAP-Win32 adapter isminde yeni bir ağ bağdaştırıcının oluştuğu görülebilmektedir. Aynı zamanda Windows hizmetlerde, OpenVPN servisi de oluşmaktadır. TAP-Win32 adapter’in çalışma modu default olarak software controlled olur. Yani tun ve tap ne şekilde çalışılacağını kişi belirlemektedir. Hizmetlerde oluşan OpenVPN’nin de başlatılması gerekmektedir. Bunun için izlenecek yol:

Çalıştır>cmd
sc start openvpn

komutu ile servis başlatılır.

sc config openvpn start = auto

komutu ile de PC her açıldığında servisin otomatik olarak başlamasını sağlamaktır. Ayrıca bu ayarlar isteğe bağlı şekilde hizmetlerden de gerçekleştirilebilir.

OpenVPN yazılımı C:\Program Files\OpenVPN klasörü içine kurulmakta ve burada gerçekleşmektedir. Bu dizinde kurulum açısından önem arz eden dosya ise “config” ve “easy-rsa” dosyalarıdır. Config içerisinde sisteme ait yapılandırma ve ssl için olması gereken tüm sertifikalar bulunmaktadır. Easy-rsa içerisinde ise sertifika oluşturma işlemleri yapılıp oluşturulan OpenVPN’nin kullanılabilmesi için config dosyasına taşınması gerekmektedir. İlk olarak yapılması gereken işlem server konfigürasyon dosyasını yapılandırmaktır. Config klasörüne girilerek yeni bir word pad oluşturulur. Klasör seçeneklerinden “Bilinen dosya türleri için uzantıları gizle” opsiyonunu iptal ederek uygula yapıldıktan sonra gizli dosyalar ortaya çıkacaktır.

Örnek bir yapılandırma şekli şu şekilde olmalıdır:

*server.ovpn —- Açıklamalar*

*1194 nolu port ya da iana’dan bakılarak teyit edilerek uygun başka bir port kullanılabilmektedir.*
port 1194

*udp protokolü kullanılmaktadır.*
proto udp

*oluşturulan sanal ağ bağdaştırıcısının tip routed vpn olacağı için tun kodunu girmek gerekmektedir.*
dev tun

*ca sertifikasının adı*
ca ca.crt

*ca sertifikasının adı*
cert server.crt

*server key dosyasının adı*
key server.key

*pem dosyasının adı*
dh dh1024.pem

*client ile server arasında kullanılacak olan ağda kullanılacak IP bloğu*
*istenilen şekilde kodlanabilir*
server 10.11.12.0 255.255.255.0

*bazı clientlere hep aynı IP adresi atanması isteniyorsa*
*gerekli bilgileri ipp.txt dosyasına yazılarak, bu dosyayı da config dizinine atılması gerekmektedir.*
*sql tarzı uygulamalarda stabilite sağlamaktadır*
ifconfig-pool-persist ipp.txt

*client bağlandığında, cliente IP adresiyle beraber diğer DHCP özellikleri de yollanabilir*
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 abc.com.yerel”

*bağlantı kurulduktan sonra, belli bir süre hatta veri aktarımı olmama durumunda bağlantının kesilmemesi için*
keepalive 10 120

*sıkıştırma*
comp-lzo

*servera aynı anda bağlanabilecek client sayısını belirlemek için*
max-clients 4

*opsiyonel olmakla beraber clientlerin birbiri ile görüşmesi isteniyorsa*
client-to-client

*bant genişliği istenildiği takdirde sınırlanabilir*
shaper n
*n değeri 100 bps ila 100 Mbps arasında olabilmektedir. Fakat çok düşük hızlarda TCP protokolü kullanılırsa gecikme sürekli artmakta ve bağlantı zaman aşımına uğramaktadır. Bunun çözümü ise MTU ayarını biraz düşürmektir.*

*diğer ayarlar*
persist-key
persist-tun
status openvpn-status.log
verb 3

*verb modları 0 ila 6 arasında değişebilmektedir. 1 ve 4 arası normal kullanımlar için idealdir.*

Bu ayarlar normal şartlarda kullanılması gereken kullanım ayarlarıdır. OpenVPN çalışması için yeterli olan ana ayarlardır. Ancak buraya daha birçok detay da eklenebilmektedir. Kaydedildikten sonra çıkarak dosyanın adını “server.ovpn olarak değiştirilir. Uzantı “.txt” uzantılı olmamalıdır. Bunun nolmaması için yukarıda bir yerlerde yapılması gereken işlem yazılmaktadır.

Sertifika işlemleri de şu şekilde yapılmaktadır:

OpenVPN karışık görünse de çok kısa ve hızlı bir şekilde sertifika oluşturma işlemi yapılmaktadır. OpenVPN güvenli ağ kurmak için SSL kullanmaktır. Bu teknoloji ile güvenli web sitelerinde gezmek mümkün hale gelmektedir. OpenVPN aynı şifreleme tekniği kullanılarak iki nokta arasında aktarılacak veriyi şifrelemektedir. Dikkat edildiği üzere sadece port numarası farklıdır. HTTPS 443 iken bu 1194 ya da daha uygun görülen bir porttur.

Tekrar kuruluma dönmek gerekirse:
Başlat>çalıştır>cmd

Cmd ekranında:

Cd C:\Program Files\OpenVPN\easy-rsa\

Sonrası sırası ile aşağıdaki komutlar girilerek Certificate Authority kurulur:

C:\Program Files\OpenVPN\easy-rsa> init-config
C:\Program Files\OpenVPN\easy-rsa> vars
C:\Program Files\OpenVPN\easy-rsa> clean-all
C:\Program Files\OpenVPN\easy-rsa> build-ca

Bu işlem sırasında komut sistemi bazı sorular soracaktır. Bu sorular enter’a basılarak geçilir. Sadece en son sorduğu soruya “Common Name” değerine server’ın bilgisayar ismi yazılır veya sadece server yazılır. İstenilen seçenekleri de kişinin isteği üzerine düzenleyebilmektedir. Sadece son iki soruya da “yes” denir. Bu adımdan sonra C:\Program Files\OpenVPN\easy-rsa\keys klasörüne bakıldığında bazı dosyaların oluştuğu görülmektedir. Buradan ca.crt isimli dosya C:\Program Files\OpenVPN\config dizinine kopyalayarak bir sonraki adıma geçilebilmektedir.

Yine komut ekranında aşağıdaki komutları girilmeli ve server için key ile sertifikayı oluşturulmalı:

C:\Program Files\OpenVPN\easy-rsa> vars
C:\Program Files\OpenVPN\easy-rsa> build-key-server server

“Common Name” sorulduğunda yine “Server” yazılmalı ve son iki sorguyu yes diyerek geçilmeli. Bu komutlarla da yine C:\Program Files\easy-rsa\keys klasörü içinde server.crt ve server.key isimli iki dosya oluşacaktır. Bunları da aynı ca.crt dosyası gibi “config” içine kopyalanmalıdır.

Son olarak key Exchange algoritması oluşturulmalıdır.

C:\Program Files\OpenVPN\easy-rsa>build-dh

komutu çalıştırılır. Bu komut çalıştırıldıktan sonra biraz beklenmesi gerekmektedir. İşlem tamamlandığında “keys” içinde oluşan son dosya yani dh1024.pem dosyası da “config” içerisine kopyalanır.

Client Tarafında Kurulum:
Client kurulumu da yapıldıktan sonra OpenVPN kullanıma hazır hale gelecektir. C:\Program Files\OpenVPN\config içerisindeki yeni bir text dosyası oluşturup içini şu kodlarla doldurarak kaydedilmeli ve ismi de client.ovpn olarak değiştirilmelidir. Kodlar:

client
proto udp
dev tun
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3

Bununla birlikte client sertifikaları da kodlanarak OpenVPN kullanıma hazır hale gelmektedir.

Sosyal Ağlarda Paylaş

erkut {erkut}

Bir Cevap Yazın

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