OPEN VPN KURULUMU

Open VPN , yazılan açık kaynak kodlu VPN çözümüdür. Noktadan noktaya ve siteden siteye güvenli bağlantı sağlayan OpenVPN bridged ve routed olmak üzere iki farklı moda çalışabilir. SSL/TLS protokolleri üzerinden anahtar değiş tokuşu yapar.
NAT, Firewall ve proxy uygulamalarını çift yönlü olarak aşabilme yeteneğine sahiptir. İlave donanım, ISP yardımı gerekmeksizin veya ilave para harcamadan rahatlıkla kullanabiliriz.

Routed OpenVPN’de istemciler ve sunucu bizim oluşturduğumuz config dosyasında belirtilen havuzdan IP alırlar. Bridged OpenVPN’de ise istemciler sunucunun bulunduğu fiziksel ağdan bir IP alırlar. Bir diğer önemli husus ise: routed OpenVPN broadcast trafiğine izin verirken bridged çözümünde bu kabiliyet yoktur. Ağ bağdaştırıcısı routed için tun, bridged için tap olur.

İhtiyaçlarımız :

Server :Windows Server 2003 veya Win Xp SP3 PC
Clientler :Windows Xp SP3 (uyumluluk modu yardımı ile Win7’de kullanabiliriz, denedim çalışıyor.)
OpenVPN yazılımı :o_penvpn-2.0.9-gui-1.0.3-install.exe

Resmin kafada oluşması için topolojimiz (clientler farklı farklı lokasyonlarda olabilir) :

http://www.ciscotr.com/forum/attachm...1&d=1358378665

Server Tarafında VPN kurulumu :

Öncelikle openvpn-2.0.9-gui-1.0.3-install.exe adresinden indiriyoruz.

İndirdiğimiz yazılımı hiçbir değişiklik yapmadan sürekli next/yes diyerek kuruyoruz. (Aynı kurulum işlemini clientler içinde yapıyoruz, yazılım hem client hem server olarak kullanılabilmektedir. Fark yapılandırma ile ortaya çıkmaktadır)

Kurulum sona erdiğinde TAP-Win32 adapter isminde yeni bir ağ bağdaştırıcının oluştuğunu görürüz. Aynı zamanda Windows hizmetlerde, openvpn servisi oluşur.

Tap-win32 adaptörün çalışma modu default olarak software controlled olur. Yani tun ve tap ne şekilde çalışacağınız biz belirleyeceğiz.

Hizmetlerde openvpn servisinin oluştuğunu söylemiştik. Ancak sadece oluşmuştur, onu başlatmamız gerekiyor.

Çalıştır>cmd girip :

sc start openvpn komutu ile servisi başlatıyoruz.
sc config openvpn start = auto komutu ile pc her açılışında servisin otomatik başlamasını sağlıyoruz.
Bu işlemleri dilerseniz hizmetlerden el ile yapılandırabilirsiniz.

OpenVpn yazılımı C:\Program Files\OpenVPN klasörü içine gerçekleşiyor. Bu dizinde bizim için önemli olan “config” ve “easy-rsa” klasörleridir. Config içinde sisteme ait yapılandırma ve ssl için olması gereken sertifikalar bulunmaktadır. Easy-rsa içinde ise sertifika oluşturma işlemlerini yapıp oluşturduğumuz sertifikaları openvpn’in kullanabilmesi için config’e taşıyacağız.

İlk olarak server konfigürasyon dosyasını yapılandıracağız. Config klasörüne girerek bir yeni word pad oluşturuyoruz. Bu arada klasör seçeneklerinden “Bilinen dosya türleri için uzantıları gizle” opsiyonunu iptal ediyoruz ve uygula diyoruz. Bunu neden yaptığımızı sanırım hepimiz biliyoruz.

Yapılandırmamızı aşağıdaki gibi yapıyoruz gerekli açıklamaları üzerine yazdım:

## server.ovpn ---- Açıklamalar ##

## 1194 nolu portu kullanacağız iana’dan teyit edilip uygun başka bir port kullanılabilir ##
port 1194

## udp protokolunu kullanıyoruz ##
proto udp

## oluşturulan sanal ağ bağdaştıcısının tip routedd vpn yapacağımız için tun diyoruz##
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 kurulacak ağ’da kullanılacak IP blogu, ##
## dilediğiniz şekilde subnetleyebilirsiniz ##
server 10.11.12.0 255.255.255.0

## eğer bazı clientlara hep aynı IP adresinin atanmasını istiyorsak, ##
## gerekli bilgileri ipp.txt dosyasına yazıp, bu dosyayı da config dizine##
## koyariz sql tarzı uygulamalarda stabilite sağlıyor##
ifconfig-pool-persist ipp.txt

## client bağlandığında, client’a IP adresiyle beraber diğer DHCP ##
## özellikleri de, yollanabilir – ilk başta bunları inaktif yapıyoruz ben zaten http trafiği istemiyorum bu sebeple dns adresi alsınlar istemedim.##
## 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

## server’a aynı anda bağlanabilecek client sayısı
max-clients 4

## opsiyonel olmakla birlikte clientlerin birbiri ile görüşmesini istiyorsak ##
client-to-client

## bant genişliğini dilersek sınırlayabiliriz ##
shaper n
## n değeri 100 bps ile 100 Mbps arasında olabilir. Ancak çok düşük hızlarda TCP protokolü kullanırsak geçikme sürekli artıyor ve connecion time out oluyor. Bunun çözümü ise MTU'u biraz düşürmektir. ##

#

#

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

## verb modları 0- 6 arasında değişebilir 1-4 normal kullanım içindir#

Bu ayarlar elzem olanlardır. Çalışması için yeterlidir. Ancak buraya daha bir çok detay girebiliriz. Kaydederek çıkıyoruz ve ismini server.ovpn olarak değiştiriyoruz. Uzantı .txt olmasın dikkat!! Bunun olmaması için yukarıda bir yerlerde yapmamız gereken işlemi yazdık.

Sertifika İşlemleri :

Şimdi OpenVpn’in karışık görünse de çok kısa süren sertifika oluşturma işini yapacağız.. 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. OpenVpn’de aynı şifreleme tekniğini kullanarak iki nokta arasında aktarılacak veriyi şifreler. Farkındaysanız sadece port numarası farklı. HTTPS 443 iken bu 1194 veya uygun görülen bir porttur.

İlk başta Linux makinaya kurduğum bu yazılımdan Linux makinada verim alamadım. Bunun sebebi ise makinanın üzerinde aynı anda firewall,Proxy,routing,ws gibi görevler olmasıdır..Ama unutmayalım ki openvpn Linux için yaratılmıştır..

Tekrar kuruluma dönelim :
Önce başlat>çalıştır>cmd

Cmd ekranında :

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

Sonra sırası ile aşağıdaki komutları girerek Certificate Authority’i kuruyoruz :

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

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. Yada sadece server yazıyoruz. Dilerseniz diğer seçenekleri de editleyebilirsiniz. Sadece son iki sorguya yes diyoruz. Bizim Server bilgisayarımızın bilgisayar ismi de “Server” olduğu için böyle girdik. Şimdi C:\Program Files\OpenVPN\easy-rsa\keys klasörüne bakarsak burada bazı dosyaların oluştuğunu göreceğiz. Buradan ca.crt isimli dosyayı C:\Program Files\OpenVPN\config dizinine kopyalıyoruz.

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

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

“Common Name” sorduğunda yine “Server” yazıyoruz. Son iki sorguya yes diyoruz. Bu komutlarla da yine C:\Program Files\OpenVPN\easy-rsa\keys 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.

En son key Exchange algoritmasını oluşturuyoruz. Diffie Hellman !

C:\Program Files\OpenVPN\easy-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 Tarafında Kurulum:
Sıra geldi “client” kurulumumuza. Open VPN’i uruluyoruz. Daha sonra C:\Program Files\OpenVPN\config içinde yeni bir text dosyası oluşturup içini aşağıdaki gibi dolduruyoruz , kaydediyoruz ve ismini client.ovpn olarak değştiriyoruz.

## client ayarzzzzzz ##
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

x.x.x.x ip adresi merkez’e ait modem/router’in sabit wan ip adresi olmalıdır. Başka türlü client serveri internette yıllarca arasa bulamaz Sabit ip adresiniz yoksa dinamik dns gibi bir çözüm düşünebilirsiniz.

Client Sertifikalarını Oluşturma :

İlk otobüse bilet alıyor ve server'in başına geçiyoruz Client sertifiklarını da server üzerinde oluşturacağız. İlk uzak lokasyondaki pc client olsun ( adı herhangi bir şeyde olabilir) ..

Aşağıdaki komutları çalıştırıyoruz:

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

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ı, uzak lokasyonda bulunan client pc’nin config klasörü içine kopyalamamız gerekiyor. Zip’leyip mail ile gönderebilirsiniz. Aynı yöntemle birden fazla değişik isimlerde client oluşturabilirsiniz bunu unutmayın.

Server ve client kurulumu bitti. Yapmamız gereken işlem adımı port yönlendirmek.
Modemlerde wan 1194 udp portuna gelen istekleri içerideki VPN serverin statik ip adresine ve 1194 portuna yönlendireceksiniz. Airties vb modemlerde Nat menüsü altında port forwarding kısmından kolayca yapabilirsiniz.

Burada eşsiz görülen ; Türkçe menülü bir modem’e yazılmış İngilizce bir resimli anlatım var faydalanabilirsiniz

The Default Port Forwarding Guide for the AirTies RT-205 - PortForward.com

Eğer router varsa ve mevcut nat yapılandırması doğru ise , mesela cisco ise :

ip nat inside source static udp a.b.c.d 1194 (wan_int) 1194 komutu ile bu işi halledersiniz.

Arada firewall varsa oradada aynı işlem yapılmalıdır. Herhangi bir unix firewall üzerinde iptables için :

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -p udp -d x.y.x.j --dport 1194 -j DNAT --to-destination a.b.c.d
# iptables -A FORWARD -p udp --dport 1194 -j ACCEPT
# iptables -A INPUT -p udp --dport 1194 -j ACCEPT
# iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
# service iptables save

a.b.c.d : VPN server WAN ip adresidir. x.y.z.j ise firewall Lan side ip adresidir.
(Garanti olması adına server makinada 1194 udp bağlantı noktasına gelen/giden trafiğe izin vermek için bir firewall rule girebiliriz)

Son adımlar ise (ilk server pc’de yapmak şartı ile) :

Sağ altta görünen openvpn gui simgesine sağ tıklayıp connect demek ve ping ile bağlantıyı test etmektir.
%100 çalışıyor.

İyi çalışmalar.
OPEN VPN KURULUMU OPEN VPN KURULUMU Reviewed by Metin Bedir on 00:44:00 Rating: 5

Hiç yorum yok:

Yorum Kuralları

1. Her yorum gönderen kişi, kendi gönderdiği yorumdan sorumlu olmaktadır.

2. Yazı ile herhangi bir ilgisi bulunmayan yorumların onaylanmadığını belirtmek isteriz.

Blogger tarafından desteklenmektedir.