Een VNC-reflector

 Gepubliceerd door om 22:49  Internet
apr 242005
 

Nadat ik gisteren VNC in combinatie met VRVS (Virtual Room Videoconferencing System) aan de praat gekregen had, ben ik vandaag gaan kijken of ik een setup kon maken die dit ook mogelijk moet maken vanaf mijn werkplek bij Fontys. Omdat ik vandaag (gelukkig/uiteraard) niet op mijn werk ben heb ik de setup nog niet kunnen testen, maar ik zal sowieso even uitleggen waarom het delen van je werkblad met VNC achter heel veel firewalls niet zondermeer zal lukken.
De ideale situatie
Hieronder zie je schematisch een vergadering van vier deelnemers via VRVS. In dit voorbeeld bevindt geen van de deelnemers zich achter een firewall of ADSL/Kabel-modem. Ze hebben allemaal een eigen IP-nummer en kunnen vrij verbinding maken met de VRVS-server.
Ideale situatie, maar ik weet niet of die echt vaak voor komt.

vnc-reflector-1 - Klik voor grotere versie

De thuissituatie
Voor thuisgebruikers zal het meestal zo zijn dat ze achter een ADSL/Kabel-modem zitten dat gebruik maakt van NAT en een ingebouwde firewall heeft.

vnc-reflector-2 - Klik voor grotere versie

Gelukkig heeft VRVS daar aan gedacht en standaard wordt dan een VRVS-proxy gestart die er voor zorgt dat audio en video door firewall naar buiten bij de VRVS-server terecht komen. Hoe deze proxy werkt weet ik overigens niet, heb ik ook niet nader bekeken, het werkte namelijk meteen.

De thuissituatie met video en VNC
Iets complexer wordt het als je thuis ook je werkblad wilt delen, bijvoorbeeld om de andere deelnemers aan de vergadering mee te laten kijken als je de notulen maakt, of bepaalde vergaderstukken aan het bespreken bent.

vnc-reflector-3 - Klik voor grotere versie

Zoals ik gisteren beschreef, vergt dat het open zetten van minimaal één poort in de firewall van XP als je over Service Pack 2 beschikt én je moet port-forwarding voor de door VNC gebruikte poort in je ADSL-modem aanzetten.

Het is namelijk zo dat de VRVS-server als VNC-client van buiten je eigen netwerk een verbinding door de firewall naar de VNC-server moet kunnen opbouwen. En dat kan niet zomaar, daar moet je dus wat voor doen. Op zich ook nog geen écht probleem aangezien je dat in je modem-instellingen zelf kunt aanpassen.

De werksituatie met video / VNC (en pech)
Vervelender wordt het als je op je werk zit achter een firewall waarbij geen port-forwarding voor VNC aanstaat of waarbij inkomend verkeer naar je computer op deze manier niet mogelijk is:

vnc-reflector-4 - Klik voor grotere versie

De VRVS-server zal geen verbinding met de VNC-server op je werkplek (je laptop) kunnen maken.

Nu heeft VNC voor dit soort gevallen inmiddels een oplossing. Meestal (zover ik weet ook op mijn werkplek) is VNC-verkeer naar buiten toe door de firewall wél mogelijk. Als de VRVS-server (de VNC-client in dit geval) niet zelf de verbinding zou willen opzetten, maar netjes zou gaan wachten totdat je met de VNC-server contact zou opnemen met die VRVS-server (dat heet in VNC-termen een ‘listening client’), dan had het alsnog gewerkt. Maar helaas ondersteund de VRVS-server die functionaliteit van VNC (nog) niet.

De oplossing is (al moet ik dat morgen nog in de praktijk testen!) om beiden (VRVS-server en VNC-server) hun zin te geven met behulp van een zogeheten VNC-reflector.

De werksituatie met video / VNC (met reflector)
Een VNC-relector is een klein stukje software dat zich aan de ene kant als ‘listening client’ gedraagt zodat een VNC-server er verbinding mee kan maken, en zich aan de andere kant als ‘VNC-server’ gedraagt zodat een VNC-client er verbinding mee kan maken. Zodra die twee contact hebben wordt het signaal doorgelust:

vnc-reflector-5 - Klik voor grotere versie

In het plaatje staat de VNC-reflector op een servertje bij mij thuis achter mijn ADSL-modem. Vanaf mijn werkplek laat ik de VNC-server op mijn laptop verbinding maken met de VNC-reflector (in zijn rol als ‘listening client’).
In VRVS geef ik aan dat ik mijn desktop wil delen, maar dat de VRVS-server niet moet proberen verbinding te maken met een VNC-server op het IP-nummer vanwaar ik op dat moment verbinding heb met VRVS, maar op het nummer dat ik invul in het veld ‘proxy’. De VRVS-server maakt dan (eveneens) verbinding met de VNC-reflector (die dan als ‘VNC-server’ reageert) en krijgt het beeld doorgegeven dat mijn VNC-server aan de VNC-reflector doorgeeft.
Het beeld dat de andere deelnemers te zien krijgen loopt dus van mijn desktop via mijn VNC-server naar de VNC-reflector, naar de VRVS-server naar hun beeldscherm.

Zoals je in het plaatje wellicht kunt zien, vergt dit 2 verschillende poorten die in het ADSL-modem geforward worden naar de reflector: eentje voor de VNC-server die verbinding maakt van buiten en eentje voor de VRVS-server die verbinding maakt van buiten.

Disclaimer
Hoewel ik weet dat ik vanuit mijn werkplek bij Fontys met een VNC-client verbindingen kan opzetten met mijn VNC-server thuis, heb ik de configuratie hierboven nog niet live kunnen testen. Ik moet dus een kleine slag om de arm houden tot morgenvroeg.
Als het daadwerkelijk blijkt te werken zal ik ook wat dieper op de setup van de reflector ingaan.

Deel dit bericht:

  2 reacties aan “Een VNC-reflector”

Reacties (2)
  1. Deze week (en de volgende!) zal er niet veel van komen, maar bij gelegenheid wil ik best wel weer als "sparring-partner" fungeren!

  2. Thanx Michel

Sorry, het reactieformulier is momenteel gesloten.