<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR></HEAD>
<BODY>
<H1>Virtual Network Computing, ook bekend als VNC</H1>
<H4>ArticleCategory: [Choose a category for your article]</H4>System 
Administration 
<H4>AuthorImage:[Here we need a little image form you]</H4><IMG 
alt="[Photo of the Author]" height=147 
src="../../common/images/Georges-Tarbouriech.jpg" width=126> 
<H4>TranslationInfo:[Author and translation history]</H4>
<P>original in en <A href="mailto:gete@wanadoo.fr">Georges Tarbouriech</A></P>
<P>en to nl <A href="mailto:rano@dds.nl">Rano Kuhl</A></P>
<H4>AboutTheAuthor:[A small biography about the author]</H4>
<P>Georges is een ervaren Unix-gebruiker (op commerci&euml;le en vrij beschikbare Unix-systemen).
VNC veranderde zijn leven ;-).</P>
<H4>Abstract:[Here you write a little summary]</H4>VNC is de droom die
werkelijkheid is geworden voor de netwerkbeheerder.  Je zou kunnen zeggen dat
het een systeem is waarmee computers op afstand bekeken kunnen worden, maar het is veel meer dan dat. 
Bij het bezoeken van <A 
href="http://www.uk.research.att.com/">http://www.uk.research.att.com/</A> 
kun je deze software GRATIS downloaden. VNC is gedistribueerd onder
de GPL en is beschikbaar voor meerdere platforms. Het programma is al naar verschillende 
besturingssystemen geporteerd en natuurlijk kun jij ook je steentje bijdragen. Laten we eens kijken 
wat VNC zoal aan mogelijkheden te bieden heeft.<BR>
<H4>ArticleIllustration:[This is the title picture for your article]</H4><IMG 
alt=[Illustration] height=64 hspace=10 src="../../common/images/vnc.gif" 
width=64> 
<H4>ArticleBody:[The article body]</H4>
<H2>Inleiding</H2>

Begin 1999 nam AT&amp;T de onderzoekslaboratoria van Olivetti over en 
zette de ontwikkeling van VNC voort. Zoals wordt
verteld op de website van AT&amp;T komt de naam VNC van de oorspronkelijke ontwikkeling
van de ATM-netwerkcomputers (zogenaamde <EM>very thin clients</EM> die werken met 
<EM>Asynchronous Transfer Mode</EM>, een snel asynchroon 
universeel transportmechanisme) en "aangezien de VNC-viewer 
een uitsluitend softwarematige versie is van deze ATM-netwerkcomputer, waarmee naar behoefte 
werkstations kunnen worden aangemaakt of gewist, noemden we het systeem <EM>Virtual 
Network Computing</EM>".
<P>
Om VNC te gebruiken, heb je een TCP/IP-netwerk
nodig, een VNC-server en een VNC-viewer om toegang te krijgen tot de machine die
de VNC-server draait.<BR>De op X gebaseerde VNC-server werkt volgens hetzelfde client-server-principe 
als X. In werkelijkheid heb je twee servers in &eacute;&eacute;n:
een X-server en een VNC-server. Hierdoor is het mogelijk hetzelfde schermnummer te gebruiken 
voor zowel de X-server als de VNC-server. Om verbinding te maken met de VNC-server, moet je de
computernaam en het schermnummer opgeven. Het commando heeft de volgende opbouw: 
"vncviewer computernaam:2". Voor de duidelijkheid, als je X-server schermnummer
2 heeft, dan zal de VNC-server ook schermnummer 2 hebben. Vanaf de client kun je
met behulp van de viewer verbinding maken met de server door het invoeren van het schermnummer. 
Als een gebruiker op de server werkt op scherm 1 en jij maakt een verbinding met
scherm 2, dan zal deze gebruiker niet eens merken dat je op zijn machine werkt.
VNC is in staat het eerste vrij beschikbare schermnummer te vinden en de gebruiker hierover 
te informeren, maar niets weerhoudt die gebruiker ervan een ander schermnummer te gebruiken. 
Als de VNC-server je schermnummer 2 geeft, kun je een verbinding maken met bijvoorbeeld 
scherm nummer 3 of 4 door het gewenste nummer in te voeren bij het opstarten 
van de viewer.
<P>
Op machines die Windows draaien ligt de zaak anders, want je bent dan niet in staat om een
nieuwe desktop te maken. De bestaande desktop is op afstand bedienbaar.
Als we naar het vorige voorbeeld van de werkende gebruiker kijken en je maakt een verbinding 
naar deze machine, dan zal deze gebruiker alles kunnen zien wat jij aan het doen bent,
net alsof zijn machine uit zichzelf werkt! Het standaard-schermnummer zal natuurlijk 
0 zijn. Als je twee NT-machines met elkaar laat verbinden hoef je dit nummer niet
eens in te voeren.
<P>
VNC is beschikbaar voor verschillende besturingssystemen, hoewel soms alleen
als een client, oftewel viewer. Voor BeOS is bijvoorbeeld geen VNC-server beschikbaar. 
Veel Unices, MacOS, AmigaOS, ... kunnen VNC gebruiken. Op <A href="http://www.uk.research.att.com/vnc/platforms.html">
http://www.uk.research.att.com/vnc/platforms.html</A>  kun je zien 
welke versies er voor welke platforms zijn. Je kunt de broncode of de gecompileerde versie van VNC downloaden, 
afhankelijk van het platform waarop je werkt.  De programma's zijn klein en gemakkelijk te installeren.  Laten 
we nu eens kijken hoe VNC werkt.<BR><BR>
<H2>Presentatie</H2><BR><BR>
<STRONG>De server</STRONG></P>

De huidige versie van VNC is 3.3.3, waarbij de versies per platform een 
afwijkend nummer hebben. Op Unix-versies (of computers
die X gebruiken) krijg je een programma genaamd VNC-server en een ander genaamd
Xvnc. VNC-server is een Perl-script dat je naar eigen behoeften kunt instellen. Dit 
script start Xvnc op. Het is niet aan te bevelen Xvnc direct op te starten. 
De programma's kunnen worden ge&iuml;nstalleerd waar je maar wilt. 
Elke <EM>window manager</EM> kan worden gebruikt zodra je deze instelt als de
standaardviewer in het xstartup-scriptje (kijk in de directory .vnc). 
Als je VNC-server voor de eerste keer opstart, word je om een wachtwoord gevraagd. 
Dit wachtwoord is nodig om een verbinding te maken naar deze server. Zoals elke 
X-server beschikt VNC-server over veel opties. Door het 
intikken van "Xvnc --help" krijg je een lijst met opties te zien. Als je deze
opties gebruikt, zullen ze worden doorgestuurd van VNC-server naar Xvnc, vandaar het
dat je het best deze eerste kunt gebruiken. Dit is voldoende om de VNC-server
te draaien! Op Microsoft-computers ligt het iets anders. Op NT4.0 kun je een
VNC-server draaien als een service. Op Windows 95 of 98 zul je
het moeten starten via een pictogram of menu. Voor de op X gebaseerde servers 
kunnen veel instellingen worden gedefinieerd - je
zult het bijbehorende menu moeten controleren. We zullen niet alle
specificaties van de verschillende VNC-servers voor de vele ondersteunde platforms
bespreken, want dat zou een compleet nieuw artikel vergen.<BR><BR>

<P><STRONG>De client (de viewer)</STRONG></P>
<P>De client is alleen een executable genaamd VNC-viewer. Om verbinding te
maken met een VNC-server hoef je alleen maar VNC-viewer te starten en het 
schermnummer te geven. Als je bijvoorbeeld wilt verbinden met een server genaamd Linux
op schermnummer 2, dan hoef je alleen maar "vncviewer linux:2" in te tikken. Hierop
wordt het serverwachtwoord gevraagd waarna je op het bureaublad van de Linux-computer 
terechtkomt, net of je gewoon op die machine werkt. Als je als root bent ingelogd, krijg je 
volledig beheer over die computer. Je kunt dus maar beter weten wat je doet. 
Dit kan voor elke viewer, voor elk platform. In &eacute;&eacute;n
woord: fantastisch!</P><BR>
<H2>De leuke kant</H2><BR>
<P>Op een lokaal (vanwege de snelheid) netwerk, laat VNC je nogal ongebruikelijke
dingen doen. Alles lijkt mogelijk: je kunt elk type applicatie draaien op elk
besturingssysteem. Als je bijvoorbeeld VNC-server draait op een Windows NT-computer en een
viewer op BeOS, dan kun je gebruik maken van elke software die beschikbaar is
op die NT-machine. Stel, je bent in het bezit van een Photoshop-licentie, dan
kun je Photoshop draaien op je BeOS-machine net zoals je dat zou doen op de NT-computer.
Op je BeOS-bureaublad verschijnt een schermpje met daarin het NT-bureaublad: 
je werkt dus op de NT-machine!<BR></P>
<P><A href="../../common/images/article155/bewin.jpg"><IMG 
align=textTop alt=bewin.jpg 
src="../../common/images/article155/bewinth.jpg"></A><BR>Photoshop in BeOS?</P>
<P><A href="../../common/images/article155/winlin.jpg"><IMG 
align=textTop alt=winlin.jpg 
src="../../common/images/article155/winlinth.jpg"></A><BR>Of Gimp in Windows?</P>
<P>Nogmaals, dit kan worden gedaan vanaf elke machine die VNC-viewer draait.
<BR>Nog een voorbeeld: als je op een computer werkt die geen internetverbinding 
heeft, dan kun je een verbinding maken met een VNC-server die verbonden is met het internet en 
diens browser gebruiken om een URL te bezoeken. Waarschijnlijk kun je ook het mail-programma 
gebruiken om je mailbox te bekijken of om een e-mail te versturen.<BR></P>
<P><A href="../../common/images/article155/linsgi.jpg"><IMG 
align=textTop alt=linsgi.jpg 
src="../../common/images/article155/linsgith.jpg"></A><BR>De VNC-viewer heeft geen
internettoegang, maar toch...</P>
<P>Verder kun je een verbinding maken met een VNC-server en van daaruit
een verbinding maken naar de een of andere computer in het netwerk, en (waarom ook niet)
als je daar een nieuwe VNC-viewer draait, kun je ook deze machine met een VNC-server
verbinden, en ga zo maar door! Als je een VNC-server op een Unix-machine draait, dan
kan elke andere machine die VNC-viewer draait tegelijk verbinding maken met deze server,
gebruikmakend van verschillende schermnummers. Dit werkt niet op Windows-machines, 
omdat je daar natuurlijk maar één scherm tot je beschikking hebt.</P>

<H2>De serieuze kant</H2>

<P>Dat betekent natuurlijk niet dat wat we hiervoor gezegd hebben, niet serieus is!
Iedere systeembeheerder kent de kwaliteiten van een Windows NT-netwerk: je weet
niet eens wie verbonden is met een server of wat hij aan het doen is...
tenzij je de resource kit hebt gekocht, waarmee je in ieder geval een lijst kunt oproepen 
van alle processen die draaien op een specifieke machine (overigens zonder de
mogelijkheid de verbinding te verbreken). Geen commentaar... Met VNC kun je de zaken 
omdraaien. Een voorbeeld: Je onderhoudt en
ontwerpt verschillende Windows-applicaties (Mijn collega Javi zegt: als je arm bent
heb je het niet voor het kiezen!). Voor elke nieuwe versie moet je de server en de clients updaten.
De machines zijn allemaal in mindere of meerdere mate van je eigen kantoor verwijderd. 
Je kunt de applicatie niet updaten als deze op één of meer clients draait. Met VNC kun je de
applicatie op elke client stoppen, de update installeren, controleren...zonder je
kantoor te verlaten. Het is beter om dit te doen als niemand werkt, maar veel
gebruikers vergeten de applicatie te sluiten na gebruik, waarna je zou moeten
controleren of de applicatie nog steeds draait of niet. Zodra VNC is ge&iuml;nstalleerd
als een service op de werkstations, kun je VNC-server op afstand opstarten, een
verbinding maken met de NT-server en doen wat je moet doen. Dat kan zijn het stopzetten 
van de applicatie, het installeren van de upgrade, (zelfs vanaf een andere NT-server dan
degene waarop je aan het werk bent als deze is verbonden met de VNC-server), en
het controleren of de upgrade goed werkt. Daarna kun je de VNC-server op die machine stoppen
en hetzelfde werk verrichten op andere werkstations.

<P>

Dit zou niet mogelijk zijn met X-emulatie op Windows-computers, omdat de installatie
gebonden is aan het besturingssysteem. Een ander verschil: Anders dan onder X11 wordt er geen informatie 
opgeslagen aan de kant van de viewer. Je kunt de verbinding met de VNC-server verbreken,
verbinden met een andere machine, daarna weer verbinding maken met de VNC-server
en uiteindelijk weer verder gaan met je werk!

<P>

Iets belangrijks: VNC heeft de mogelijkheid om met Ctrl-Alt-Del het NT-werkstation dat op afstand 
wordt bediend te ontkoppelen. (Dit was niet mogelijk bij vorige versies). Dit voorbeeld gaat
ervan uit dat we werken vanaf een NT-server. Je kunt precies hetzelfde doen vanaf
een Unix-werkstation dat VNC-viewer draait en verbonden is met een NT-server
die VNC-server draait. Zo kun je op het hele netwerk beheren door (als je de rechten 
hebt om dit te doen) de aanwezige commando's te gebruiken om de VNC-servers
op de bedienbare machines te starten. Verder betekent <EM>'remote'</EM> overal. 
Dat betekent dat je dit ook thuis zou kunnen doen! Waarmee we terecht zijn gekomen 
bij de beveiliging.</P>
<H2>Beveiliging</H2>
<P>Het is helaas een feit dat elke communicatie-opdracht binnen een netwerk  als een 
potentieel beveiligingslek kan worden beschouwd. Het enige wat je kunt doen is proberen 
het risico te verkleinen. Wees niet na&iuml;ef: beveiliging is alleen
maar een woord. Als iemand je vertelt dat zijn netwerk voor 100% beveiligd is, kun je 
hem maar beter niet geloven. Hackers zijn veel slimmer dan mensen denken: ook dat is een feit. 

<P>

Om VNC te beveiligen moet je derhalve het netwerk beveiligen. Firewalls, SSL,
SSH e.d. kunnen worden gebruikt om de beveiliging te verbeteren. Bij SSL en SSH 
heb je de mogelijkheid om het verkeer op twee manieren te versleutelen. 
We gaan SSL of SSH hier niet bespreken, want dat is een heel ander onderwerp. Als je meer
hierover wilt weten kun je de SSH-website bekijken op <A 
href="http://www.ssh.fi/">http://www.ssh.fi/</A> of naar de <EM>open source</EM>-SSL surfen op <A 
href="http://www.openssl.org/">http://www.openssl.org/</A>. 
Extra's, patches en add-ons voor beveiliging zijn beschikbaar vanaf de website van AT&amp;T. 
Hier vind je onder meer een manier om toegang te krijgen tot een server die achter een firewall
zit. Er is ook een versie van VNC beschikbaar die gebruik maakt van SSLeay
<EM>public key</EM>-encryptie. Een andere beveiligingsoptie is het geven van 
restricties op IP-adres. Natuurlijk zijn er nog veel meer mogelijkheden maar 
die zullen we niet allemaal noemen. Zie <A 
href="http://www.uk.research.att.com/vnc/extras.html">http://www.uk.research.att.com/vnc/extras.html</A> 
voor meer informatie.

<P>

VNC heeft ook Java-implementatie. Dat betekent dat je een browser die Java ondersteunt 
kunt gebruiken als viewer, zodra je de juiste poort gebruikt (58**, waarbij ** het schermnummer is: 
5802 luistert naar scherm 2). Het is het noemen waard, maar het is wel ontzettend traag 
en het zit vol met beveiligingslekken. Maar het bestaat en het zou getest moeten worden. 
Tot slot van het beveiligingshoofdstuk moet kort vermeld worden dat 
VNC is beslist niet kwetsbaarder is dan telnet of rlogin.</P>


<H2>Conclusie</H2>
<P>Als je VNC niet kent, is het het testen waard. We hopen dat we met dit artikel 
je interesse hebben gewekt. Waarschijnlijk is het een van de beste 
pakketten in deze categorie. Het is een licht pakket, erg snel (natuurlijk is dit wel
afhankelijk van het netwerk of het type verbinding) en het is gratis! VNC is
betrouwbaar en het enige probleem dat ik had met de laatste versie betrof
de Windows-versie: als een gebruiker op afstand op het NT-werkstation
de CapsLock aan laat staan, werkt het commando Ctrl-Alt-Del niet meer (mijn collega
zei dat ik het wachtwoord in een editor moest zetten, dit kopi&euml;ren en plakken in het
wachtwoordveld - deze tip werkt nog ook!). Dat is het enige minpunt dat ik kon vinden. 
Ik gebruik VNC op Solaris Sparc, Irix, Linux, BeOS, AmigaOS en NT. De minst ontwikkelde
versie is die voor AmigaOS.

<P>

Wat je net hebt gelezen is maar een klein deel
van de vele mogelijkheden die VNC te bieden heeft. VNC verschijnt al met sommige 
Linux-distributies, een teken dat de interesse voor deze software steeds groter wordt. 
Of je nu thuis met een klein netwerk werkt of met een groot netwerk op het bedrijf, probeer 
VNC gewoon eens uit. Je zult zien dat het geweldig is!


<!-- vim: set sw=2 ts=2 et: --></BODY></HTML>