<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <META NAME="GENERATOR" CONTENT="lfparser_2.36">
 <META NAME="LFCATEGORY" CONTENT="SystemAdministration">
 <link rel="icon" href="../../common/images/lf-16.png" type="image/png">
 <TITLE>lf147, SystemAdministration: Servers benaderen achter een machine met Masquerading (via Apache ProxyPass)</TITLE>
<style type="text/css">
<!--
 td.top {font-family: Arial,Geneva,Verdana,Helvetica,sans-serif; font-size:12 }
 pre { font-family:monospace,Courier }
 pre.code { font-family:monospace,Courier;background-color:#aedbe8; }
 p.cl { color:#EE9500 }
 a.nodec { text-decoration:none }
 p.trans { font-size:8pt; text-align:right }
 p.clbox { width:50%; alignment:center; background-color:#FFD700; 
           border-style:none; border-width:medium; border-color:#FFD700; 
           padding:0.5cm;  text-align:center }
 p.code { width:80%; alignment:center; background-color:#aedbe8; 
          border-style:none; border-width:medium; border-color:#aedbe8; 
          padding:0.1cm;  text-align:left }
 p.foot { background-color:#AAAAAA; color:#FFFFFF; border-style:none; 
          border-width:medium; border-color:#AAAAAA; padding:0.5cm ; 
          margin-top:0.1cm; margin-right:1cm; margin-left:1cm; 
          text-align:center }
 .mark  { background-color:#e6e6ff }
-->
</style>
 
</HEAD>
<BODY bgcolor="#ffffff" text="#000000">
 <!-- this is generated html code. NEVER use this file for your
 translation work. Instead get the file with the same article number
 and .meta.shtml in its name. Translate this meta file and then
 use lfparser program to generate the final article -->
 <!-- lfparser can be obtained from http://www.linuxfocus.org/~guido/dev/lfparser.html -->

<!-- this is used by a number of tools:
 =LF=AUTHOR: Atif Ghaffar
 =LF=CAT___: SystemAdministration
 =LF=TITLE_: Servers benaderen achter een machine met Masquerading (via Apache ProxyPass)
 =LF=NUMBER: 147
 =LF=ANAME_: article147.shtml
 -->

<!-- 2pdaIgnoreStart -->

<!-- start navegation bar -->
 <!-- top navegation bar -->
 <TABLE summary="topbar_1" cellspacing="0" cellpadding="0" border="0" align="center" width="90%">
   <TR bgcolor="#2e2292">
     <TD class="top"><TABLE summary="topbar_1_logo" cellspacing="0" cellpadding="0" border="0" width=
       "100%">
         <TR><TD width="319"><IMG src="../../common/images/logolftop_319x45.gif"
           alt="[LinuxFocus-icon]" width="319" height="45" align="left" 
           border="0"></TD>

           <TD class="top">
             <TABLE summary="topbar_1_links" width="100%">
               <TR align="right">
                 <TD class="top"><A class="nodec" href="../index.shtml"><FONT color=
                 "#DDDDDD" size="2">Home</FONT></A> &nbsp;|&nbsp; <A class=
                 "nodec" href="../map.html"><FONT color=
                 "#DDDDDD" size="2">Map</FONT></A> &nbsp;|&nbsp; <A class=
                 "nodec" href="../indice.html"><FONT color=
                 "#DDDDDD" size="2">Index</FONT></A> &nbsp;|&nbsp; <A class="nodec" href="../Search/index.html"><FONT color=
                 "#DDDDDD" size="2">Zoek</FONT></A> </TD>
               </TR>

               <TR align="right">
                 <TD class="top">
                   <HR width="100%" noshade size="1">
                 </TD>
               </TR>
             </TABLE>
           </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end top navegation bar -->
 <!-- blue bar -->
 <TABLE summary="topbar_2" cellspacing="0" cellpadding="0" border="0" align="center"
 width="90%">
   <TR bgcolor="#00ffff">
     <TD><IMG src="../../common/images/transpix.gif" width="1" height=
     "2" alt=""></TD>
   </TR>
 </TABLE>
 <!-- end blue bar -->
 <!-- bottom navegation bar -->
 <TABLE summary="topbar_3" cellspacing="0" cellpadding="0" border="0" align="center"
 width="94%">
   <TR bgcolor="#000000">
     <TD>
       <TABLE summary="topbar_3_links" cellspacing="0" cellpadding="1" border="0" width=
       "100%">
         <TR align="center">
           <TD WIDTH="20%"><A class="nodec" href="../News/index.shtml"><FONT color=
           "#FFFFFF">Nieuws</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Archives/index.html"><FONT color=
           "#FFFFFF">Archieven</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Links/index.html"><FONT color=
           "#FFFFFF">Links</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../aboutus.html"><FONT color=
           "#FFFFFF">Over LF</FONT></A> </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end bottom navegation bar -->
<!-- stop navegation bar -->

<!-- SSI_INFO -->

<!-- tr_staticssi include virtual -->
<!-- tr_staticssi exec cmd -->
<!-- addedByLfdynahead ver 1.4 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Dit document is beschikbaar in: <A href="../../English/March2000/article147.shtml">English</a> &nbsp;<A href="../../Castellano/March2000/article147.html">Castellano</a> &nbsp;<A href="../../Deutsch/March2000/article147.shtml">Deutsch</a> &nbsp;<A href="../../Francais/March2000/article147.shtml">Francais</a> &nbsp;<A href="../../Italiano/March2000/article147.html">Italiano</a> &nbsp;<A href="../../Nederlands/March2000/article147.shtml">Nederlands</a> &nbsp;<A href="../../Turkce/March2000/article147.shtml">Turkce</a> &nbsp;<A href="../../Arabic/March2000/article147.shtml">Arabic</a> &nbsp;</FONT></TD></TR></TABLE><br>
 


<!-- SSI_INFO STOP -->
<!-- 2pdaIgnoreStop -->

<!-- SHORT BIO ABOUT THE AUTHOR -->
<TABLE ALIGN=LEFT BORDER=0  WIDTH="190" summary="about the author">
<TR>
<TD>

<!-- 2pdaIgnoreStart -->
<!-- PALM DOC -->
<TABLE BORDER=0 hspace=4 vspace=4 summary="pda download"> <TR> <TD>
<font size=1> <img src="../../common/images/2doc.gif" width=34 align=left border=0 height=22 alt="convert to palm"><a href="http://cgi.linuxfocus.org/cgi-bin/2ztxt">Convert to GutenPalm</a><br>or <a href="http://cgi.linuxfocus.org/cgi-bin/2pda">to PalmDoc</a></font>
</TD> </TR> </TABLE>
<!-- END PALM DOC -->
<!-- 2pdaIgnoreStop -->
<br>
<IMG SRC="../../common/images/Atif-Ghaffar.jpg" ALT="[Foto van de Auteur]"
 HEIGHT=120 WIDTH=115>
<BR>door  Atif Ghaffar <br> <small>&lt;aghaffar/at/developer.ch&gt;</small>
<BR><BR>
<I>Over de auteur:</I><BR>
<!-- aboutauthor_start -->

 Ik woon en werk in Zwitserland als web- en Unixbeheerder. Mijn interesses
 zijn onder andere Linux, Unix, Perl, Apache en GPL-software. Meer
 informatie over mijzelf is te vinden op mijn
 <a href="http://www.developer.ch/~aghaffar">homepagina</a>
<!-- aboutauthor_stop -->
<!-- TRANSLATED TO nl -->
<BR><BR><I>Vertaald naar het Nederlands door:</I><BR>
Tom Uijldert <small>&lt;Tom.Uijldert/at/cmgplc.com&gt;</small>
<br>
<!--
 =LF=TRANSTO=nl: Tom Uijldert
-->
<!-- TRANSLATED TO STOP -->
<BR><i>Inhoud</i>:
<UL>
  <LI><A HREF="#147lfindex0">Het IP Masquerading probleem</A></LI>
  <LI><A HREF="#147lfindex1">Apache, de reddende engel: ProxyPass</A></LI>
  <LI><A HREF="#147lfindex2">Praktijkvoorbeeld</A></LI>
  <LI><A HREF="#147lfindex3">Virtuele servers afbeelden</A></LI>
  <LI><A HREF="#147lfindex4">Problemen</A></LI>
  <LI><A HREF="#147lfindex5">Verdere referenties</A></LI>
  <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=147">Talkback voor dit artikel</A></LI>
</UL>

</TD></TR></TABLE>
<!-- HEAD OF THE ARTICLE -->
<br>&nbsp;
<table border="0"><tr><td>
<H2>Servers benaderen achter een machine met Masquerading (via Apache ProxyPass)</H2>
 <IMG SRC="../../common/images/illustration129.gif" ALT="[Illustratie]"
 HSPACE=10 HEIGHT=140 WIDTH=400>
<!-- ABSTRACT OF THE ARTICLE -->
<P><i>Kort</i>:
<P>
<!-- articleabstract_start -->

Thuis heb ik een klein Linux netwerk dat gebruik maakt van
<EM>IP Masquerading</EM> (of <EM>Network Address Translation</EM>, NAT) en
een IP firewall (een machine voor de beveiliging van Internet-toegang).
Hoewel alle machines in het netwerk volledige toegang hebben tot het
Internet, is alleen de machine die de IP-Masquerading doet toegankelijk
vanaf het Internet. In mijn laatste
<a href="../January2000/article129.shtml">artikel over Apache</a> heb ik
laten zien hoe je IP-adressen kunt hergebruiken. In dit artikel zal ik
laten zien hoe je een webserver achter een firewall beschikbaar kunt maken
voor toegang vanuit het Internet zonder de firewall te veranderen of de
beveiliging te compromitteren. In dit artikel zullen we laten zien hoe we
het ProxyPass commando hiervoor kunnen gebruiken. Dit artikel is voor
systeembeheerders en eenieder die een klein of middelgroot netwerk aan het
bouwen is voor thuis of op het werk.


<!-- articleabstract_stop -->

<br><!-- HR divider --><center><font color="#8282e0"><b>_________________ _________________ _________________</b></font></center><br>
</td></tr></table>
<!-- BODY OF THE ARTICLE -->


<A NAME="147lfindex0">&nbsp;</A>
<H2>Het IP Masquerading probleem</H2>

 Op mijn netwerk was het lange tijd zo dat de router (de machine die de
 masquerading/firewall werkzaamheden uitvoerde) ook actief was als
 webserver, mail-server, ftp-server, dns-server enzovoorts.
<BR>
 Op een dag had ik de behoefte om een andere machine achter de firewall
 als webserver te laten fungeren.
<BR>
 Ook wilde ik een aantal documenten beschikbaar maken vanaf een SGI IRIX
 doos die achter het netwerk zat (een video server met daarop bewegende
 beelden). Deze machine had volledige toegang tot het Internet maar
 Internet-gebruikers konden niet naar de machine. Hoewel het niet mijn
 bedoeling was om deze IRIX doos op het netwerk beschikbaar te maken, was
 het wel noodzakelijk voor mensen om contact te kunnen leggen met de
 webserver op deze machine.
<P>
 Op het werk had ik een probleem wat er op leek met een gelijkend netwerk
 en een firewall.
<BR>
 Iedere keer als iemand toegang wilde hebben tot een ontwikkel-webserver
 vanuit het Internet voor demonstratiedoeleinden, moesten de regels op de
 firewall worden gewijzigd en de betreffende machine worden uitgerust met
 een bestaand extern IP-adres, waarmee dus de beveiliging werd omzeild.
</P>

<A NAME="147lfindex1">&nbsp;</A>
<H2>Apache, de reddende engel: ProxyPass</H2>

 Na overweging van verscheidene alternatieven heb ik gekozen voor de
 oplossing met Apache en zijn <SAMP>ProxyPass</SAMP> commando.
<BR>
 Voor <SAMP>ProxyPass</SAMP> is het nodig dat <SAMP>mod_proxy</SAMP> mee
 wordt gecompileerd of als module in wordt geladen bij je Apache server.
<BR>
 Hieronder de definitie van <SAMP>ProxyPass</SAMP> uit de Apache
 handleiding.

<p>
<b><font size=+1><A NAME="proxypass">ProxyPass</A></font></b>
<BR>
 <STRONG>Syntax:</STRONG></A> ProxyPass <EM>&lt;path&gt; &lt;url&gt;</EM><BR>
 <STRONG>Default:</STRONG></A> <EM>None</EM><BR>
 <STRONG>Context:</STRONG></A> server config, virtual host<BR>
 <STRONG>Override:</STRONG></A> <EM>Not applicable</EM><BR>
 <STRONG>Status:</STRONG></A> Base<BR>
 <STRONG>Module:</STRONG></A> mod_proxy<BR>
 <STRONG>Compatibility:</STRONG></A> ProxyPass is only available in Apache
 1.1 and later.
</P>

<P>
 Dit commando beeldt adressen van externe servers af op de lokale
 adresruimte; de lokale server treedt niet op als gevolmachtigde
 (<EM>proxy</EM>)  in de gebruikelijke zin maar lijkt op een afspiegeling
 van de externe server. <SAMP>&lt;path&gt;</SAMP> is de naam van het
 lokale, virtuele, pad; <SAMP>&lt;url&gt;</SAMP> is een stuk URL voor de
 externe server.
</P>

<P>
 Laten we even aannemen dat de lokale server het adres
 <SAMP>http://wibble.org/</SAMP> heeft; dan zal

<PRE>
	ProxyPass /mirror/foo/ http://foo.com/
</PRE>

 een lokale referentie naar
 &lt;<SAMP>http://wibble.org/mirror/foo/bar</SAMP>&gt; intern omzetten
 in een proxy referentie naar &lt;<SAMP>http://foo.com/bar</SAMP>&gt;.
</P>

<A NAME="147lfindex2">&nbsp;</A>
<H2>Praktijkvoorbeeld</H2>

 Het afbeelden van de interne video server op de externe webserver.
<BR>
 <STRONG>Interne netwerk</STRONG>: <SAMP>hometranet.home
 192.168.1.0/255.255.255.0</SAMP>
<BR>
 (Voortbordurend op het thema internet, intranet, extranet, heb ik mijn
 netwerk thuis hometranet gedoopt).
<BR>
 <STRONG>Extern netwerk</STRONG>: <SAMP>developer.ch 193.192.254.50</SAMP>

<P>
 De (interne) video server zit op machine <SAMP>cam.hometranet.home</SAMP>
 te bereiken voor videobeelden via
 <SAMP>http://cam.hometranet.home:5555/cams/sony/stream</SAMP> en
 stilstaande beelden via
 <SAMP>http://cam.hometranet.home:5555/cams/sony/image</SAMP>.
<BR>
 Deze beelden wilde ik extern kunnen bekijken via de URL's
 <SAMP>http://mozilla.developer.ch/stream</SAMP> en
 <SAMP>http://mozilla.developer.ch/image</SAMP>.
<BR>
 Dit is eenvoudig te doen met het gebruik van het <EM>ProxyPass</EM>
 commando van Apache door de volgende regels toe te voegen aan het bestand
 <SAMP>httpd.conf</SAMP> of <SAMP>sm.conf</SAMP>
</P>

<P>
<code>
 ProxyPass /video   http://cam.hometranet.home:5555/cams/sony/stream
<BR>
 ProxyPass /video   http://cam.hometranet.home:5555/cams/sony/stream
</code>
</P>

<P>
 Wanneer nu de webserver wordt herstart (als <SAMP>mod_proxy</SAMP> is
 geladen), zal <SAMP>http://mozilla.developer.ch/image</SAMP> een reactie
 opleveren van de cam webserver.
<BR>
 De bezoekende gebruiker ziet het verschil niet en er is bijna<SUP>*</SUP>
 geen verzwakte beveiliging met deze methode.
<BR>
 <EM><SUP>*</SUP> Ik gebruik hier met opzet het woord bijna omdat er niet
 zoiets is als volledige beveiliging op het Internet :)</EM>
</P>

<A NAME="147lfindex3">&nbsp;</A>
<H2>Virtuele servers afbeelden</H2>

 De truc met ProxyPass kan worden gebruikt om een complete virtuele
 machine af te beelden op een heel andere machine. Bijvoorbeeld:
 <SAMP>docs.sun.developer.ch</SAMP>, afgebeeld op
 <SAMP>solsparc.hometranet.home</SAMP>

<pre>
NameVirtualHost 193.192.254.50
&lt;VirtualHost 193.192.254.50&gt;
     ServerName sun.docs.developer.ch
     ProxyPass / http://solsparc.hometranet.home/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
&lt;/VirtualServer&gt;
</pre>

 je kan ook verkeer doorsturen naar machines via hun IP-adres

<pre>
&lt;VirtualHost 193.192.254.50&gt;
     ServerName sun.docs.developer.ch
     ProxyPass / http://192.168.1.7/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
&lt;/VirtualServer&gt;
</pre>

<A NAME="147lfindex4">&nbsp;</A>
<H2>Problemen</H2>

 Omdat je primaire webserver refereert aan interne webservers namens je
 gebruikers, kun je geen behoorlijke logging doen op de daadwerkelijk
 gerefereerde machine. In plaats daarvan zul je alle logging op de
 machine moeten doen die de referentie doet.
<BR>
 In bovenstaand geval log ik op de primaire machine
 <SAMP>sun.docs.developer.ch</SAMP> in plaats van op
 <SAMP>solsparc.hometranet.home</SAMP>.
<br>
 <b>Logging uitvoer op <SAMP>sun.docs.developer.ch</SAMP>
 (voorbeelduitvoer)</b>
<br>

<pre>
197.0.22.3 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 -
187.0.45.67 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 -
177.0.5.45 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 -
227.0.9.67 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 -
137.0.7.23 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841
193.192.245.73 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 -
192.167.0.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 -
</pre>

<b>Logging uitvoer op <SAMP>solsparc.hometranet.home</SAMP></b>

<pre>
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841
192.168.1.1 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:56 +0100] "GET /desserts_ind.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:10:00 +0100] "GET /cocktails.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:10:10 +0100] "GET /cgi-bin/commande.cgi HTTP/1.0" 200 2146
</pre>

 Hetzelfde geldt voor ACL's (<EM>Access Control Lists</EM>) die gebaseerd
 zijn op namen of IP-adressen.
<BR>
 Als je machines/IP-adressen wilt blokkeren of juist toegang verlenen dan
 zul je dit op de primaire server moeten regelen (de externe) in plaats
 van de lokale server.
<BR>
 Verder kun je gebruikers niet blokkeren op directory.
<BR>
 Hiervoor zou je echter &eacute;&eacute;n van de commando's
 <SAMP>Location</SAMP>, <SAMP>Files</SAMP> of <SAMP>FilesMatch</SAMP>
 kunnen gebruiken.
<BR>
 De volgende voorbeelden gaan hierop in:

<pre>
&lt;VirtualHost 193.192.254.50&gt;
     ServerName sun.docs.developer.ch
     #this rule only allows users from good.host.com domain
     &lt;Location /private&gt;
          order deny,allow
          deny from all
          allow from good.host.com
     &lt;/Location&gt;
     #This rule deny's the uncool Microsoft's monopoly helper browser.
     BrowserMatch MSIE uncool_browser
     &lt;Location /coolpages&gt;
         order allow,deny
         allow from all
         deny from env=uncool_browser
     &lt;/Location&gt;
     #This rule only allows users that are in your passwd.httpd file
     &lt;Location /coolpages&gt;
         AuthName "only for registered users"
         AuthType Basic
         AuthUserFile "/etc/httpd/passwd.httpd"
         &lt;Limit GET&gt;
              require valid-user
         &lt;/Limit&gt;
     &lt;/Location&gt;

     ProxyPass / http://192.168.1.7/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
&lt;/VirtualServer&gt;
</pre>

<A NAME="147lfindex5">&nbsp;</A>
<H2>Verdere referenties</H2>

<dl>
  <dt>[Apache mod_proxy documentatie]
    <dd><a href="http://www.apache.org/docs/mod/mod_proxy.html"
         >http://www.apache.org/docs/mod/mod_proxy.html</a>
  <dt>[Apache name-based Virtual Host Support]
    <dd><a href="http://www.apache.org/docs/vhosts/name-based.html"
         >http://www.apache.org/docs/vhosts/name-based.html</a>
  <dt>[Apache Virtual Host documentatie]
    <dd><a href="http://www.apache.org/docs/vhosts/index.html"
         >http://www.apache.org/docs/vhosts/index.html</a>
</dl>




<!-- 2pdaIgnoreStart -->
<A NAME="talkback">&nbsp;</a>
<h2>Talkback voor dit artikel</h2>
Elk artikel heeft zijn eigen talkback pagina. Daar kan je commentaar geven of commentaar van anderen lezen:
<center>
<table border="0"  CELLSPACING="2" CELLPADDING="1" summary="tb-button-outerpart">
 <tr BGCOLOR="#C2C2C2"><td align=center>
  <table border="3"  CELLSPACING="2" CELLPADDING="1" summary="tb-button">
   <tr BGCOLOR="#C2C2C2"><td align=center>
    <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=147"><b>&nbsp;talkback pagina&nbsp;</b></a>
   </td></tr></table>
</td></tr></table>
</center>

<HR size="2" noshade>
<!-- ARTICLE FOOT -->
<CENTER><TABLE WIDTH="98%" summary="footer">
<TR><TD ALIGN=CENTER BGCOLOR="#9999AA" WIDTH="50%">
<A HREF="../../common/lfteam.html">Site onderhouden door het LinuxFocus editors team</A>
<BR><FONT COLOR="#FFFFFF">&copy; Atif Ghaffar, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT>
</TD>
<TD BGCOLOR="#9999AA">
<!-- TRANSLATION INFO -->
<font size=2>Vertaling info:</font>
<TABLE summary="translators">
  <tr><td><font size="2">en --&gt; -- : Atif Ghaffar <small>&lt;aghaffar/at/developer.ch&gt;</small></font></td></tr>
  <tr><td><font size="2">en --&gt; nl: Tom Uijldert &lt;Tom.Uijldert/at/cmgplc.com&gt;</font></td></tr>
</TABLE>
</TD>
</TR></TABLE></CENTER>
<p><font size=1>2004-06-30, generated by lfparser version 2.36</font></p>
<!-- 2pdaIgnoreStop -->
</BODY>
</HTML>