Ubuntu OpenVPN
sunucu tarafı
apt-get install openvpn bridge-utils mkdir /etc/openvpn/easy-rsa/ cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ edit /etc/openvpn/easy-rsa/vars cd /etc/openvpn/easy-rsa/ chown -R root:admin . ./vars ./clean-all ./build-ca ./build-key-server server ./build-key istemci1 ./build-key istemci2 n sayidi client icin client adinda ssl sertifikasi olusturuyoruz ./build-dh
cd keys
burada olusan keylerin ozelligi su sekilde olacak ( sunucu ve client paylasimi icin )
ca.crt sunucu ve tum istemcilerde olmali
ca.key sadece CA makinede olmali
server.crt sadece sunucu makinede
server.key sadece sunucu makinede
istemci1.crt sadece istemci1 makinasinda
istemci1.key sadece istemci1 makinasinda
istemci2crt sadece istemci2 makinasinda
istemci2key sadece istemci2 makinasinda
linux sunucu tarafinda /etc/openvpn altinda
pico server.conf dosyasi yaratilir ve icerigi su sekilde olur
# vpn servisinin hangi ip adresini dinleyecegi set edilir local 123.123.123.123 port 1194 proto tcp ;dev tap0 # bridge mode layer2 yapacak isek kullaniyoruz sadece # olusturulacak tunel interface dev tun0 #CA Sunucunun sertifikası. Burada tam yol belirtilmelidir. Bu sertifika tüm sunucu ve istemcilerde bulunmak zorundadır. ca /etc/openvpn/easy-rsa/keys/ca.crt #VPN sunucunun sertifikası. Sadece sunucu tarafında bulunmalıdır cert /etc/openvpn/easy-rsa/keys/server.crt #bu dosya çok önemlidir. Diğer tüm sertifikaları imzalamada kullanılır. key /etc/openvpn/easy-rsa/keys/server.key #Diffie hellman parametrelerinin bulunduğu dosya dh /etc/openvpn/easy-rsa/keys/dh1024.pem #VPN sunucuya bağlanarak IP alacak istemcilerin IP havuzunu belirler. Havuz içinde ilk IP adresi VPN sunucunun IP adresi olacaktır. # sistem bunu otomatik yapacakdir. server 10.8.0.0 255.255.255.0 #VPN sunucuya bağlanarak IP adresi alan istemcilerin kayıtlarını tutar. VPN sunucuda yaşanacak bir bağlantı kopması sonrasında istemcilerin eski IP adreslerini almalarını sağlar. ifconfig-pool-persist ipler.txt #VPN ile bağlanan istemcileri VPN sunucu arkasındaki başka ağlara da erişim izni için yönlendirme tanımı. ;push "route 192.168.20.0 255.255.255.0" #VPN sunucuya bağlanan istemcilerin varsayılan geçit yolunu(default gateway) VPN sunucu olarak ayarla anlamına gelir. Bu sekilde istemcinin özel olarak yönlendirilmemiş tüm trafiği VPN gateway aracılığı ile çıkacaktır push "redirect-gateway" #VPN istemcilerinin birbirini görmesi isteniliyor ise secilmek zorunda diger turlu client lar birbirisini goremez client-to-client #Sunucu ve istemcilerin birbirinin durumundan haberdar olmalarını sağlayan bir yapı. Anlamı her 20 saniyede bir kontrol et, 120sn içerisinde cevap gelmezse bağlantıyı kopar. ;keepalive 20 120 #eşzamanlı 200 kullanıcıya izin ver. max-clients 200 #VPN sunucunun durumu hakkında özet bilgi için. status openvpn-status.log # loglama log /var/log/openvpn.log log-append /var/log/openvpn.log verb 9 # 0 is silent, except for fatal errors # 4 is reasonable for general usage # 5 and 6 can help to debug connection problems # 9 is extremely verbose # sıkistirma algoritmasini belirlenir. karsi tarafdada aynisinin secilmesi gerekiyor # yavas baglantilarda hiz acisindan fayda saglar comp-lzo
———————————————server.conf dosyasinin sonu ————————————————-
windows yada linux tarafindaki
client conf dosyasinda olmasi gereken ayarlar ise sunlardi
eger linux ise
/etc/openvpn/client.conf dosyasi yaratilir ve icine asagidaki ibareler yazilir
client dev tun0 proto udp remote 123.123.123.123 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert istemci.crt key istemci.key ns-cert-type server comp-lzo verb 9
eger windows makina ise
kurulum dizini icinde conf klasorunde ( keylerde burada olmak zorunda )
client.ovpn adinda bir dosya olusturup ayni degerleri yaziyoruz