Uğur Arıcı'nın Kendi Bağlantım projesinin yeni hali için çalışma deposu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

16 KiB

title section weight permalink aliases
#3: VPN kurulumu yonergeler 4 /yonergeler/vpn-kurulum/ [/yonergeler/3.html]

VPN Kullanım Stratejisi

VPN kullanmaya başlamadan önce ihtiyacınız, kullandığınız cihazların durumu ve seçtiğiniz VPN sağlayıcının imkanlarını değerlendirmeniz gereklidir. Her VPN sağlayıcı sınırlı sayıda cihazın anlık bağlantısına izin vermektedir. Bu bakımdan; ne yazık ki basitçe cihazınıza sağlayıcınızın istemcisini kurup kullanmak her ne kadar en kolay seçenek olsa da ihtiyaçlarınızı karşılayamayabilir. Bu bakımdan elinizdekilere bakıp bir değerlendirme yapmalısınız.

Elinizdeki cihazların sayısını ve konumlarını değerlendirin. Mobil cihazları bulundukları ağdan bağımsız olarak VPN'e bağlı kalmalarını isteyeceğinizden bu cihazların doğrudan bağlanmaları için kurulum yapmanız gerekecektir. Şayet ev ve işyeri gibi sabit bir alanda duran cihazları bağlamak veya ağ bağlantınızdaki tüm cihazları korumak istiyorsanız bir yönlendiriciye kurulum yapmanız faydalı olabilir. Bir yönlendiriciyi LibreCMC, OpenWRT veya DD-WRT yükleyerek özgür kılabilir ve üzerinde OpenVPN ile tüm ağınızı kapsayacak şekilde VPN çalıştırabilirsiniz.

Eğer cihazlarınız sınırlı ve belirli bir ağa bağlı değil ise doğrudan VPN sağlayıcınızın sağladığı yazılımları cihazlarınızda çalıştırarak bağlantı kurmak en kolay yol olacaktır.

Bu kurulumun avantajları;

  • Cihazınızdaki gerekli ayarlar otomatik olarak yapılabilecektir.
  • VPN sağlayıcınızın sunduğu tüm protokol ve sunuculara tek elden kolayca ulaşabilirsiniz.

Dezavantajları ise;

  • Fazladan bir yazılımı cihazlarınıza kurma ve çalıştırma zorunluluğu.
  • Yazılımın cihaz kaynağınızı kullanması bu sebeple kimi eski donanımlarda çalışmama ihtimali.
  • Desteklenmeyen işletim sistemlerine kurulamayacak olması.
  • Sistem ayarlarının yapılabilmesi için yazılımın yönetici yetkisi ile çalışmasının gerekmesi.

Diğer seçeneğiniz ise işletim sisteminiz tarafından desteklendiği durumlarda dahili OpenVPN istemcisi ile kurulum yapmaktır. Bu kullanım sistem kaynağınızı daha az kullanacak ve daha birleşik bir deneyim sunacaktır. Lakin ayarların bir kısmını kendiniz yapmak zorunda kalacağınızdan vakit ve emek harcamaya hazır olmanız gereklidir. Bunu VPN sisteminin arkaplanını öğrenmek ve hatalarınızı görmek için bir fırsat olarak düşünebilirsiniz.

OpenVPN Sunucusu Kurulumu

OpenVPN sunucusu kurulumu için github.com/Nyr deposunda bulunan ve aktif olarak güncellenen bir bash betiğini kullanabilirsiniz. Bu betik Ubuntu, Debian, Centos veya Fedora dağıtımları üzerinde gerekli yüklemeleri ve ayarları yapıp kullanıma hazır bir OpenVPN sunucusu çalıştırıyor. wget https://git.io/vpn -O openvpn-install.sh komutu ile betik çalışma dizinine kaydedilebilir ve bash openvpn-install.sh komutu ile çalıştırılabilir. Komutu gerekli paket yüklemelerini yapabilmesi ve ayar dosyalarını oluşturabilmesi için root yetkileriyle çalıştırmamız gerekmekte.

  1. Betik ilk olarak sunucunun ip adresslerini listeleyip, OpenVPN sunucusunun kullanması istenen ip adresinin seçilmesini istiyor.
Which IPv4 address should be used?
     1) 198.51.100.202
     2) 10.0.10.1
IPv4 address [1]:

Kullanılmak istenen adres sıra numarasıyla seçilebilir.

  1. Ardından OpenVPN'in kullanması istenen protokol soruluyor;
Which protocol should OpenVPN use?
   1) UDP (recommended)
   2) TCP
Protocol [1]:

Yine sadece enter ile önerilen seçeneği onaylayıp UDP kullanılabilir.

  1. OpenVPN'in kullanacağı port soruluyor ve ön tanımlı olarak 1194 seçili.
What port should OpenVPN listen to?
Port [1194]:443

Bu aşamada hareket halindeyken istemcilerin dahil olacağı açık ağlarda 1194 portu engellenmiş olabileceğinden https portu olan 443'ü seçmek yerinde bir tercih olabilir.

  1. OpenVPN'e bağlanacak istemciler için bir DNS sunucusu seçilmesi istendiğinde öntanımlı olarak sistemin halihazırdaki ayarlarını kullanması yanında kullanımı yaygın olan bazı DNS sunucuları listeleniyor:
Select a DNS server for the clients:
   1) Current system resolvers
   2) Google
   3) 1.1.1.1
   4) OpenDNS
   5) Quad9
   6) AdGuard
DNS server [1]:
  1. Son olarak ilk istemci için bir isim girilmesi isteniyor.
Enter a name for the first client:
Name [client]:

Kurulum tamamlandıktan sonra başka istemciler eklemek için betik yeniden çalıştırılabilir.

Gerekli yüklemeler yapıldıktan sonra çalışmakta olan OpenVPN sunucusuna bağlanmak üzere istemci cihaza yüklenmesi gereken ayar dosyasının konumu bildiriliyor /root/<istemciadı>.ovpn. Bu dosyayı istemci cihaza kaydedip, istemci programa tanıtmak gerekiyor.

  1. Kurulumun ardından betik tekrar çalıştırılırsa yeni bir istemci ekleme, bir istemciyi kaldırma, OpenVPN sunucusunu kaldırma seçenekleri sunuluyor.
Select an option:
   1) Add a new client
   2) Revoke an existing client
   3) Remove OpenVPN
   4) Exit
Option:

İstemci Kurulumu

GNU/Linux - Masaüstü

GNU/Linux dağıtımları Linux çekirdeğinde, doğrudan OpenVPN'i ve artık, daha yeni bir teknoloji olan Wireguard'ı desteklemektedir. Masaüstü ortamları da Openvpn istemcisine doğrudan destek vermektedir. GNU/Linux dünyasında çokça masaüstü ortamı olmasından dolayı, rehberimiz en yaygın kullanılan Gnome 3 ile hazırlandı lakin pek çok kullanıcı ayarların kendi cihazlarında da benzer olduklarını görecektir.

  1. Öncelikle VPN sağlayıcınızdan ".ovpn" uzantısı ile OpenVPN config dosyasını indirin. Ovpn dosyaları bir metindir ve sunucu ayarları ile bağlanmanız için gereken anahtarı ve sertifikaları içerir. Şayet VPN sağlayıcınız bağlantı için bir kullanıcı adı ve parola gerektiriyor ise bunu da bir kenara not alın.

alt-text

  1. Gnome'un ağ ayarlarına isterseniz sağ üst köşeden açılan menüde ağ ayarlarına girerek veya etkinlikler köşesine tıklayarak menüden ayarlara girerek ulaşabilirsiniz.

  2. Sağda yer alan "+" düğmesine tıklayın.

alt-text

  1. Karşınıza çeşitli seçeneklerin sunulduğu "VPN Ekle" penceresi çıkacak. Burada en alttaki "Dosyadan aktar" seçeneğini seçin. .ovpn uzantılı VPN dosyasını bulun ve aktarın.

alt-text

  1. Eklediğiniz VPN'in yanındaki düğmeye tıklayarak kullanılabilir hale getirebilirsiniz.

alt-text

GNU/Linux - Uçbirim

  1. Kullandığınız GNU/Linux dağıtımının depolsundan OpenVPN'i dağıtımınızın paket yöneticisiyle yükleyebilirsiniz.
  • apt paket yöneticisi kullanan dağıtımlarda (Debian, Trisquel, Linux/Mint, Ubuntu...); sudo apt-get install openvpn
  • rpm paket yöneticisi kullanan dağıtımlarda (CentOS, Fedora...) ise; sudo dnf install openvpn komutu ile OpenVPN'i sisteminize kurabilirsiniz.

OpenVPN'i yüklediğinizde aşağıdaki dizinler oluşur:

/lib/systemd/system/openvpn-client@.service (servis dosyası)

/etc/openimgclient ve /etc/openimgserver (ayar dosyaları)

  1. VPN sağlayıcınızdan veya OpenVPN sunucunuzdan edindiğiniz .ovpn ayar dosyasının uzantısını aşağıdaki komut ile .ovpn'den .conf'a değiştirin:

mv <istemciAyarlari>.ovpn <istemciAyarlari>.conf

  1. Daha sonra değiştirdiğiniz dosyayı ilgili dizine taşıyın:

sudo mv <istemciAyarlari>.conf /etc/openimgclient/<istemciAyarlari>.conf

OpenVPN'in bu aşamadan sonra VPN sağlayıcınızın ayarlarını tanıyacaktır.

  1. OpenVPN'i çalıştırmak için aşağıdaki komutu kullanabilirsiniz;

openvpn --config <istemciAyarlari>.conf

Servis olarak başlatmak ve durdurmak için;

systemctl {start,stop} openvpn-client@<istemciAyarlari>.conf

Sistem açılışında çalışması için de;

systemctl enable openvpn-client@<istemciayarlari>.conf

komutları kullanılabilir.

Android

Android işletim sistemi 7. sürüm ve sonrasında VPN desteğini işletim seviyesinde sunmaya başlamıştır. Ne yazık ki OpenVPN hala bu seçenekler arasında olmamakla birlikte özgür bir OpenVPN istemcisini Android ayarlarında VPN sağlayıcısı olarak belirlediğinizde sistemle gayet uyumlu çalışmaktadır.

  1. OpenVPN for Android uygulamasını F-Droid özgür yazılım deposundan indirin ve cihazınıza kurun.

  2. OpenVPN for Android yazılımını çalıştırın ve açılan ekranda sağ üst köşedeki + simgesine tıklayarak ekleme arayüzünü açın.

alt-text

  1. Karşınıza gelen ekrandan içe aktar veya import düğmesine tıklayarak config dosyasını seçme aşamasına gelin.

alt-text

  1. Açılan dosya yöneticisinden VPN sağlayıcınızdan indirdiğiniz .ovpn dosyasını bulun ve tıklayın.

alt-text

  1. Ertesinde çıkan ekranda config dosyanızın detayları görülecektir. tik işaretine tıklayarak kurulumu tamamlayın.

alt-text

  1. Artık OpenVPN for Android VPN bağlantınızı kurmaya hazır.

Android ayarlarını yaparak sisteminizin VPN bağlantısını korumasını ve kesilmesi durumunda iletişimin de durmasını sağlamanız mümkün. Bunun için:

  1. Cihazınızın ayarlarına gidin ve ağ ve internet veya network and internet ayarlarına girin.

alt-text

  1. VPN ayarlarını muhtemelen en altta bulacaksınız.

alt-text

  1. Karşınıza OpenVPN for Android seçeneği çıkmış olacaktır. Yanındaki dişli simgesine tıklayarak kurulum sayfasını açın.

alt-text

  1. Çıkan ayarlardan Always-on VPN veya sürekli bağlı VPN ile Block connections without VPN veya VPN kesilince bağlantıları engelle seçeneklerini etkinleştirin.

alt-text

OpenWRT Yönlendirici

Bir OpenWRT yönlendiriciyi OpenVPN istemcisi olarak ayarlamak için ssh ile komut satırı ya da bir Web tarayıcısı ile LuCi arayüzü kullanılabilir.

OpenWRT - Uçbirim

OpenWRT yönlendiriciyi OpenVPN istemcisi haline getirmek için ssh ile bağlandıktan sonra aşağıdaki işlemler uygulanmalı.

  1. Gerekli paket yüklenir;
opkg update
opkg install openvpn-openssl
  1. Firewall ayarları;
    UCI(unifiedConfigurationInterface) kullanılarak ayar dosyasını el ile düzenlemeye gerek duymadan yapılabilir;
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci rename firewall.@forwarding=[0]="lan_wan"
uci del_list firewall.wan.device="tun0"
uci add_list firewall.wan.device="tun0"
uci commit firewall
/etc/init.d/firewall restart
  1. VPN ayarları;
    VPN sunucusundan edinilen .ovpn uzantılı istemci ayarlar dosyasını, openvpn servisinin ön tanımlı ayarlarıyla okuması için uzantısını .conf'a dönüştürerek /etc/openvpn dizinine yerleştirmek gerekir.
mkdir -p /etc/openvpn
cp <istemci>.ovpn /etc/openimg<istemci>.conf
  • VPN servisinin gereğinden fazla yetkiyle çalışmaması için çalışacağı kullanıcı ve grup tanımı, 2. adımda yapılan firewall ayarlarıyla uyumlu olması için de aygıt tanımı aşağıdaki üç satırın <istemci>.conf'a eklenmesiyle yapılır. Dosyada önceden tanımlanmış user, group ve dev ile başlayan satırlar varsa satırbaşlarına '#' eklenerek geçersiz kılınmalı veya silinmeliler.
user nobody
group nogroup
dev tun0
  • VPN sunucusuna bağlanmak için kullanıcı adı ve parola kullanılması gerekiyorsa bunları, üstte kullanıcı adı altta parola olarak iki satır halinde <istemci>.auth dosyasına kaydedilmeli ve <istemci>.conf'ta bu dosya tanıtılmalı.
cat <<EOL|tee /etc/openimg<istemci>.auth
KULLANICI_ADI
PAROLA
EOL
cat <<EOL|tee -a /etc/openimg<istemci>.conf
auth-user-pass <istemci>.auth
EOL
  • İlgili dosya izinlerini sadece root kullanıcısının okuyup yazabileceği hale getirmek yararlı bir pratiktir.
    chmod -R 600 /etc/openvpn
  1. openvpn servisi yeniden başlatıldığında bağlantı diğer cihazlar için de hazır olacak.
    /etc/init.d/openvpn restart
  • VPN bağlantısı kontrol etmek için internette görünen IP adresi komut satırında
    dig +short myip.opendns.com @resolver2.opendns.com komutuyla veya bir web tarayıcısında https://ipleak.net adresinin ziyaret edilmesiyle öğrenilebilir.

Kaynak: https://openwrt.org/docs/guide-user/services/imgopenimgclient

OpenWRT - LuCi

  1. Gerekli iki paket yüklenir: openvpn-openssl luci-app-openvpn
    System>Software sayfasında Actions: Update lists... ile paket listesi güncellendikten sonra Filter kutusu ile arama yapılabilir.
    owrtLuci_1.1 owrtLuci_1.2 owrtLuci_1.3 owrtLuci_1.4 owrtLuci_1.5
    luci-app-openvpn paketi yüklendikten sonra yönlendiriciye yeniden bağlanıldığında üst menüye VPN başlığı eklenmiş olacaktır.
    owrtLuci_1.6

  2. OpenVPN ayarları:
    VPN>OpenVPN sayfasında OVPN configuration file upload: Browse ile .ovpn uzantılı dosya seçilip bağlantıya bir isim verildikten sonra Upload butonu ile dosya yüklenir. Aynı sayfadaki listeye eklenmiş olduğu görülecektir.
    owrtLuci_2.1

    • OpenVPN sunucusuna kullanıcı adı ve parola ile bağlanılması gerekiyorsa listede bağlantının yanındaki Edit butonuna tıklanarak açılan sayfada alttaki kutuya, parola alt satırda olacak sekilde iki satır halinde yazılır ve üstteki kutuya auth-user-pass /etc/openimg<BAĞLANTI_ADI>.auth satırı eklenir.
      owrtLuci_2.2
  3. OpenVPN istemcisini başlatma:
    Start butonu ile servis başlamazsa önce solundaki Enable kutusunu işaretleyip Save & Apply butonun ile kaydetmek sorunu çözecektir. OpenVPN istemcisinin yönlendirici çalıştırıldığında başlaması ve hep açık kalması için Enable kutusu işaretli olmalıdır.

  • Bu aşamada OpenVPN çalıştığında yönlendirici VPN'e bağlı ve ona bağlı diğer aygıtların internet bağlantıları kesilmiş olacak.
  1. LAN (Yerel ağ) aygıtlarının VPN'e yönlendirilmesi:
    Bu işlem için Network>Interfaces veya Network>Firewall sayfalarından biri kullanılılır;

    4.a. Network>Firewall sayfasıyla: kırmızı ile belirginleştirilmiş wan bölgesinin ayarları Edit butonuyla açılır. Pencerede Advanced Settings sekmesindeki Covered devices aygıt listesinden tun0 aygıtı işaretlenir ve kaydedilir.
    owrtLuci8 owrtLuci8 owrtLuci8
    4.b. Network>Interfaces sayfasıyla: Add new Interface butonu ile VPN bağlantısı yeni bir arayüz olarak tanımlanır, açılan pencerede "name = tun0", "Protocol = Unmanaged", "Interface = tun0" olarak doldurulup Create Interface butonuna tıklanır, General Settings sekmesinde Bring up on boot işareti kaldırılır. Firewall Settings sekmesinde Create / Assign Firewall-zone açılır listesinden wan seçilir ve kaydedilir.
    owrtLuci owrtLuci owrtLuci owrtLuci owrtLuci

Kaynak: https://openwrt.org/docs/guide-user/services/imgopenimgclient-luci