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

Benzer belgeler