INNOVAKTIF

BULUT BİLİŞİM İŞ GELİŞTİRME

innovaktif google apps
  • Anasayfa
  • Blog
  • Hizmetlerimiz
    • Google Apps İşletme Sürümü
    • Google Apps Eğitim Sürümü
    • Zoho Apps İle Hızlanın
    • Hesmut
    • Fatura Kolay
    • Zoho Creator Uygulaması
  • Hakkımızda
  • Başarı Hikayeleri
  • Bize Ulaşın

Kendi OpenVPN Sunucunuzu Kurun

editör Erkan Başavcı

VPNFirma dışındayken firma sunucularına ve uygulamalarına bağlanmak ya da herkese açık internet kullanırken bilgisayar ve bağlantılarınızın özellikle Wi-Fi güvenliğini artırmak için VPN kullanmak gayet doğru bir karardır. OpenVPN kendini kanıtlamış, sağlam ve son derece esnek yapısıyla şifreleme, kimlik doğrulama ve sertifikasyon özelliklerine sahip tek bir TCP/UDP port üzerinden çalışan güvenilir bir IP tünel uygulamasıdır. O yüzden bu kolay kurulum ve yönetimiyle tercih sebebidir.

Bu yazıda anlatılan sistem 32 bit Linux Centos 6.5 VPS üzerinde çalışan OpenVPN 2.3.3 sürümü içindir.

Bu sunucuyu kendi firma ağı içerisine kuracağınız gibi özellikle yurtdışından bir VPS bilgisayarı kiralayarak da kullanabilirsiniz. OpenVPN çok fazla CPU ve bellek kullanmadığından en basit konfigürasyonlarda çalıştırabilirsiniz. Bunun için Digital Ocean, Linode ya da Ramnode firmalarında güvenilir ve ucuz VPS bulmak mümkün.

Kurulum

VPS ya da kendimizin kurduğu Centos Linux’a root olarak login oluyoruz. Eğer bir VPS kiralamışsak, tedarikçi firmanın ayarlarla ilgili ekranından TUN özelliğinin açık (enable) olmasına dikkat ediyoruz. Aşağıdaki komutla da doğrulamasını yapabiliriz:

cat /dev/net/tun

Eğer bu komutun sonucu;

cat: /dev/net/tun: File descriptor in bad state

şeklindeyse TUN arabirimi aktif haldedir. Devam edebiliriz.

Sistemimizi açtıktan sonra yapacağımız ilk iş EPEL deposunu (Extra Packages for Enterprise Linux) yüklemek olacak. Bunu aşağıdaki komutla yapıyoruz:

yum install epel-release

ya da

wget http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
yum install epel-release-6-8.noarch.rpm

Hemen ardından OpenVPN’i kuruyoruz:

yum install openvpn

Eğer vi yerine nano kullanmak istiyorsanız:

yum install nano

OpenVPN kurulumu bitmiştir. Şimdi ayarlar kısmına geçebiliriz.

Ayarlar

OpenVPN ile beraber gelen örnek konfigürasyon dosyasını OpenVPN’in olduğu klasöre kopyalıyoruz:

cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn/
cd /etc/openvpn/

Daha sonra bu dosyayı nano ya da vi editörüyle açıyoruz

nano server.conf

Bu dosyanın içindeki ayarları sırasıyla değiştirmeye başlıyoruz. Öncelikle TCP ya da UDP protokollerinden birini seçmemiz gerekiyor. TCP daha kontrollü ama yavaş iken UDP daha serbest -ve bu yüzden hızlı- bir protokol olduğundan genelde UDP tercih edilir.

# TCP or UDP server?
; proto tcp
proto udp

Bütün trafiğimiz bu VPN suncusu üzerinden gitsin istiyorsak aşağıdaki komutu konfigürasyon dosyası içerisinde yer almalı:

push redirect-gateway def1 bypass-dhcp

DNS sunucuları olarak örneğin OpenDNS’in sunucularını kullanabilirsiniz (istediğiniz DNS sunucularını yazabilirsiniz):

push 'dhcp-option DNS 208.67.222.222'
push 'dhcp-option DNS 208.67.220.220'

Sertifika dosyalarınız ve bulundukları yer için aşağıdakileri yazıyoruz:

ca /etc/openvpn/easy/keys/ca.crt
cert /etc/openvpn/easy/keys/server.crt
key /etc/openvpn/easy/keys/server.key

Diffie-Hellman parametrelerini 2048 bit olacak şekilde yazıyoruz:

dh /etc/openvpn/easy/keys/dh2048.pem

Sunucu güvenliği için OpenVPN’i en düşük yetkilerle çalıştırmak için:

user nobody
group nobody

Sunucu IP adresini eğer ağınız ile çakışmıyorsa aşağıdaki gibi yapın:

server 10.8.0.0 255.255.255.0

Diğer ayarlar varsayılan haliyle kalabilir.

Sertifikalar

Öncelikle RSA servisini kuruyoruz:

yum install easy-rsa
mkdir -p /etc/openvpn/easy/keys
cd /usr/share/easy-rsa/2.0
cp -r * /etc/openvpn/easy/

Daha sonra RSA servisinin ayarlarına bakalım:

cd /etc/openvpn/easy/
nano vars

Aşağıdaki değişiklikleri yapın:

export KEY_COUNTRY="TR"
export KEY_PROVINCE="TR"
export KEY_CITY="Istanbul"
export KEY_ORG="XX"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU=""

Şimdi sunucu sertifikalarını oluşturabiliriz:

. ./vars
./clean-all
/build-ca
./build-key-server server

Diffie Helmann anahtarını oluşturun

./build-dh

Bu komutlarla sunucumuzun sertifikalarını oluşturmuş olduk.

IP işleri

Kurulu değilse iptables servisini kurun.

yum install iptables-services -y

IP yönlendirmesi için aşağıdakileri yapalım:

nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

Iptables komutları (xen ve KMZ ise)

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Eğer sunucumuz OpenVZ ise

iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to-source sunucu_IP
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source sunucu_IP
service iptables save

Selinux varsa kapatalım

nano /etc/selinux/config

Buradaki enforcing ayarını disabled yapalım:

SELINUX=disabled

Sunucu her başladığında OpenVPN ve iptables servisleri de başlasın.

chkconfig openvpn on
chkconfig iptables on

OpenVPN’i artık başlatabilirsiniz

service openvpn start

Kullanıcılar için key ve sertifika dosyaları oluşturmak

Aşağıdaki komutları sırasıyla çalıştırıyoruz, kullanıcı_adı kısmına ilgili kullanıcının adını yazıyoruz:

cd /etc/openvpn/easy
. ./vars
./build-key kullanıcı_adı

Kulllanıcılara config dosyasını kopyalamak:

Kendi (Linux) bilgisayarımızdan aşağıdaki komutlarla sunucu ve kullanıcı sertifikalarını kopyalıyoruz, örneğimizde sunucu_adı olarak server seçmiştik:

scp root@vpn_sunucusu:/etc/openvpn/easy/keys/kullanıcı_adı.key .
scp root@vpn_sunucusu:/etc/openvpn/easy/keys/kullanıcı_adı.crt .
scp root@vpn_sunucusu:/etc/openvpn/easy/keys/sunucu_adi.crt .

Kullanıcının OpenVPN Config dosyası: sunucu_adı.ovpn

client
dev tun
proto udp
remote sunucu_adı_veya_IP 1194
nobind
persist-key
persist-tun
comp-lzo
ca sunucu_adı.crt
cert kullanıcı_adı.crt
key kullanıcı_adı.key
script-security 2 system
redirect-gateway
pull
verb 2
mute-replay-warnings
nobind
resolv-retry infinite
route-delay 2

Bu dosyayı ve kopyaladığımız diğer sertifika ve anahtar dosyalarını kullanıcı bilgisayarına kopyalayıp/gönderip kullanılabiliriz.

İşin sonuna geldik. Artık bu dosyalar ile Windows, Mac, Android ya da iOS işletim sistemlerinden OpenVPN Client kullanarak, OpenVPN sunucusuna erişebiliriz.

OpenVPN kullanıcı uygulamaları:

Windows için OpenVPN sitesinden,

Mac için Tunnelblick,

Androd için OpenVPN Connect,

iOS için OpenVPN Connect

Bu uygulamaları kurduktan sonra, hazırladığımız dosyaları kendi cihazımıza transfer edip kullanmaya başlayabiliriz.

December 16, 2014 Tagged With: centos, hızlı, kendinizin, linux, openvpn, sunucusu, ucuz, vps, Wi-Fi koruma

  • Email
  • Facebook
  • Google+
  • Linkedin
  • Twitter

Son Yazılar

  • 6 basit adımda Gmail bir masaüstü e-posta uygulaması gibi nasıl kullanılır?
  • Android cihazlarda APK dosyası açılamıyor ya da yüklenemiyor hatası ve çözümü
  • Web sitenizde kullanabileceğiniz WordPress hizmet ve eklentileri (2017)
  • İki adımlı doğrulama ve bu yöntemi kullanan internet sitelerinin listesi
  • Mimar Sinan Güzel Sanatlar Üniversitesi Google Apps Eğitim Sürümü Geçişi

Etiketler

android bulut bulut bilişim bulut teknolojileri cloud cloud computing dns dropbox e-posta education email eposta evernote eğitim Eğitimde google apps g-mail gmail Google Google Apps Google Apps Business Google Apps Education Google apps eğitim Google apps eğitim sürümü Google apps ve eğitim Google Apps İşletme sürümü google chrome google docs google dokümanlar Google drive google hangout Google haritalar Google keep google maps Google Plus Google Takvim Hangout hesap ios kayıtlı elektronik posta kep okul pinterest sosyal ağ video YouTube
İNNOVAKTİF BİLİŞİM VE İŞ GELİŞTİRME HİZ. A.Ş © 2017