Goldmaster tablet Goldmaster tablet

Announcement

Collapse
No announcement yet.

FreeBSD ile Terminal sunucu uygulaması

Collapse
Önemli Konu
X
X
  • Filtre
  • Zaman
  • Gösterim
Clear All
yeni mesajlar

  • FreeBSD ile Terminal sunucu uygulaması

    Goldmaster Elektronik  Goldmaster tablet 
    FreeBSD ile Terminal sunucu uygulaması

    Kullanım amaçları

    Eski bilgisayarları değerlendirmek
    Disksiz bilgisayarları değerlendirmek
    Maliyet avantajı
    Yönetim ve bakım kolaylığı

    Kullanım alanları

    1. X terminali
    2. Süper bilgisayarlara (cluster) üye eklemek için
    3. Windows lab'ı unix lab'a çevirmek için
    4. Windows'tan vazgeçemeyenlerin unixe alışmaları için

    Örnek sunucu donanımı

    P4 2.66 işlemci, 512 MB RAM, 40 GB disk, 2 tane ethernet kartı, S3 Savage 2000 ekran kartı

    Sunucuda gereken programlar

    DHCP (Dynamic Host Configuration Protocol), veya BOOTP (Internet Boot Protocol server)
    TFTP (Trivial File Transfer Protocol) veya NFS,
    NFS (Network File System), XDM (X Display Manager), Mozilla, OpenOfis

    Örnek terminal donanımı

    P2 266 işlemci, 64 MB RAM, Ethernet kartı realtek, S3 Virge GX2 ekran kartı, Disket veya eprom

    Terminal yazılımı

    Etherboot: Bu yazılım network üzerinden TFTP veya NFS ile program (çekirdek) çekip bu programı x86 işlemcilerde çalıştırmaya yarayan ROM imajı oluşturur.

    http://etherboot.sourceforge.net/
    http://www.etherboot.org/

    Terminal disketi oluşturma

    FreeBSD sisteminde:

    # cd /usr/ports/net/etherboot/

    # make

    # cd work/etherboot-VERSION/src
    Buradaki VERSION 5.0.8

    # cat bin/boot1a.bin bin32/rtl8139.lzrom > /dev/fd0
    Terminaldeki ethernet realtek olduğu için rtl8139 yazıldı.

    Sunucu ayarları

    1. DHCP

    2. TFTP veya NFS (FreeBSD öntanımlı olarak NFS kullanır.)

    3. NFS

    4. Çekirdek oluşturma

    5. Terminal servisleri

    6. X ayarları

    DHCP kurulumu ve ayarları

    Kurulum:
    # cd /usr/ports/net/isc-dhcp3-server/
    # make install

    Ayarlar:
    /usr/local/etc/rc.d/isc-dhcpd.sh
    dosyasında hangi ethernete hizmet verecekse
    dhcpd_enable="YES"
    dhcpd_ifaces=rl0
    yazılır.

    dhcpd.conf dosyası

    ######## Burada başlıyor ##########

    default-lease-time 21600;
    max-lease-time 21600;
    ddns-update-style none;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.254;
    option domain-name-servers 192.168.0.254;
    option domain-name "mini.deu.edu.tr";
    #option root-path "192.168.0.254:/opt/ltsp/i386";
    option root-path "192.168.0.254:/usr/diskless_root/";
    shared-network WORKSTATIONS {
    subnet 192.168.0.0 netmask 255.255.255.0 {
    }
    }

    group {
    use-host-decl-names on;
    option log-servers 192.168.0.254;

    host ws001 {
    hardware ethernet 00:50:fc:8d:c8:17;
    fixed-address 192.168.0.1;
    filename "/tftpboot/kernel_1067";
    ****-server 192.168.0.254;
    }
    host ws002 {
    hardware ethernet 00:50:fc:8d:cc:dc;
    fixed-address 192.168.0.2;
    filename "/tftpboot/kernel.diskless_min";
    ****-server 192.168.0.254;
    }
    host ws003 {
    hardware ethernet 00:C0:26:8B:A8:83;
    fixed-address 192.168.0.3;
    filename "/tftpboot/kernel.diskless_min";
    ****-server 192.168.0.254;

    }

    ######## Burada bitiyor ##########

    TFTP:

    /etc/inetd.conf dosyasında

    #tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot

    satırının başındaki # kaldırılıp inet programı yeniden başlatılır.

    Hazırlanmış özel çekirdek (kernel.diskless) /tftpboot dizinine kopyalanır.

    NFS:

    Başlatmak için /etc/rc.conf dosyasına
    portmap_enable="YES"
    nfs_server_enable="YES"
    mountd_flags="-r"
    satırlarını eklemek gerekir.

    Hangi dizinlerin kimlere nasıl paylaştırılacağı /etc/exports
    dosyasına yazılır.
    #/etc/exports dosyasi icerigi

    ######## Burada başlıyor ##########

    /tftpboot -maproot=root -network 192.168.0.0 -mask 255.255.255.0
    /usr -maproot=root:0 -alldirs -network 192.168.0.0 -mask 255.255.255.0
    /home -maproot=root:0 -alldirs -network 192.168.0.0 -mask 255.255.255.0

    Bu dosyadaki birdeğişiklikten sonra mountd programı yeniden
    başlatılmalıdır.

    ######## Burada bitiyor ##########


    Çekirdek oluşturma

    Disksiz bir çekirdekde aşağıdaki özellikler mutlaka olmalıdır.

    options MFS #Memory File System
    options BOOTP # Use BOOTP to obtain IP address/hostname
    options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
    options BOOTP_COMPAT # Workaround for broken bootp daemons

    İsteğe bağlı olarak harddisk desteği çıkartılabilir.

    Çekirdek derleme

    # cd /usr/src/sys/i386/conf
    # cp GENERIC DISKLESS

    DISKLESS dosyasında ilgili değişiklikler yapılır

    # config DISKLESS
    # cd ../../compile/DISKLESS
    # make depend
    # make
    #cp kernel /tftpboot/kernel.diskless


    Terminal dosyalarını hazırlama

    Bununla ilgili örnek dosya
    /usr/share/examples/diskless/clone_root
    dosyasıdır.
    Bu dosyadaki DEST değişkenine terminallerin kök dizini yazılır.
    DEST=/usr/diskless_root

    # sh clone_root all
    komutu ile gerekli dosyalar bu dizine kopyalanır.
    clone_root seçenekleri:
    # sh clone_root all
    Varolan dizin silinir ve yeniden kopyalanır.
    # sh clone_root update
    Aygıt dosyaları (devices) ve bağlama noktaları güncellenir.
    # sh clone_root
    password dosyaları güncellenir.

    # sh clone_root all
    komutu sunucudaki /etc/dizininin kopyasını alır.
    Dolayısıyla terminal ayarları sunucu ile aynı olur.

    # cd /usr/diskless_root/conf/
    # mv etc.cpio.gz etc.cpio.gz.old

    Terminallerdeki ortak ayarlar için dizin oluşturulur.

    # cd /usr/diskless_root/conf/
    # mkdir -p default/etc/

    Teminallerin göreceği dizinler

    /usr/diskless_root dizinini nfs kök dizin olarak alırsak
    /conf/base/ ayarlar için bakılacak ilk dizin
    /conf/default ayarlar için bakılacak ikinci dizin
    /conf/${ipba} yayın adresine göre değiştirilebilir
    /conf/${ip} IP adresine göre bakılacak dizin

    Terminal açılırken sırayla bu dizinlere bakar. Enson bakılan ayar geçerlidir.

    fstab dosyası ayarı:

    Bulunacağı dizin:
    /usr/diskless_root/conf/default/etc/

    İçeriği:

    proc /proc procfs rw 0 0
    192.168.0.254:/usr /usr nfs ro 0 0
    192.168.0.254:/home /home nfs rw 0 0


    olmalıdır.

    rc.conf ayarları:

    /usr/diskless_root/conf/default/etc/rc.conf
    dosyasında

    sendmail_enable="NONE"

    satırı ile sendmail çalıştırılmaz.

    local_startup=""

    satırı ile
    /usr/local/etc/rc.d/
    dizinde yeralan uygulamaların çalışması engellenir.


    X terminal ayarları

    Terminallerin ekran kartı, monitor, mouse gibi aygıtları aynı olmayabilir.

    Her terminal için ayrı bir XF86Config dosyasına ihtiyaç duyulur.
    Bu dosyanın bulunacağı dizin:

    /usr/diskless_root/conf/${ip}/etc/X11/

    Örnek:
    /usr/diskless_root/conf/192.168.0.1/etc/X11

    XDM ayarları:
    /usr/X11R6/lib/X11/xdm/ dizinindeki
    xdm-config dosyasında

    DisplayManager.requestPort: 0

    satırının başına ! konur.
    Xaccess dosyasında

    #* #any host can get a login window
    #* CHOOSER BROADCAST #any indirect host can get a chooser

    satırlarının başındaki # kaldırılır.


    KDM ayarları

    KDM için:

    /usr/local/share/config/kdm/default/kdmrc

    dosyasında

    Enable=true
    Port=177

    değişiklikleri yapılır.

    GDM için benzeri değişiklikler
    /usr/X11R6/etc/gdm/gdm.conf
    dosyasında yapılabilir.

    X sunucuyu başlatmak

    /etc/ttys dosyasındaki

    ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
    satırı
    ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure

    ile değiştirilir.
    sistem ya kapatılıp açılır,
    ya da
    init programına yeniden başla sinyali gönderilir.
    # kill -s HUP 1

    X terminallerin bağlanması

    Terminaller açıldıktan sonra X sunucuya bağlanmak için:

    $ /usr/X11R6/bin/X -query the.remote.host
    $ /usr/X11R6/bin/X -indirect the.remote.host
    $ /usr/X11R6/bin/X -broadcast

    komutlarından biri kullanılır.
    İlk komut ile doğrudan bağlanılır.
    İkincisi ile belirtilen bakine isimlerine dolaylı olarak bağlanılır.
    Üçüncüsü ile ilk cevap verene bağlanılır.

    Güvenlik

    Bu amaçla kullanılacak bir sunucuda en az iki ethernet olmalı, biri terminallere diğeri de Internete bağlanmalıdır.
    Üzerinde bir firewall (ipfw, ipfilter, pf) çalışmalı ve
    terminallere hizmet amacıyla açılmış portlar Internete kapatılmalıdır.
    Bu portlar:
    dhcp:67, 68
    tftp: 69
    nfs: 2049
    portmap: 111
    mountd: 603, 796
    rpc.stat: 656, 743
    xdm: 177, 3685
    Xfree86: 6000

    Kaynaklar:

    1. man diskless
    2. more /usr/share/examples/diskless/clone_root
    3. more /etc/rc.diskless1
    4. more /etc/rc.diskless2
    5. FreeBSD Handbook
    /usr/share/doc/handbook/index.html
    6. Etherboot
    http://www.etherboot.org/

    NOT: Bu dökümana
    http://www.tasarruf.net/dokuman/terminal_server.html
    http://www.enderunix.org
    adreslerinden ulaşabilirsiniz.

    Devrim Sipahi
    devrim (at) tasarruf.net
    Üyelere Özel Konuları Görebilmek İçin Lütfen ÜYE GİRİŞİ Yapınız



    HAYDI IPTV YAPALIM

    TBS 6991 Dual Tuner Dual CI Tv kartı linux sürücü yükleme

    LÜTFEN OKUYUN



  • #2
    Konu: FreeBSD ile Terminal sunucu uygulaması

    arkadasım bu dokuman icin tesekkür ederim freebsd ile konuların devamı insallah gelir

    Yorum

    Working...
    X