Türkiye’deki durum malüm, biz de IT sektöründeki insanlar olarak belki erişim konusunda sıkıntılar yaşayanlar için bir nebze katkımız olabilir. Sunucuza bunu kurarak eşinizle dostunuzla VPN Sunucunuzu paylaşabilirsiniz.
Burada anlatacaklarım için bir CentOS sunucuya ihtiyacınız var ama bu sunucu Türkiye’de ise yaptıklarınız pek işe yaramayacaktır çünkü engelleme zaten Türkiye’de. 🙂
EPEL Repository
Başlamadan önce Extra Packages for Enterprise Linux (EPEL)’u aktif etmemiz gerekiyor.
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
OpenVPN Sunucusu kurulumu
Önce OpenVPN‘i indirip kuruyoruz:
yum install openvpn -y
OpenVPN örnek konfigurasyon dosyaları ile geliyor. Onları şimdi kopyalayalım.
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn
Not: /etc/openvpn
klasörü yoksa mkdir /etc/openvpn
komutu ile yaratabilirsiniz.
Şimdi ilk düzenlememize başlıyoruz.
nano /etc/openvpn/server.conf
İlk değişikliğimiz client üzerinde gelen istekleri vpn’e yönlendirmesi için aşağıdaki satırları server.conf
içerisinden uncomment etmek olacak.
push "redirect-gateway def1 bypass-dhcp"
Daha sonra Google DNSleri kullanmak için aşağıdaki satırları ekliyoruz:
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
Güvenlik içinde şu satırları uncomment ediyoruz:
user nobody
group nobody
dh dh1024.pem
satırını bulup şu şekilde değiştiriyoruz:
dh dh2048.pem
Daha sonra aşağıdaki satır önündeki commenti kaldırıyoruz. Bu ayar bize, bir sertifika ile birden fazla cihazdan erişim için olanak sağlıyor.
duplicate-cn
Key ve Sertifikaları easy-rsa ile yaratmak
Server’ı kurduk. Şimdi de güvenlik için gereken sertifikaları yaratacağız. Bunun için easy-rsa
aracını yüklüyoruz:
yum install easy-rsa -y
Şimdi gerekli dosyaları ve klasörleri alıyoruz:
mkdir -p /etc/openvpn/easy-rsa/keys
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
easy-rsa
gerekli bilgilerini düzenlemek için vars
dosyasını düzenlememiz gerekiyor:
nano /etc/openvpn/easy-rsa/vars
Şimdi KEY_
ile başlayan değişkenleri düzenlememiz gerekiyor. Alttakine benzer bir görüntü olması gerekiyor.
export KEY_COUNTRY="US"
export KEY_PROVINCE="NY"
export KEY_CITY="New York"
export KEY_ORG="Organization Name"
export KEY_EMAIL="administrator@example.com"
export KEY_CN=example.com
export KEY_NAME=server
export KEY_OU=server
CentOS 6 üzerinde OpenSSL conf dosyasını bulma konusunda sıkıntı çıkabilir o yüzden OpenSSL conf dosyasını da kopyalıyoruz.
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
Şimdi CA (Certificate Authority) yaratıyoruz (ENTER, ENTER diyerek geçebilirsiniz hepsini):
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
Şimdi bu bilgiler ışığında sertifikamızı yaratıyoruz:
./build-key-server server
Ayrıca Diffie Hellman key exchange dosyalarını yaratmamız gerekiyor:
./build-dh
cd /etc/openvpn/easy-rsa/keys
cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
Şimdi bir de client sertifikası yaratmamız gerekiyor.
cd /etc/openvpn/easy-rsa
./build-key client
OpenVPN Server’ı başlatmak
iptables
ayarımızı yapıyoruz:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
sysctl
üzerinde IP Routing’i aktif ediyoruz:
nano /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Son olarak yeni sysctl
yi aktif edip sunucuyu başlatıyoruz.
sysctl -p
service openvpn start
chkconfig openvpn on
Hayırlı olsun.
OpenVPN Client ayarları
Aşağıdaki dosyaların hepsini kendi bilgisayarınıza kopyalayın:
/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client.crt
/etc/openvpn/easy-rsa/keys/client.key
Daha sonra client.ovpn
isminde bir dosya yaratıyoruz. (Bu dosya server üzerinde yazdığımız client ismi ile eşleşmek zorunda). Ve içeriği
client
dev tun
proto udp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
<ca>
ca.crt dosyasının içerikleri
</ca>
<cert>
client.crt dosyasının içerikleri
</cert>
<key>
client.key dosyasının içerikleri
</key>
x.x.x.x
yerine sunucu ipsini yazın.ca.crt
,client.crt
veclient.key
dosyalarının içeriklerini dosyada gösterilen yerlere yapıştırın.
Daha sonra bilgisayarınıza veya telefonunuza indirdiğiniz OpenVPN programına import etmeniz gerekiyor.
OpenVPN Clientları:
Bilgisayarlar için: http://openvpn.net/index.php/access-server/download-openvpn-as-sw/357.html
Android: https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=tr
iOS: https://itunes.apple.com/app/openvpn-connect/id590379981
İşte bu kadar basit. Kolay gelsin 🙂
Çok güzel anlatmışsın tebrik ederim. Diğer sitelerden yaptıklarım olmadı bu bilgilerle tek seferde sorunsuz kurulum yaptım şu an vpne bağlı olarak yazıyorum :d