DHCP3 - TFTP - PXE NOTLARI * tftp - apt-get install tftpd-hpa tftpd-hpa -> inetutils-inetd - /etc/default/tftpd-hpa RUN_DAEMON="yes" * disksiz sistemlerin dosyaları * manuel sistem - çekirdek (örnek sistemin çekirdeği alınacak) cd /var/lib/tftpboot mkdir par.nfs cp /boot/vmlinux.... par.nfs/ cp /boot/initrd.img... par.nfs/ - nfsroot cd /var/lib/tftpboot mkdir par.nfs/nfsboot - örnek sistem base kurulum apt-get update && apt-get -u upgrade apt-get install vim \ screen \ openssh-server \ portmap \ rcconf \ nfs-common nfs-common -> libevent1 libgssapi2 libnfsidmap2 librpcsecgss3 ucf openssh-server -> sadece public key ile erişim izni verilecek apt-get install shorewall shorewall -> normal shorewall kurulumu genele sadece 22. porttan giriş izni verilecek sunucu makineden her türlü erişim izni verilecek etc/shorewall/routestopped # sunucu baglantisinin firewall baslarken resetlenmemesi icin eth0 192.168.16.1 critical date MMDDhhmm - EMC2 kullanılacaksa yapılacak ilaveler dpkg -i linux-image-2.6.17-rtai_r1_i386.deb dpkg -i linux-headers-2.6.17-rtai_r1_i386.deb reboot apt-get install gcc-4.1 binutils cpp-4.1 libssp0 dpkg -i rtai-modules-2.6.17-rtai_3.4+r1_i386.deb dpkg -i rtai-dev-2.6.17-rtai_3.4+r1_i386.deb reboot echo install parport_pc /bin/true >/etc/modprobe.d/emc2 apt-get install python \ python-imaging \ python-imaging-tk \ python-numarray \ python-dev \ tcl8.4-dev \ tk8.4-dev \ yapps2 \ libgtk2.0-dev \ libpth-dev \ libreadline5-dev \ libxmu-dev \ libxaw7-dev \ xlibmesa-gl-dev \ xlibmesa-glu \ libglu1-mesa-dev \ pciutils-dev \ bwidget \ cvs \ latex2html \ preview-latex-style \ latex-xft-fonts \ libaiksaurus-1.2-0c2a \ libgnomeprintui2.2-dev \ imagemagick \ lyx apt-get install make \ cpp \ gcc \ g++ \ libstdc++6-4.1-dev \ gettext \ gettext-base - CVS klasörü oluşturulur ve derleme yapılır - örnek sistemin boyutunun düşürülmesi - kullanılmayacak kernel varsa silinir - manuel yüklenen .deb paketleri manuel silinir - apt-get clean - örnek sistemden dosyaların alınması cd / tar czf root.tar.gz bin/ boot/ cdrom dev/ etc/ home/ initrd/ initrd.img lib/ media/ \ mnt/ opt/ root/ sbin/ srv/ tmp/ usr/ var/ vmlinuz cd var/lib/tftpboot/par.nfs/nfsroot tar zxf root.tar.gz mkdir /proc mkdir /sys - ayarlar (var/lib/tftpboot/par.nfs/nfsboot/ ) -> etc/hostname yeni_isim -> etc/network/interfaces #eth0 için auto veya allow-hotplug içeren satir olmayacak iface eth0 inet dhcp -> etc/fstab proc /proc proc defaults 0 0 /dev/nfs / nfs defaults 0 0 none /tmp tmpfs defaults 0 0 none /var/tmp tmpfs defaults 0 0 none /var/run tmpfs defaults 0 0 none /var/lock tmpfs defaults 0 0 * ThinStation (bu bölüm henüz tamam değil) - download . http://thinstation.sourceforge.net/wiki/index.php/ThIndex http://netstation.sourceforge.net/ . download & tar . edit build.conf . ./build - pxe . mkdir /var/lib/tftpboot/par.thin . cp thinstation/kernel/vmlinuz /var/lib/tftpboot/par.thin/ . cp thinstation/boot-images/initrd/initrd /var/lib/tftpboot/par.thin/ . cp thinstation/conf/rdesktop_svga.conf.sample /var/lib/tftpboot/par.thin/thinstation.conf * Debian Etch Netinstaller - http://www.debian.org/devel/debian-installer/ netboot image ( netboot.tar.gz ) - tar xzf netboot.tar.gz - mkdir /var/lib/tftpboot/par.netinstall - cp debian-netinstall/debian-installer/debian-installer/i386/linux /var/lib/tftpboot/par.netinstall/ - cp debian-netinstall/debian-installer/debian-installer/i386/initrd.gz /var/lib/tftpboot/par.netinstall/ * nfs-kernel-server - apt-get install nfs-kernel-server -> nfs-common -> portmap -> libevent1 -> libgssapi2 -> libnfsidmap2 -> librpcsecgss3 - /etc/default/nfs-common STATDOPTS="--port 32765 --outgoing-port 32766" - /etc/default/nfs-kernel-server RPCMOUNTDOPTS="-p 32767" - /etc/modprobe.d/lockd ( oluştur, birçok dökümanda geçen 32768 portu, named ile çakışıyor ) options lockd nlm_udpport=32764 nlm_tcpport=32764 - /etc/hosts.deny portmap: ALL - /etc/hosts.allow portmap: 192.168.16.0/255.255.255.0 - /etc/exports /var/lib/tftpboot/par.nfs/nfsroot 192.168.1.201(ro,sync,no_root_squash) 192.168.1.202(ro,sync) - exportfs -vr * dhcp - apt-get install dhcp3-server dhcp3-common - /etc/dhcp3/dhcpd.conf ddns-update-style none; option domain-name "domain.loc"; option domain-name-servers 208.67.222.222, 208.67.220.220; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; # dinamik IP'li makineler subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.110 192.168.1.200; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option netbios-name-servers 192.168.1.1; } # sabit IP'li makineler group { option broadcast-address 192.168.1.255; option routers 192.168.1.254; host host_adi_1 { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.101; } host host_adi_2 { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.102; } } # disksiz makineler group { option broadcast-address 192.168.1.255; option routers 192.168.1.254; next-server 192.168.1.1; filename "pxelinux.0"; #option root-path "/var/lib/tftpboot/par.nfs/nfsroot"; host disksiz_host_adi_1 { hardware ethernet 08:00:2b:4c:59:33; fixed-address 192.168.1.201; } host disksiz_host_adi_2 { hardware ethernet 08:00:2b:4c:59:34; fixed-address 192.168.1.202; } } - /etc/default/dhcp3-server INTERFACES="eth0" * syslinux - apt-get install syslinux - cd /var/lib/tftpboot touch pxelinux.txt cp /usr/lib/syslinux/pxelinux.0 . mkdir pxelinux.cfg cd pxelinux.cfg touch default touch 01-08-00-2b-4c-59-33 ( DİKKAT! Başına 01- geliyor ) touch 01-08-00-2b-4c-59-34 - /var/lib/tftpboot/pxelinux.txt Boot Menu --------- local netinstall nfs thin rescue - /var/lib/tftpboot/pxelinux.cfg/default /var/lib/tftpboot/pxelinux.cfg/01-08-00-2b-4c-59-33 /var/lib/tftpboot/pxelinux.cfg/01-08-00-2b-4c-59-34 DISPLAY pxelinux.txt DEFAULT local LABEL local localboot 0 LABEL nfs KERNEL par.nfs/vmlinuz # tamami tek satirda APPEND initrd=par.nfs/initrd.img-2.6.17-rtai root=/dev/nfs nfsroot=192.168.1.1:/var/lib/tftpboot/par.nfs/nfsboot nfsopts="hard,intr,rsize=8192,wsize=8192" ip=dhcp vga=normal ramdisk_size=10240 pnpbios=off rw -- LABEL thin KERNEL par.thin/vmlinuz # tamami tek satirda APPEND ramdisk_blocksize=4096 ramdisk_size=524288 initrd=par.thin/initrd root=/dev/ram0 vga=791 console=ttyS3 LABEL netinstall KERNEL par.netinstall/linux APPEND priority=low vga=normal initrd=par.netinstall/initrd.gz -- LABEL rescue KERNEL par.netinstall/linux APPEND vga=normal initrd=par.netinstall/initrd.gz rescue/enable=true -- PROMPT 1 TIMEOUT 0 * shorewall ayarları - Hem DHCP sunucu hem de DHCP istemci çalışan makinelerde /etc/shorewall/interfaces dosyasında "interfaces options" bölümüne "dhcp" eklenecek - /etc/shorewall/zones fw firewall net ipv4 loc:net ipv4 pxe:net ipv4 - /etc/shorewall/hosts loc eth0:192.168.1.0/24 pxe eth0:192.168.1.201-192.168.1.210 - /etc/shorewall/policy fw all ACCEPT pxe all REJECT loc all REJECT net all REJECT all all REJECT - /etc/shorewall/rules # dhcp ACCEPT loc fw udp 69 # nfs client ACCEPT pxe fw udp 111 ACCEPT pxe fw tcp 111 ACCEPT pxe fw tcp 2049 ACCEPT pxe fw udp 2049 ACCEPT pxe fw tcp 32764:32767 ACCEPT pxe fw udp 32764:32767 * istemci makinenin BIOS'u ethernet'ten boot'u desteklemiyorsa aşağıdaki 2 seçenekten birisi uygulanacak. - rom-o-matic http://www.rom-o-matic.net/ dd if=image of=/dev/fd0 veya iso, CD'ye yazılır - Thinstation Universal Boot Floppy http://sourceforge.net/projects/thinstation/ download BootDisk522b.zip unzip BootDisk522b.zip dd if=ebnet522.dsk of=/dev/fd0 * sunucuların yeniden başlatılması /etc/init.d/shorewall restart /etc/init.d/dhcp3-server restart /etc/init.d/inetd restart /etc/init.d/tftpd-hpa restart /etc/init.d/portmap restart /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart