![]() |
|
![]() |
![]() |
|
|
#1 (permalink) |
|
Administrator
![]() ![]() Bağlantı Tarihi: Dec 2002
yaş: 41
Mesajlar: 14,776
Teşekkür: 0
7 Mesajda 19 Teşekkürü var.
|
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 |
|
|
|
| Bookmarks |
| Bu Konuyu İzleyen Aktif Kullanıcılar : 1 (0 üye ve 1 misafir) | |
| Konu Araçları | |
| Görüntüleme Modu | |
|
|
Sponsor Linkleri
|
|
| Desteklediklerimiz | |
| Onsayfa.Com , cfturkey.com, kralclan.com, birbirgidiyor.com, friendworlds.com, cpanelbuy.com, uyduariza.com, avsaforum.com, hdturkey.com | |