Gerçekleştirme

Nasıl bir yol izlenmesi gerektiğine dair bir çok karar alınması gereklidir. Takip eden bölümlerde çalışan bir prototip elde edene kadar yaptıklarımı bulacaksınız. Benim yaptıklarımı kendi sisteminize göre uyarlamayı unutmayın. Gerekli yerlede açıklayıcı yorumlar yapmaya çalıştım.

Bir çok çalışan CD dağıtımını inceledim ve sonunda ihtiyaçlarımız için en uygununun DSL olduğuna karar verdim. Üzerinde düşündüğüm dağıtımlar şunlardı:

  1. Ubuntu. Bu çalışan CD göreceli olarak daha fazla sistem kaynağına ihtiyaç duyduğu gibi bu projede ihtiyaç duyduklarımızından çok fazla uygulama içeriyor. Çok fazla uygulamayı kaldırmakla uğraşmak yerine bu dağıtımı kullanmamayı tercih ettim. Eğer istediğiniz kullanıcılarınızın masaüstlerine erişimin YANINDA iç ağınıza da erişmelerini istiyorsanız ubuntu iyi bir seçim olabilir.
  2. PuppyLinux. Bu çalışan CD gerçekten iyi görünmesine rağmen kök dosya sistemi olarak kullandığı SFS'yi biçimlendiriken sorunlar yaşadım ve okuduklarımdan Knoppix'in sıkıştırılmış dosya sistemiyle daha kolayca yönetildiğini anladım.
  3. Knoppix. Bu çalışan CD de, Ubuntu gibi, projemizin özel amaçları için çok fazla ağır bir dağıtımdır.
  4. Damn Small Linux. Bu çalışan CD 50 MB olmasına rağmen neredeyse tüm donanımlarda çalıştığından projenin hayata geçirilmesinde onu kullanmayı seçtim.

DSL-tabanlı .ISO dosyasının düzenlenmesi

DSL'i seçtiğimize göre onun ağa DHCP ile dahil olması için gereken otomatik bulma, yapılandırma ve bağlanma yeteneklerine güveniyoruz demektir. DSL'in kablosuz desteği son derece sınırlı olduğundan şimdilik kablosuz desteği vermiyoruz. Son kullanıcı ağ kablosuyla bağlanan bir bilgisayara ve bulunduğu ağda DHCP sunucusuna ihtiyaç duyacaktır.

  1. Yeni bir Ubuntu, EdUbuntu, xUbuntu veya kUbuntu kurun,[38]
  2. Synaptic kullanarak mümkün olan bütün depoları ekleyin,
  3. qemu, open-vpn ve cloop-utils paketlerini kurun,
  4. Bir ISO dosyası edinin (ben dsl-3.0 öneriyorum[39]); umarım yakında (VPN anahtarlarını içermeyen) prototip ISO'larımdan birini indirebileceğiniz bir yere koyabilirim. Bu ISO başlamak için uygun olacaktır.
  5. ISO'yu uygun bir dizine bağlayın.
    mkdir /tmp/workingiso
    mount -t iso9660 -o loop dsl-3.0.iso /tmp/working.iso
  6. ISO'nun sıkıştırılmış dosya sistemini açın ve uygun bir dizine bağlayın.
    extract_compressed_fs /tmp/workingiso/KNOPPIX/KNOPPIX > /var/tmp/KNOPPIX-cloop
    mkdir /tmp/workingiso.cloop
    mount -o loop /var/tmp/KNOPPIX-cloop /tmp/workingiso.cloop
  7. Artık CD'nin iç bölümlerine de erişebilir durumdasınız, onunla çalışabileceğiniz bir yere kopyalayın.
    1. Çalışmak için bir dizin oluşturun (/home/meltem/Desktop/vpn-tree gibi)
    2. tar -C /tmp/workingiso.cloop -cf - . | tar -C /home/meltem/Desktop/vpn-tree -xvpf -
  8. CD'nin dış bölümünü de çalışabileceğiniz bir dizine kopyalayın.
    1. Çalışmak için bir dizin oluşturun (/home/meltem/Desktop/vpn-cd-tree gibi)
    2. tar -C /tmp/workingiso -cf - . | tar -C /home/meltem/Desktop/vpn-cd-tree -xvpf -
  9. Bu aşamaya kadar hatasız gelip gelmediğinizi kontrol etmek için bir CD görüntüsü oluşturun.
    mkisofs -pad -l -r -J -V "YOURVPN v0.1" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved  -o yourvpn.iso /home/meltem/Desktop/vpn-cd-tree/
  10. Yukarıdaki komut hatasız sonuçlanınca oluşturduğunuz CD'yi test edin:
    1. qemu -boot d -cdrom yourvpn.iso
  11. Artık değişiklik yapmaya başlayabilirsiniz.
    1. Aşağıdaki komutla proc dizinini bağlayın:

      mount -t proc none /home/meltem/Desktop/vpn-tree/proc

    2. chroot /home/meltem/Desktop/vpn-tree
    3. Dosya sisteminde istediğiniz değişiklikleri yapın.
  12. Etrafta biraz dolaştıktan sonra yeni sıkıştırılmış dosya görüntümüzü yazmanın ve CD oluşturmanın zamanı geldi.
    1. chroot'dan çıkın
    2. Yukarıda bağladığınız proc dizinini çözün (bu aşamayı unutursanız çalışan bir CD oluşturamazsınız)
    3. Sıkıştırılmış dosya görüntüsünü oluşturun
      mkisofs -L -R -l -V "YOURVPN ISO9660" -v -allow-multidot /home/meltem/Desktop/vpn-tree/ | create_compressed_fs - 65536 > /home/meltem/Desktop/vpn-cd-tree/KNOPPIX/KNOPPIX 
    4. CD görüntüsünü oluşturun
      mkisofs -pad -l -r -J -V "YOURVPN v0.2" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o yourvpn.iso /home/meltem/Desktop/vpn-cd-tree/
    5. Bir emülatör kullanarak test edin (Ben qemu'yu tercih ediyorum ama isterseniz vmware, xen veya başkasını kullanabilirsiniz)

      qemu -boot d -cdrom yourvpn.iso

  13. Gerekli ISO dosyasını oluşturana kadar bu adımları tekrar edin.
  14. CD görüntüsünü yazın ve kullanın.

CD'deki yazılımların düzenlenmesiyle ilgili açıklamalar

  1. Chroot yaptıktan sonra openvpn*.deb dosyasını kök dosya sistemine açın[40]
  2. Gerekli bütün kütüphanelerin uygun yerlere kopyalandığından emin olun.
    1. chroot
    2. ldd /usr/sbin/openvpn
    3. Ana sistemin başka bir terminaline geçerek gerekli kütüphaneleri ana sistemden vpn-tree dizininde uygun yerlere kopyalayın
    4. tun düğümünü oluşturun: mknod /dev/net/tun c 10 200
  3. vpn-cd-tree/boot/isolinux/boot.msg dosyasından "^Xlogo.16" ile başlayan satırı silin.
  4. Açılışta boot seçenekleri için beklenilmemesi için vpn-cd-tree/boot/isolinux/isolinux.cfg dosyasını düzenleyerek "PROMPT 1" yerine "PROMPT 0" yazın.
  5. vpn-tree/etc/skel/.xinitrc dosyasını düzenleyerek masaüstünde olmasını istediklerimizi yansıtın. Masaüstüne ikonların yüklenmesini sağlayan ve pencereleri yükleyen kodları kaldırın, VPN bağlantısı için gerekli kodu ekleyin ve son olarak rdesktop'u yükleyen ve doğru makineye bağlantı yapılmasını sağlayan kodu ekleyin.
  6. Açılış ekranını aşağıdaki adımlarla değiştirin.
    1. vpn-cd-tree/boot/isolinux/minirt24.gz dosyasını /tmp dizinine kopyalayın,
    2. gunzip minirt24.gz
    3. mount -o loop minirt24 /mnt
    4. /etc/linuxrc dosyasını düzenleyerek "DSL" yerine istediğiniz logoyu koyun
    5. umount /mnt
    6. gzip minirt24
    7. minirt24.gz dosyasını vpn-cd-tree/boot/isolinux/minirt24.gz olarak kopyalayın.

Çok kullanıcılı OpenVPN sunucusunun yapılandırılması

  1. Sunucu için cert ve keys dosyalarını oluşturmak için yönergeleri takip edin.
  2. OPenVPN NASIL dosyasında anlatılan bazı bilgileri girmeniz gerekecektir.
  3. İstemciler için parola-korumalı anahtar üretmeyi unutmayın.
  4. Gerekli tüm yapılandırmaları yapın.
  5. Her bir istemci için aşağıdakileri yapmalısınız:
    1. Sertifikayı kullanarak parola korumalı bir anahtar oluşturun,
    2. Sertifikayı ve istemci anahtarını (sadece) vpn-tree/etc/openvpn/keys dizinine yerleştirin,
    3. vpn-tree/etc/openvpn/openvpn.cfg dosyasını düzenleyerek gerekli anahtar dosyaların yollarını belirtin (Örnekler bölümündeki sunucu yapılandırmasına bakınız),
    4. vpn-tree/opt/bootlocal.sh dosyasında eklenen rotaları düzenleyin,
    5. vpn-tree/etc/skel/.xinitrc dosyasına rdesktop ile bağlanılacak bilgisayarın IP adresini yazın.
  6. Yeniden CD oluşturun.
  7. Emülatör ile test edin.
  8. Çalıştığını gördükten sonra; ISO dosyasını CD'ye yazabileceğiniz gibi, isterseniz ISO dosyasını win-qemu-yourvpn-cd dizinine kopyalayarak qemu Windows emülatör sürümünü oluşturup daha sonra ISO dosyasını oluşturup CD'ye yazabilirsiniz.



[38] Ç.N. Biz kurulumu debian ile problemsiz yaptık.

[39] Ç.N. Biz 4.3.3'ü problemsiz kullandık.

[40] Ç.N. Bu işlem için önce openvpn'in uygun paketini internetten indirmelisiniz ardından da dpkg komutunu kullanmanız gerekiyor ama bunun için önce dpkg-rebuild komutunu çalıştırmanız gerekiyor. Daha sonra dpkg --unpack openvpn*.deb komutunu çalıştırmalısınız.