Thinclient HOWTO
Thinclient HOWTO
Table of Contents
Thin Client: New User Guide .............................................................................................................................1 Stephen Noble stephen7 at bigfoot.com..................................................................................................1 1.Introduction...........................................................................................................................................1 2.Hardware and Documentation..............................................................................................................1 3.Server setup ...........................................................................................................................................1 4.Client setup...........................................................................................................................................1 5.Network files system .............................................................................................................................1 6.Xterminal............................................................................................................................................2 7.Acknowledgments & further exercises ................................................................................................2 1.Introduction...........................................................................................................................................2 2.Hardware and Documentation..............................................................................................................2 2.1 Hardware............................................................................................................................................2 2.2 Documentation...................................................................................................................................3 3.Server setup ...........................................................................................................................................3 3.1 Check your network services on your server.....................................................................................3 3.2 Setting up a dhcpd daemon................................................................................................................4 3.3 Tftpd setup.........................................................................................................................................5 3.4 Kernel image......................................................................................................................................5 3.5 Security..............................................................................................................................................5 4.Client setup...........................................................................................................................................6 5.Network files system .............................................................................................................................6 5.1 server specific....................................................................................................................................7 5.2 client specific.....................................................................................................................................7 6.Xterminal............................................................................................................................................8 7.Acknowledgments & further exercises ................................................................................................9
1.How to turn inexpensive legacy computers into fast terminals using the power of your main computer, you will need : A fast computer to act as Server, A client computer (old and unwanted). Linux compatible network cards. A connection between computers. 2.How to centralise system administaration by useing NFS, ie placing the entire file system of a faster client on the server.
3.Server setup
3.1 Check your network services on your server 3.2 Setting up a dhcpd daemon 3.3 Tftpd setup 3.4 Kernel image 3.5 Security
a computer to act as Server, a client computer, I unplugged the power to the hard disk and disabled the drive in the bios to emulate a diskless machine compatible network cards connection between computers, I used twisted pair ethernet with RJ45 terminators For two computers a crossover cable is sufficient, and saves another power point, the first computer shop I went to gave me blank stares, idiots ! For two or more clients, you need a hub, a kit with a 10 mb 4 port hub ,2 cards sells for under A$150, you can probably do better, I've had some success with $5 second hand cards, 3m 6.Xterminal 2
Thin Client: New User Guide cables for $6, a new hub for $40, a found monitor and a $60 pentium 75
2.2 Documentation
You may like to familiarise yourself with the linux documentation, specifically you can read (skim) for an overview the following : /usr/doc/HOWTO/mini/Diskless a similar howto tackling this problem Networking Overview HOWTO Networking capabilities of the Linux Ethernet HOWTO Information on Ethernet hardware compatibility NET3 HOWTO How to configure TCP/IP networking under Linux.
Also you probably have in the /usr/doc/LDP/ directory The System Administrators' Guide The Network Administrators' Guide Linux Installation and Getting Started
One last thing my network server is snoball , my client is elite and my (local)domain is gundog.net Replace with your computers names where applicable
3.Server setup
The server needs to be setup in readiness for the client in a number of ways
2.2 Documentation
If not ... loopback, if this isn't here you need to activate it at start up, ethernet card, is it being detected,is the driver a module you can set these in linuxconf or netcfg
#/etc/dhcpd.conf subnet 192.168.35.0 netmask 255.255.255.0 { option domainname "gundog.net"; range dynamicbootp 192.168.35.128 192.168.35.255; defaultleasetime 21600; maxleasetime 43200; } host 286 { filename "/tftpboot/kermit.nb"; hardware ethernet 00:80:c8:22:ae:de; fixedaddress 192.168.35.70; } host elite { filename "/tftpboot/vmlinuz.xterm"; hardware ethernet 00:00:79:80:34:c9; fixedaddress 192.168.35.23; option hostname "elite";
3.5 Security
It's easiest to allow anybody and anything to run services and process on your computer, but one day you will be sorry. You restrict these by your /etc/hosts.deny and specifically restore rights by /etc/hosts.allow, indicative examples :
#hosts.deny # all except those in hosts.allow ALL:ALL
#hosts.allow #only hosts within my domain and my host at home. ALL:LOCAL, 192.168.53. #< note:no space after :
more security look for more information in the ldphowto's and if your using etherboot, in it's security howto.
4.Client setup
Network loader A small program that runs as a BIOS extension, can be loaded from a floppy, or you can burn an eprom chip and insert it on your network card for a totally diskless client. It handles the DHCPD query and TFTP loading and then transfers control to the loaded image. It uses TCP/IP protocols.
There are two free implementations of TCP/IP net loaders: Etherboot and Netboot: Etherboot uses builtin drivers while Netboot uses Packet drivers. see etherboot4.2/doc/html/README2.html, I compiled the option to ask local or Network and default to local after 5 seconds making a boot rom floppy, floppyload.bin was tricky to find, I copied it into the directory of compiled rom images
4.Client setup
run exportfs a to reread the exports file after changes /usr/sbin/exportfs help
<
#/tftpboot/elite/etc/sysconfig/networkscripts/ifcfgeth0 DEVICE=eth0 USERCTL=yes ONBOOT=yes BOOTPROTO=none BROADCAST=192.168.53.255 NETWORK=192.168.53.0 NETMASK=255.255.255.0 IPADDR=192.168.53.23 <
6.Xterminal
With no further changes your client should boot on the CLIENT pc, it just happens to be sharing it's files via NFS At this point you have a console terminal. you need to make just a few more changes to run X
Configuring X As root on client run Xconfigurator and mouseconfig, If this fails use XF86Setup check your RPMS dir on your CD (eg.ls *Setup*) X Font Server
#chech how xfs starts on server /etc/rc.d/init.d/xfs start) echo n "Starting X Font Server: " rm fr /tmp/.fontunix daemon check xfs su xfs c xfs s /bin/sh touch /var/lock/subsys/xfs echo ;; #edit XF86Config for all machines FontPath "tcp/snoball:7100"
Console login You are now set up for a console login to the client PC. You are using the client memory and processor, this is adequate for console programs and there and many or great merit, program in python, email with pine or browse with lynx.
You may still start X from here, make the server changes in the next section, at the prompt type X query snoball and you will get the login box to the server Graphical login Server set up
1. Make sure the client is matched by a clause in /etc/X11/xdm/Xaccess * CHOOSER BROADCAST #any indirect host can get a chooser
6.Xterminal
On the client Get the slow PC's to run on the server, Fast PC's (eg 166mhz 32mb ram)can run ok on their own CPU and memory
the part maarked WARNING dosn't actually work as yet, but I'm close to getting the syntax correct, use the two stage method via the console login in the mean time.
#/tftpboot/elite/etc/inittab id:5:initdefault: x:5:respawn:/usr/X11R6/bin/Xwrapper query snoball OR to run on client ?? id:3:initdefault: x:5:respawn:/etc/X11/prefdm nodaemon #runlevel 3 ie console #WARNING #WARNING
Extend your system with the following programs squid cache your web browsing for others on your network junkbuster banish web banner adds mailman mailinglist ;setup via email or web imp web based email (with a java enabled browser) python for some Java and C is just too hard sgmltools knock out multiple versions of your docs suggestions ? 7.Acknowledgments & further exercises 9
10