File: Thinclient-HOWTO-NL.sgml

package info (click to toggle)
doc-linux-nl 20051127-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 16,408 kB
  • ctags: 94
  • sloc: xml: 47,403; makefile: 312; perl: 193; sh: 116; ansic: 12; csh: 9
file content (523 lines) | stat: -rw-r--r-- 16,188 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
<!doctype linuxdoc system>
<linuxdoc>
<article>
<titlepag>
<title>Thin Client: Nieuwe Gebruikershandleiding</title>
<author><name>Stephen Noble <tt>stephen7 at bigfoot.com</tt>,<newline>
Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org</name></author>
<date>30 november 1999</date>

<abstract>
1. Hoe goedkope niet meer gebruikte computers in snelle terminals om te zetten
door de kracht van je hoofdcomputer te gebruiken. Hiervoor heb je nodig: Een
snelle computer die als Server kan fungeren: een client computer (oud en niet
meer gewild), Linux compatibele netwerkkaarten, een connectie tussen computers.
2. Hoe systeembeheer met behulp van NFS te centraliseren, d.w.z. door het
gehele bestandssysteem van een snellere client op de server te plaatsen.
</abstract>
</titlepag>

<toc>

<sect><heading>Introductie<label id="What"></heading>

<p>
<itemize>

<item>Linux maakt het mogelijk iedere redelijk nieuwe computer als een
server voor &eacute;&eacute;n of meerdere thin-clients te gebruiken.
Deze thin-clients kunnen goedkope verouderde computers zijn. Voor een
console terminal heb je een 386'r met 4-8mb ram en voor een X-Terminal
een 486/66 met 8-16mb ram nodig.</item>

<item>&Eacute;&eacute;n optie is er &eacute;&eacute;n zonder harddisk,
het maakt minder lawaai en vereenvoudigt het beheer aangezien je slechts
&eacute;&eacute;n systeem hoeft te beheren.</item>

<item>Als je veroudere applicaties hebt, kun je ze op de harddisk plaatsen
met het verouderde besturingssysteem</item>

<item>Deze howto is bedoeld voor degenen waar Unix/Linux nieuw voor is, het
zal ingaan op essenti&euml;le gebieden waar je je bewust van zou moeten zijn
en je verwijzen naar andere documentatie op dat gebied waar je je bekend
mee zou moeten maken.</item>

<item>Je zal dit waarschijnlijk nodig hebben als hulp bij de
<htmlurl url="http://www.slug.org.au/etherboot/"
name="http://www.slug.org.au/etherboot/">  documentatie, ik zal wat
meer voorbeeld-configuratiebestanden opnemen, en vele van de andere
mogelijkheden van etherboot als een oefening aan de lezer overlaten.
</item>

<item>Als je client krachtig genoeg is, hoef je alleen het bestandssysteem
te sharen, applicaties kunnen op het client-systeem worden gedraaid. 
(zeg een 233 32mb ram).
Installeer op de server een applicatie en alle clients hebben er toegang toe.
</item>

</itemize>
</p>
</sect>

<sect><heading>Hardware en Documentatie<label id="docs"></heading>

<sect1><heading>Hardware</heading>
<P>
Wanneer je begint, heb je op z'n minst het volgende nodig</p>

<P>
<itemize>
<item>een computer om als een Server te laten fungeren,</item>
<item>een client computer, ik ontdeed de harddisk van de
stroomtoevoer en deactiveerde de disk in de bios om een diskloze computer
te emuleren</item>
<item>compatibele netwerkkaarten</item>
<item>connectie tussen computers, ik gebruikte twisted pair ethernet met RJ45
terminators</item>
<item>Voor twee computers volstaat een <it>cross-over kabel</it> , en 't
bespaart een ander stroompunt.<!-- , de eerste computer waar ik ging
winkelen gaf me blank stares, idioten! --></item>
<item>Voor twee of meer clients, heb je een hub nodig, een kit met een
10 mb 4 poort hub, 2 kaarten wordt verkocht voor nog minder dan
A$150, waarschijnlijk kan het voor nog minder,
Het lukt mij aan tweedehandskaarten te komen voor $5, 3m kabel voor $6, 
een nieuwe hub voor $40, een gevonden monitor en een pentium 75 voor $60</item>
</itemize>
</p>
</sect1>

<sect1><heading>Documentatie</heading>
<P>
Wellicht dat je je eerst wat in de linux-documentatie wilt verdiepen,
voor een overzicht kun je in ieder geval het volgende (vluchtig) doornemen:

<itemize>
<item>/usr/doc/HOWTO/mini/Diskless - een vergelijkbare howto 
waarin dit probleem wordt aangepakt</item>
<item>Networking Overview HOWTO - Netwerkcapaciteiten van Linux</item>
<item>Ethernet HOWTO -  Informatie over Ethernet hardware compatibiliteit
</item>
<item>NET-3 HOWTO -  Hoe TCP/IP netwerken onder Linux te configureren.</item>
</itemize>
</p>

<P>
Vermoedelijk staan er in de directory /usr/doc/LDP tevens 
<itemize>
<item>De System Administrators' Guide</item>
<item>De Network Administrators' Guide</item>
<item>Linux Installation and Getting Started</item>
</itemize>
</p>

<P>
De verplichte link
<itemize>
<item><htmlurl url="http://www.magma.ca/~bklimas"
name="http://www.magma.ca/~bklimas"> hulp voor nieuwe linux-gebruikers.</item>
</itemize></p>

<P>
En nog als laatste
<itemize>
<item> mijn netwerkserver is snoball , mijn client is elite en mijn
(local)domain is gundog.net. Vervang daar waar van toepassing de namen voor
je computers.</item>
</itemize>
</p>
</sect1>
</sect>

<sect><heading>Server setup<label id="Server"></heading>
<p>
De server moet om de client te kunnen herkennen op een aantal wijzen worden
ingesteld.</p>

<sect1><heading>Controleer je netwerkservices op je server</heading>
<p>
Start het commando <tt>/sbin/ifconfig</tt>; als je uitvoer vergelijkbaar
is met wat hieronder staat, dan zijn je loopback en ethernetkaart juist
geconfigureerd.

<code>
[cassie@snoball cassie]$ /sbin/ifconfig
lo        Link encap:Local Loopback
     inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
     UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
     RX packets:854 errors:0 dropped:0 overruns:0 frame:0
     TX packets:854 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0
eth0      Link encap:Ethernet  HWaddr 00:AA:00:BB:BD:09
     inet addr:192.168.53.1  Bcast:192.168.53.255  Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:190369 errors:0 dropped:0 overruns:0 frame:0
     TX packets:249267 errors:0 dropped:0 overruns:0 carrier:1
     collisions:4793           Interrupt:5 Base address:0x320
</code>
</p>

<P>
Als ...
<itemize>
<item> loopback niet voorkomt, moet je het tijdens het opstarten activeren,
</item>
<item> de ethernetkaart niet wordt gedetecteerd, is de driver een module</item>
<item> je kunt deze instellen in linuxconf of netcfg</item>
</itemize>
</p>
</sect1>

<sect1><heading>Instellen van een dhcpd daemon</heading>

<p>

Hier geeft de server IP-nummers op verzoek van de clients

<itemize>
<item>als DHCPD is ge&iuml;nstalleerd, moet je mogelijk (als root) slechts
ntsysv uitvoeren en het tijdens de systeemstart op laten starten</item>

<item>dit <tt>/etc/dhcpd.conf</tt> bestand kent statische IP-nummers toe als
je een overeenkomend MAC-adres hebt. Een Mac-adres is een uniek 'nummer'
welke aan de NIC wordt gegeven.
Het begin van het 'nummer' is gebaseerd op de fabrikant, als er geen sticker
op de kaart zit, probeer het rom-image dan vanuit eprom of diskette te
laden en kijk wat het rapporteert. (zie client-setup)
<code>
#/etc/dhcpd.conf
subnet 192.168.35.0 netmask 255.255.255.0 {
    option domain-name "gundog.net";
    range dynamic-bootp 192.168.35.128 192.168.35.255;
    default-lease-time 21600;
    max-lease-time 43200;
    }

host 286 {
        filename "/tftpboot/kermit.nb";
        hardware ethernet 00:80:c8:22:ae:de;
        fixed-address 192.168.35.70;
        }

host elite {
    filename "/tftpboot/vmlinuz.xterm";
    hardware ethernet 00:00:79:80:34:c9;
    fixed-address 192.168.35.23;
        option host-name "elite";
</code></item>

<item>het bestand <tt>/etc/hosts</tt> zet IP-nummers om in hostnamen
<code>
#etc/hosts
127.0.0.1       localhost    localhost.localdomain
192.168.53.1    snoball      snoball.gundog.net
192.168.53.23   elite        elite.gundog.net
</code></item>
</itemize>
</p>
</sect1>

<sect1><heading>Tftpd setup</heading>
<p>
trivial ftp - als je client het IP-nummer heeft, verzoekt het om een kernel,
deze wordt over ethernet bezorgd.
<itemize>

<item>Installeer tftpd, verzerker jezelf ervan dat het is geactiveerd,
in <tt>/etc/inetd.conf</tt> zie je een regel met,

<code>
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /tftpboot
</code></item>
</itemize>
</p>
<p>Herstart inetd, kill -HUP "proces-id van inetd".</p>
</sect1>

<sect1><heading>Kernel-image</heading>

<p>
Je moet een kernel voor de Client compileren waarin ondersteuning voor NFS
en de NIC-driver voor die client is meegecompileerd (niet als modules).
Antwoord yes op
<em>Root file system on NFS?</em> en <em>BOOTP support?</em></p>
<p>
Draai na het bouwen van de kernel mknbi-linux vanaf de Etherboot-distributie.
(het mknbi programma in de netboot/linux directory). Installeer tagged image
als /tftpdir/"vmlinuz.xterm".</p>
<p>
zie etherboot-4.2/doc/html/README-3.html</p>
<p>
zal ik een kopie van die van mij ergens voor download RH6.0 ne2000 NIC 
beschikbaar stellen.</p>
</sect1>

<sect1><heading>Beveiliging</heading>
<p>
Het eenvoudigst is het om alles en iedereen toe te staan services en 
processen op je computer uit te laten voeren, maar op een dag zul je daar
spijt van krijgen. Je beperkt dit door je /etc/hosts.deny en herstelt 
bijzondere rechten in het bestand /etc/hosts.allow, 
voorbeelden:

<code>
#hosts.deny
# alles behalve die in hosts.allow
ALL:ALL


#hosts.allow
#alleen hosts binnen mijn domein en mijn host thuis.
ALL:LOCAL, 192.168.53.       #<-- noot:geen spatie achter :

</code>
</p>

<p>Meer beveiliging - kijk voor meer informatie in de ldp-howto's en als je
gebruik maakt van etherboot, in de security howto daarvan.</p>
</sect1>
</sect>

<sect><heading>Client setup<label id="client"></heading>
<p>
<em>Netwerk loader</em></p>
<p>
Een klein programma dat als een BIOS-uitbreiding wordt uitgevoerd, kan vanaf
een diskette worden geladen, of je kunt een eprom-chip branden en het voor
een geheel diskloze client op je netwerkkaart voegen.
Het handelt het DHCPD-verzoek en het laden van TFTP af en het geeft
de controle dan over aan het geladen image. Het maakt gebruik van het
TCP/IP protocol.
</p>


<p>Er zijn twee gratis implementaties TCP/IP net-loaders:
<htmlurl url="http://www.slug.org.au/etherboot/" name="Etherboot"> en
<htmlurl url="http://www.han.de/~gero/netboot.html" name="Netboot">:
Etherboot maakt gebruik van ingebouwde drivers terwijl Netboot gebruik maakt
van Packet drivers.</p>
<p>
<itemize>
<item>zie etherboot-4.2/doc/html/README-2.html,</item>
<item>Ik compileerde de optie naar local of Network te vragen en de standaard
na 5 seconden op local over te gaan</item>
<item>het maken van een bootrom-diskette, floppyload.bin was lastig te vinden,
ik kopieerde het naar de directory gecompileerde rom-images
<code>
cat floppyload.bin ne2000.lzrom > /dev/fd0
</code></item>
</itemize>
</p>
</sect>

<sect><heading>Network File System<label id="NFS"></heading>
<p>
De Client doet een verzoek <tt>/tftpboot/</tt><it>&lt;IP-adres van
client></it> te mounten als zijn <tt>/</tt> door NFS vanaf de server.
Je moet dit exporteren vanaf de server, (misschien veiligheidshalve
een symlink maken naar /tftpboot/<tt><it>client</it></tt>).</p>

<p><em>NFS</em> is een uitgebreid onderwerp waarvoor een HOWTO en twee
mini-HOWTO's zijn.</p>

<p>Ten eerste heb je een kopie van je huidige systeem onder /tftpboot nodig.
Ken heeft twee scripts geschreven waarmee de helft van al het werk wordt
gedaan, ik noemde ze makefirst en makecopy.
Mijn eerste client neemt 20-30mb<!-- and the copy less -->. Ik gebruikte
du -h om te zoeken naar grote onnodige bestanden.</p>
<p>
zie etherboot-4.2/doc/html/diskless-5.html</p>
<p>
naar het schijnt zijn de volgende bestanden hier kritiek:</p>

<sect1><heading>Server specifiek</heading>
<p>
<code>
#/etc/exports
/tftpboot/elite             elite(rw,no_root_squash)
/tftpboot/elite             gordon(rw,no_root_squash)
/usr                        *.gundog.net(ro)
/home                       *.gundog.net(rw)
/mnt/cdrom                  (ro)

draai exportfs -a  om het bestand exports na de wijzigingen opnieuw in te
lezen
/usr/sbin/exportfs --help


#/etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4="no"
HOSTNAME="snoball"         <-----------
GATEWAYDEV=""
GATEWAY=""


#/etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR="192.168.53.1"            <-----------
BOOTPROTO=none

</code></p>
</sect1>

<sect1><heading>client specifiek</heading>
<p><code>
#tftpboot/elite/etc/fstab
snoball:/tftpboot/elite    /               nfs rw  1 1
none                    /proc proc          defaults   0 0
snoball:/usr           /usr                 nfs     ro  1 1
snoball:/home          /home                nfs     rw  1 1


#tftpboot/elite/etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=nomore
HOSTNAME=elite
GATEWAYDEV=
GATEWAY="192.168.53.1"       <-----------


#/tftpboot/elite/etc/sysconfig/network-scripts/ifcfg-eth0
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         <-----------

</code>
<! --
#odd fiddles
#itemize>
#item>fast...
#item>cp /usr/bin/xargs /tftpboot/client/bin/xargs
#/itemize>
-->
</p>
</sect1>
</sect>

<sect><heading>X-terminal<label id="X-terminal"></heading>
<p>

Zonder verdere wijzigingen zou je client nu op de CLIENT pc moeten booten,
het deelt zijn bestaden via NFS</p>
<p>
Je hebt nu een console terminal. Je hoeft slechts nog een paar
wijzigingen aan te brengen om het zodanig te wijzigen dat het X kan draaien.</p>
<p>

<itemize>
<item>X Configureren
Draai als root op de client Xconfigurator en mouseconfig.

Als dit niet lukt, gebruik XF86Setup dan om je dir met RPMS op je
CD te controleren (bv.ls *Setup*)</item>

<item>X Font Server
<code>
#controleer hoe xfs start op server /etc/rc.d/init.d/xfs
  start)
    echo -n "Starten van X Font Server: "
    rm -fr /tmp/.font-unix
    daemon --check xfs su xfs -c xfs -s /bin/sh
    touch /var/lock/subsys/xfs
    echo
    ;;

#wijzig XF86Config voor alle computers
    FontPath  "tcp/snoball:7100"
</code>
</item>

<item>Console login

Alles is nu zo ingesteld voor een console login naar de client PC. Je maakt
nu gebruik van het geheugen en de processor van de client,
Voor console programma's is dit voldoende<!-- and there
and many or great merit -->, programmeer in python, email met pine of browse met
lynx.

Je kunt X nog steeds van hieruit starten, maak de wijzigingen voor de server
in de volgende sectie, typ achter de prompt
<tt>X -query snoball</tt> en je zal de loginbox naar de server krijgen
</item>

<item>Grafische login

<em>Server setup</em>

<code>
1. Zorg ervoor dat de client overeenkomt met een clausule in /etc/X11/xdm/Xaccess
*   CHOOSER BROADCAST   #iedere indirecte host kan een chooser krijgen


2. Plaats een commentaarteken voor de :0 in /etc/X11/xdm/Xservers
#:0 local /usr/X11R6/bin/X

3. Zorg er dan voor dat xdm vanuit de init-scripts wordt uitgevoerd
#etc/inittab
id:5:initdefault:

en
# Draai xdm in runlevel 5
# xdm is nu een aparte service
x:5:respawn:/etc/X11/prefdm -nodaemon
xdm:5:respawn:/usr/X11R6/bin/xdm -nodaemon

</code>
</item>

<item><em>Op de client</em>

Krijg de langzame PC's zover dat ze op de server draaien. Snelle PC's
(bv 166mhz 32mb ram) kunnen prima op hun eigen CPU en geheugen draaien.


Het deel gemarkeerd met WARNING werkt nog niet echt, maar ik ben er dichtbij
de juiste syntax te verkrijgen, gebruik in de tussentijd de uit twee fasen
bestaande methode via de console in te loggen.

<code>
#/tftpboot/elite/etc/inittab

id:5:initdefault:                                    #WARNING
x:5:respawn:/usr/X11R6/bin/Xwrapper -query snoball   #WARNING

OF om uit te voeren op client ??

id:3:initdefault:                                    #runlevel 3 dwz console
x:5:respawn:/etc/X11/prefdm -nodaemon
</code>
</item>
</itemize>
</p>
</sect>

<sect><heading>Erkenningen & meer oefeningen<label id="end"></heading>

<p>

<em>Markus Gutschke en Ken Yap</em>
de auteurs van het programma Etherboot.</p>
<p>


Breid je systeem met de volgende programma's uit
<itemize>
<item>squid -      cache je web browsing voor anderen op je netwerk</item>
<item>junkbuster - banish web banner hulpmiddelen</item>
<item>mailman -    mailinglist ;setup via e-mail of web</item>
<item>imp -        op web gebaseerde email (met een java geactiveerde browser)
</item>
<item>python -     voor een aantal zijn Java en C te moeilijk</item>
<item>sgmltools -  ontdoe je van meerdere versies van je docs</item>
<item>suggesties ?</item>
</itemize>

stephen7 at bigfoot.com
</p>
</sect>
</article>
</linuxdoc>