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 éé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>Één optie is er één zonder harddisk,
het maakt minder lawaai en vereenvoudigt het beheer aangezien je slechts
éé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ë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ï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><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>
|