Thuisnetwerken, een overzicht
ArticleCategory:
System Administration
AuthorImage:
![[Foto van de Auteur]](../../common/images/Guido-S.gif) 
TranslationInfo:
original in en Guido Socher 
en to nl Tom Uijldert
AboutTheAuthor:
Guido is al lang een Linux-fan. Al zijn computers zijn thuis geïntegreerd in een netwerk.
Abstract:
Netwerken worden steeds populairder. Je oude 486 kan nog prima dienst doen als een 
bestandsserver of IP-imitator om zo het hele gezin toegang te geven tot Internet vanaf 
verschillende computers. Dit artikel geeft alle benodigdheden voor het starten van je eigen 
thuisnetwerk. Het behandelt de gangbare begrippen die nodig zijn voor het begrijpen van de 
boeken hierover. We richten ons met name op het kleine netwerk thuis.
ArticleIllustration:
![[Illustratie]](../../common/images/illustration134.gif) 
ArticleBody:
10Base2
Dit is Ethernet met een snelheid van 10 Megabit per seconde over een coaxiale kabel. De 
uiteinden moeten worden afgesloten met een 50 Ohm weerstand. De maximale lengte is daarbij 
185 meter. De minimale afstand tussen twee kaarten moet een halve meter bedragen. De 
netwerkkaarten worden middels een T-plug verbonden met het netwerk. Hierdoor is er geen Hub 
nodig en kunnen de kaarten direct aan de kabel aangesloten worden. Dit is waarschijnlijk het 
goedkoopste alternatief voor een netwerk thuis. Het wordt ook wel cheapernet 
genoemd. Het is daarbij belangrijk dat de kabel direct van kaart naar kaart loopt (bustopologie) en 
dat er geen kabel loopt tussen de T-plug en de kaart.
 
10BaseT
Ethernet op 10 Mbit/s met tweelingsnoer (twisted pair). Iedere kaart is verbonden 
aan een centraal punt via het snoer. Dit punt heet een hub. Een dergelijk netwerk 
geeft een stertopologie. Het snoer tussen kaart en hub mag niet langer zijn dan 100 meter. Wil je 
slechts twee kaarten aansluiten dan kan dat ook zonder hub met het kruislings aansluiten van het 
snoer.
 
100BaseT en 100BaseT4
Deze typen netwerken gebruiken ook tweelingsnoer (net als 10BaseT) maar hebben een 
snelheid van 100 Mbit/s. Voor de meeste netwerken thuis is 10 echter meer dan voldoende. 
100BaseT gebruikt de paren 2 en 3 van het snoer. 100BaseT4 gebruikt alle vier de paren.
RJ-45 connector
Dit is de plug die wordt gebruikt voor de 10BaseT, 100BaseT en 100BaseT4 netwerken. Het is 
een kleine plastic plug met 8 contacten.
  -  10BaseT gebruikt de paren 2 en 3.
  
-  100BaseT gebruikt de paren 2 en 3.
  
-  100BaseT4 gebruikt de paren 1, 2, 3 en 4.
 
    
        | Pin | Naam | Beschrijving 10baseT | 
    
        | 1 | TX+ | Tranceive Data+ | 
    
        | 2 | TX- | Tranceive Data- | 
    
        | 3 | RX+ | Receive Data+ | 
    
        | 4 | n/c | 100BaseT4 only | 
    
        | 5 | n/c | 100BaseT4 only | 
    
        | 6 | RX- | Receive Data- | 
    
        | 7 | n/c | 100BaseT4 only | 
    
        | 8 | n/c | 100BaseT4 only | 
    
        |  | NB: | TX & RX worden verwisseld op Hub's.
 | 
NB: Je hebt speciaal gereedschap nodig voor het aansluiten van RJ-45 pluggen aan een snoer.
Kabels
De volgende soorten kabels worden gebruikt:
  -  50 Ohm coaxiale kabel. In gebruik bij 10BaseT netwerken, maximaal 10Mbit/s.
  
-  Tweelingsnoer (Twisted Pair)
  
    -  UTP (Unshielded Twisted Pair) kabel, het goedkoopste soort tweelingsnoer, 
dun en flexibel want er zit geen afscherming omheen. Kans op interferentie is hoog. Interferentie 
kan twee richtingen op werken. Met het snoer zou je de radio-ontvangst kunnen verstoren en in 
geval van langere snoeren kan deze ook sterke elektromagnetische signalen opvangen zoals een 
elektrische kachel die aan- of afslaat. Dit type kabel is echter meer dan goed genoeg voor thuisgebruik, 
de afstanden bedragen meestal niet meer dan een paar meter.
    
-  STP (Shielded Twisted Pair) kabel met afscherming over het gehele snoer. 
Dit is een zeer gangbare kabel. Hij is nog steeds enigszins flexibel en redelijk te betalen. De kans 
op interferentie wordt aanzienlijk verkleind.
    
-  STP (Shielded Twisted Pair) kabel met aparte afscherming per snoerenpaar. 
Duur en niet aan te bevelen voor thuisnetwerken.
  
 
De diverse kabels zijn in standaard categorieën onderverdeeld, aan de hand van hun 
demping:
  -  Cat 3 kabel: maximaal 16 MHz bandbreedte, in gebruik bij 10BaseT.
  
-  Cat 5 kabel: maximaal 100 MHz bandbreedte, in gebruik bij 10BaseT, 100BaseT en 
100BaseT4.
Iedere draad van een tweelingsnoer heeft een vaste aansluiting op een aansluitpin van de RJ-45 
plug.
Er bestaan meerdere standaarden die alleen in de draadkleur iets verschillen. De volgende 
toewijzingen aan pinnen gelden:
    
        | Snoer paar nummer | Plug pinnen | standaard 1 | standaard 2 | standard 3 | standaard 4 | 
    
        | 1 | 4/5 | blauw/wit | wit/blauw | wit/blauw | wit/bruin | 
    
        | 2 | 3/6 | wit/groen | rood/oranje | cyaan/paars | groen/geel | 
    
        | 3 | 1/2 | wit/oranje | zwart/groen | wit/oranje | grijs/rose | 
    
        | 4 | 7/8 | wit/bruin | geel/bruin | cyaan/paars | blauw/rood | 
  
Bekabeling is eigenlijk alleen van belang als je 20 meter of meer wil aanleggen door je huis. 
Indien je slechts een aantal computers in dezelfde kamer aan elkaar wilt aansluiten dan kun je 
hiervoor goedkope, kant en klare kabels kopen, inclusief connectoren. Deze zijn meestal 
verkrijgbaar in standaard lengten tussen de 1 en 10 meter.
Kruiskabel
Dit is een speciale kabel om slechts 2 netwerkkaarten te verbinden via een tweelingsnoer. Je 
hebt alleen een hub nodig als je er meer dan 2 aan wilt sluiten. De kruising 
verwisselt de draden Rx en Tx. De twee connectoren zijn verder als volgt aangesloten:
    
        | Pin Nr | Pin Nr | 
    
        | 1 sluit aan | op 3 | 
    
        | 2 sluit aan | op 6 | 
    
        | 3 sluit aan | op 1 | 
    
        | 4 sluit aan | op 5 (100baseT4) | 
    
        | 5 sluit aan | op 4 (100baseT4) | 
    
        | 6 sluit aan | op 2 | 
    
        | 7 sluit aan | op 8 (100baseT4) | 
    
        | 8 sluit aan | op 7 (100baseT4) | 
    
        | 9 sluit aan | op 9 (100baseT4) | 
  
Ook dit soort kruiskabels zijn kant en klaar te verkrijgen.
Hub
Een hub heb je nodig voor een netwerk met tweelingsnoer en meer als twee 
computers. De hub versterkt het signaal van een computer en geeft dit door aan alle andere 
aansluitingen. Voor thuisnetwerken kun je volstaan met een 5- of 8-poorts "work group 
hub". Ethernet switches kunnen in plaats daarvan ook worden gebruikt maar deze zijn 
véél duurder en hebben alleen zin als je veel verkeer over het netwerk verwacht 
met veel aangesloten computers.
LAN
LAN is de afkorting van Local Area Network en slaat meestal op een 
broadcast netwerk. In een dergelijk netwerk kan iedere computer iedere andere 
computer bereiken zonder dat er een router nodig is. Aldus vormen alle computers 
die zijn aangesloten op dezelfde coaxkabel of op dezelfde hub een LAN.
Netwerkkaarten
Mijn ervaring leert dat de goedkoopste kaarten de beste zijn. De duurdere exemplaren leveren 
meestal geen extra's. ISA PNP kaarten kunnen problemen geven. De meeste ISA PNP kaarten 
worden geleverd met een DOS floppy en software waarmee je de flash ROM 
instellingen van dergelijke kaarten kan wijzigen zodat ze geen PNP gebruiken. Je kunt hiermee 
een vaste interrupt en IO-adres instellen (Pas op: als je een PNP bios hebt moet je deze ook nog 
duidelijk maken dat hij geen PNP moet gebruiken voor deze interrupt). Het standaard IO-adres is 
meestal io=0x300. Je kunt zien welke adressen en interrupts al in gebruik zijn 
door in te tikken:
$ cat /proc/interrupts /proc/ioports | more
(Pas op: dit zijn interrupts en adressen die écht worden gebruikt door een 
aansturingsprogramma op dat moment).
Als je een dergelijke ISA PNP kaart hebt gekocht dan zul je niet veel aan een DOS floppy hebben 
als je alleen Linux gebruikt. Wellicht heb je zelf (of een vriend van je) nog een oude DOS-flop 
vanaf dewelke je kunt opstarten. Kopieer het programma wat met de kaart werd meegeleverd naar deze 
diskette en start hiermee op om dan de instellingen van de kaart te veranderen. De 
instellingen worden opgeslagen in flash ROM dus je hoeft het maar één keer in te 
stellen en daarna nooit weer.
De goedkoopste zijn meestal NE2000 kaarten en kosten rond de $15 (of 15 Euro). Ze worden 
goed ondersteund door Linux. NE2000 kaarten zijn verkrijgbaar voor de ISA- alsook de PCI-bus. 
Een ISA kaart heeft de kernel modulen ne en 8390 nodig. Je 
kunt het aansturingsprogramma er zelf naar laten zoeken of het IO-adres en de interrupt opgeven 
via de commandoregel. Het laden van de kernel-modulen zonder auto-probing kan 
als volgt:
$ insmod 8390
$ insmod ne irq=10 io=0x300
Met PCI-kaarten heb je meestal geen gedoe met interrupts en IO-adressen maar ze zijn iets 
duurder. De kernel modulen voor NE2000 PCI kaarten heten ne2k-pci en 
8390.
Netwerk koppeling
De netwerk koppeling (interface) wordt fysiek vertegenwoordigd door je netwerkkaart 
maar de term slaat ook op het stuk software wat erachter zit en aanspreekbaar is via het in te 
stellen IP adres. Indien je een modem en een netwerkkaart hebt dan heb je al twee IP adressen 
en dus twee netwerk koppelingen voor die ene computer. Een IP adres wordt altijd aan een 
netwerk koppeling toegekend, nooit aan een computer (host). Je kunt een unieke 
naam voor de computer afleiden van het IP adres maar meestal is er een 1 op n relatie tussen de 
naam van je computer en het IP adres. Het commando ifconfig wordt gebruikt om 
de instellingen van de diverse actieve netwerk koppelingen te laten zien. Je kunt dit commando 
tevens gebruiken voor het configureren van de koppelingen. Hier is een voorbeelduitdraai:
> /sbin/ifconfig -a
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:1664 errors:0 dropped:0 overruns:0
          TX packets:1664 errors:0 dropped:0 overruns:0
eth0      Link encap:10Mbps Ethernet  HWaddr 00:80:AD:71:52:19
          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5993 errors:0 dropped:0 overruns:0
          TX packets:4073 errors:0 dropped:0 overruns:0
          Interrupt:5 Base address:0x300 
dummy0    Link encap:10Mbps Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0
          TX packets:0 errors:0 dropped:0 overruns:0
ppp0      Link encap:Point-Point Protocol  
          inet addr:199.94.253.30  P-t-P:199.94.253.4  Mask:255.255.255.0
          UP POINTOPOINT RUNNING  MTU:552  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0
          TX packets:8 errors:0 dropped:0 overruns:0
Zoals te zien zijn er vier netwerk-koppelingen in het bovenstaand voorbeeld.
Routeren
Je Linux kernel heeft een interne IP router. De routeringstabel vertelt hem wat hij 
moet doen met een binnenkomend IP-pakketje. Afhankelijk van het adres in dat pakketje kun je 
via de routeringstabel beslissen waar het pakketje heen moet worden gezonden. Onder Linux 
kun je /sbin/route of netstat -r intikken om de routeringstabel te 
zien maar het standaard Unix commando is netstat -r. Een beschrijving over hoe 
je deze tabel opzet gaat voor dit artikel te ver maar hier zal nog een apart artikel over 
verschijnen. De Linux Network Administrator's Guide is een goede online 
raadgever voor het opzetten van routering.
PLIP
Parallel port IP geeft de mogelijkheid om de parallelle poort als netwerk koppeling te 
gebruiken. De instelbare kernel parameter hiervoor heet CONFIG_PLIP en deze 
moet bij voorkeur als module zijn ingesteld. PLIP is een goedkope mogelijkheid om je laptop aan 
een andere computer te hangen en, via deze verbinding, aan het thuisnetwerk. Je moet hiervoor 
een kabel voor parallelle poorten aanschaffen met 2 mannelijke pluggen, ook wel bekend als 
LapLink kabel. Voor als je hem zelf wilt maken volgen hier de aansluitingen:
| 
    
        | Pin Nr | Pin Nr |   | 17 | naar 17 |   | 25 | naar 25 |   | 2 | naar 15 |   | 3 | naar 13 |   | 4 | naar 12 |   | 5 | naar 10 |  | 
    
        | Pin Nr | Pin Nr |   | 6 | naar 11 |   | 15 | naar 2 |   | 13 | naar 3 |   | 12 | naar 4 |   | 10 | naar 5 |   | 11 | naar 6 |  | 
PLIP is niet zo snel als Ethernet maar de snelheid is voldoende voor normale netwerkapplicaties 
zoals NFS.
IP adressen
Je moet bepalen welke adressen je gaat gebruiken in je netwerk. Normaal gesproken krijg je een 
adres toegewezen van de Internet provider wanneer je "online" gaat. Dit adres krijg je 
min of meer automatisch toegewezen via je PPP koppeling. Daar hoef je je normaal gesproken 
geen zorgen over te maken. Je moet nu wel beslissen welke adressen je toe zult gaan kennen 
aan je andere netwerkkoppelingen (zoals eth0 en plip1). 
Een aantal adressen zijn gereserveerd voor privé-gebruik. Deze adressen worden in het 
Internet niet gerouteerd en geven geen problemen als je ze hergebruikt. Dit zijn de volgende 
series:
    
        | Netmasker | Netwerk Adressen | 
     
        | 255.0.0.0 | 10.0.0.0    - 10.255.255.255 | 
     
        | 255.255.0.0 | 172.16.0.0  - 172.31.255.255 | 
     
        | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 | 
Welk adres te gebruiken? Nou, dat doet er niet zo toe maar het is aan te bevelen om 
opeenvolgende nummers te gebruiken. Je hebt bijvoorbeeld 2 computers op je netwerk 
aangesloten en hebt nu dus 2 adressen nodig voor de beide netwerkkaarten (deze ken je toe aan 
de software-representatie van de kaarten. Die software noemen we de koppeling). Gebruik 
gewoon 192.168.0.1 en 192.168.0.2 (Let op: begin niet te nummeren bij 0 want deze 
representeert het gehele netwerk en is dus geen echt adres).
Bestanden
Diverse pakketten worden tegenwoordig met mooie grafische interfaces geleverd voor het 
instellen van je netwerk (zoals yast of netcfg). Deze kun je 
naar hartelust gebruiken. Zie de gebruikerhandleiding van jouw Linux distributie voor het gebruik 
van dergelijke programma's. Dit artikel zal niet ingaan op een specifiek pakket. Het zal ingaan op 
de onderliggende bestanden die op magische wijze veranderd worden door het gebruik van 
dergelijke pakketten. Hiermee kun je ook nagaan wat een dergelijk pakket heeft gedaan na 
gebruik.
/etc/hosts en /etc/host.conf
Voor een klein netwerk heeft het geen zin om een complete DNS (Dynamic Name Server) te 
hebben draaien. In plaats daarvan kan worden volstaan met het invullen van de namen van de 
machines in het bestand genaamd /etc/hosts. Voorbeeld:
# ipaddr. fullname alias
127.0.0.1 localhost
192.168.0.1 obelix.mynet obelix
192.168.0.2 asterix.mynet asterix
192.168.0.3 idefix.mynet idefix
Bij het bestand /etc/hosts hoort ook het bestand 
/etc/host.conf die vertelt hoe de namen moeten worden gekoppeld aan 
adressen. Het volgende moet in dit bestand staan:
# /etc/host.conf
order hosts bind
# Allow multiple addrs
multi on
/etc/resolv.conf
Het bestand /etc/resolv.conf geeft aan waar namen en adressen te vinden zijn 
die niet in /etc/hosts staan. Hiervoor moet je het adres hebben van de DNS 
server die je Internet provider heeft draaien. Je moet meerdere DNS servers opgeven als dit 
enigszins mogelijk is. Indien de eerste server niet beschikbaar is of te traag is, kan de tweede worden 
aangesproken. De schrijfwijze is als volgt:
#/etc/resolv.conf
#nameserver ipaddr.
nameserver 123.456.789.1
# alternative DNS server:
nameserver 123.456.111.9
de hostnaam instellen
/etc/HOSTNAME (of /etc/sysconfig/network voor RedHat) is 
het bestand waar de meeste distributies die naam instellen. In het echt wordt echter de hostnaam 
van een machine ingesteld door het commando hostname. Wat er gebeurt is dat 
tijdens opstarten (oftewel tijdens uitvoeren van /etc/rc.d/rc.sysinit) de inhoud 
van het bestand /etc/HOSTNAME wordt gelezen en als argument aan dit 
commando wordt meegegeven. Welk bestand wordt gebruikt hangt af van de eigenaardigheden 
van je distributie. Dit moet nu echter niet moeilijk te vinden zijn, je hoeft slechts een 
grep los te laten op hostname. Voorbeeld:
$ hostname obelix.mynet
tcp wrapper
/etc/hosts.allow is een configuratiebestand voor een beveiligingssysteem 
genaamd tcp wrapper. Het enige dat je hoeft te weten is dat je alle adressen van de 
machines in je netwerk hier in moet zetten met uitzondering van de locale machine, achter het 
keyword ALL:.
Voorbeeld: obelix heeft twee netwerkkoppelingen naar andere machines in het 
netwerk. De koppeling met adres 192.168.0.2 gaat naar asterix en de 
koppeling met adres 192.168.0.3 gaat naar idefix. In dat geval vul je in:
# hosts.allow 
# See tcpd(8) and hosts_access(5) for a description
ALL: 192.168.0.2   192.168.0.3
Als je een NFS server hebt draaien op obelix dan moet je bovendien invullen:
portmap: 192.168.0.2   192.168.0.3
Network File System (NFS) geeft je de mogelijkheid om bestanden te benaderen op andere 
machines alsof ze op je eigen machine staan.
/etc/hosts.deny is ook voor tcp wrapper en moet je niet 
veranderen en dient er als volgt uit te zien:
portmap: ALL
ALL: ALL
/etc/hosts.equiv
/etc/hosts.equiv geeft gebruikers de mogelijkheid om op andere machines in te 
loggen (met bijvoorbeeld rsh) zonder wachtwoord. Je moet zelf beslissen of je dit 
wilt. De schrijfwijze is één bekende hostnaam per regel (als in 
/etc/hosts). Bijvoorbeeld:
asterix.mynet
idefix.mynet
/etc/hosts.lpd
Het bestand /etc/hosts.lpd is van belang als je wilt afdrukken via het netwerk 
met lpd. Het instellen van printen via het netwerk is een ander verhaal maar dit 
bestand moet aanwezig zijn op de machine van waar je lp-daemon draait en het 
moet alle namen bevatten van de machines die mogen afdrukken. De schrijfwijze is dezelfde als 
bij hosts.equiv. Het instellen van de netwerkprinter zelf kun je het beste doen 
met de hulpmiddelen die bij je distributie worden geleverd (bijvoorbeeld yast in 
Suse en printtool in RedHat). De Printing HOWTO van het Linux 
Documentation Project beschrijft hoe je dit kunt instellen zonder gebruik te maken van deze 
hulpmiddelen.
sendmail
Het bestand /etc/service.switch wordt gebruikt door sendmail. 
Op de machines in je netwerk (diegene die geen directe verbinding hebben met het Internet) 
schrijf je:
hosts   files
aliases files
Je stelt daarbij sendmail zo in dat alle post wordt doorgestuurd naar de machine met 
het modem. Die wordt dan gebruikt als mailhost (postbode).
sendmail leest bij het opstarten een configuratiebestand genaamd 
/etc/sendmail.cf in dat vrij onduidelijk is. Daarom wordt de macrotaal 
m4 gebruikt om sendmail.cf bestanden te genereren vanuit een 
(leesbaar) macrobestand. Hiervoor heb je de m4 macro processor nodig (is waarschijnlijk al 
geïnstalleerd op je systeem) en een deel van de sendmail sources. RedHat 
Linux zal deze al installeren in /usr/lib/sendmail-cf, andere distro's doen dit niet 
maar je kunt de sources altijd nog zelf uitpakken. Documentatie over hoe 
sendmail te configureren is te verkrijgen bij 
www.sendmail.org.
Een centrale mail machine noemt men een mail-hub. Het idee daarbij is dat alle mail 
naar deze hub wordt gestuurd en daar opgeslagen. Deze mail is vervolgens te benaderen via 
NFS of POP/IMAP. Een m4 bestand om net dit te doen gaat als volgt:
#divert(-1)
include(`../m4/cf.m4')
VERSIONID(`mc file for asterix, A HOST INSIDE THE PRIVATE NETWORK')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
OSTYPE(`linux')
# put here your outside mail domain. E.g if your user id is
# joe and your mail address joe@linuxnet.somewhere.org then you write:
MASQUERADE_AS(linuxnet.somewhere.org)
# Do not show these internal hostnames to the outside world:
MASQUERADE_DOMAIN(asterix.mynet)
MASQUERADE_DOMAIN(asterix)
MASQUERADE_DOMAIN(localdomain)
MASQUERADE_DOMAIN(localhost)
FEATURE(masquerade_envelope)
#the /etc/passwd entry: mail:*:8:12:mail:/var/spool/mail:
define(`confDEF_USER_ID',``8:12'')
# the centail mail hub is obelix, Note dot at the end
define(`MAIL_HUB', `obelix.mynet.')dnl
define(`confHOSTS_FILE',/etc/hosts)dnl
MAILER(smtp)dnl
MAILER(local)dnl
Om het bijbehorende sendmail.cf bestand te genereren uit bovenstaande 
sendmail.mc ga je naar de cf directory van de sources 
(RedHat: /usr/lib/sendmail-cf/cf) en zet daar sendmail.mc 
neer. Daarna geef je het commando:
$ m4 sendmail.mc >/etc/sendmail.cf
Let op: om alleen het netwerk gewoon draaiende krijgen heb je geen sendmail nodig en je kunt 
nog steeds mailen met Netscape zonder je over deze configuratie druk te maken. 
sendmail is meer iets voor de gevorderde gebruiker.
Wat moeilijker is de configuratie van je mailhost. Die moet lokale mail afleveren en externe mail 
doorsturen. Externe mail kan worden doorgestuurd via bijvoorbeeld smtp (Simple 
Mail Transfer Protocol). In dat geval moet je de sendmail documentatie 
(www.sendmail.org) lezen 
over "define ('SMART_HOST',smtp:provider.mail.host)dnl". Voor uitgaande mail op je 
computer heb je nog het bestand /etc/service.switch nodig dat zoeken via DNS 
mogelijk maakt.
hosts   files dns
aliases files 
Je kunt ook nog UUCP en andere methoden gebruiken. Dat hangt een beetje af van wat je 
provider levert.
UUCP staat voor Unix to Unix CoPy en is een oud berichtensysteem dat echter zeer 
geschikt is voor het ophalen van mail bij je provider. Nogmaals, je provider moet het wel aanbieden. 
De meer Windows georiënteerde bedrijven zullen misschien niet eens 
weten wat UUCP is. Wat kan UUCP voor je doen?
Voorbeeld: het domein van je provider is ergens.org en je host wordt opgebeld 
van buiten linuxnet (buiten slaat op de ppp-koppeling, intern in onze voorbeelden hebben we het 
tot nu toe obelix genoemd). Je provider geeft je alle mail die is gericht aan 
<iemand>@linuxnet.ergens.org. Je kunt nu sendmail 
gebruiken voor het distribueren hiervan. Iedere lokale gebruiker heeft zijn/haar eigen postadres 
die jij op kan zetten. Dat is een kwestie van het toevoegen van een Unix 
gebruiker. Helaas leveren de meeste providers alleen nog een POP mail adres en is dit alles niet 
van toepassing. Gebruik in die gevallen Netscape of fetchmail.
IP-Masquerading (NAT)
IP-Masquerading is een Linux-term, de meeste noemen het Network Address 
Translation (NAT). Dit is heel handig voor een klein thuisnetwerk. Het geeft je de 
mogelijkheid om het Internet te benaderen via iedere machine in het netwerk, hoewel er slechts 
één PC echt op het net is aangesloten. Die is dan via het modem/PPP aangesloten 
en heeft een geldig, door het gehele Internet gerouteerd IP adres dat hem dynamisch of statisch 
is toegewezen via de ppp0 koppeling. Met behulp van IP-Masquerading kunnen meerdere 
mensen tegelijkertijd bij jou thuis het Internet op. _LF_ zal nog een apart artikel wijden aan hoe 
je dit instelt. Aanbevolen is ook het lezen van de howto over IP-Masquerading. 
We zullen hier alleen het principe uitleggen.
Om te begrijpen hoe het werkt moet je weten hoe een IP verbinding tot stand komt. Als je via je 
bladerprogramma verbinding maakt met een machine op het Internet dan maak je eigenlijk 
verbinding met een programma op die machine via een IP adres. Dat 
programma (hier dus de web server) wordt gekozen via het zogeheten 
poortnummer. Deze poortnummers zijn van tevoren vastgesteld. Poort 80 is het poortnummer 
van de webserver. Als je nu dus www.linuxfocus.org intikt in Netscape, 
dan weet dit bladerprogramma dat hij verbinding moet maken met IP adres 
192.53.25.18 (=www.linuxfocus.org) op poort 80.
Voor een volledige IP verbinding waarbij je kunt zenden en ontvangen heb je paren van IP 
adressen en poortnummers nodig. Dus 195.53.25.18 en 80 plus je eigen IP adres en jouw lokale poort 
waarop de web server antwoord kan geven. Het lokale nummer van de poort is meestal 
willekeurig. Bijvoorbeeld:
www at www.linuxfocus.org:    your.machine.at.your.isp:
IP=195.53.25.18 Port=80 ----- IP=123.123.456.1 Port=4123
Wanneer je een tweede venster in Netscape opent en nog een connectie maakt met 
www.linuxfocus.org dan wordt er weer een nieuw lokaal poortnummer 
gekozen:
www at www.linuxfocus.org:    your.machine.at.your.isp:
IP=195.53.25.18 Port=80 ----- IP=123.123.456.1 Port=4123
IP=195.53.25.18 Port=80 ----- IP=123.123.456.1 Port=4541
Let op: twee keer poort 80 kan niet maar dat laten we voor de eenvoud even zo.
Wanneer nu een TCP pakket terugkomt van de web server dan weet het naar welk window het 
moet gaan door het verschil in poortnummers op jouw machine. In het geval van je thuisnetwerk 
achter je machine your.machine.at.your.isp is de situatie nu als volgt:
www at www.linuxfocus.org --- your.machine.at.your.isp --- privatehost1.mynet
                                                        |
                                                        +- privatehost2.mynet 
Geen van de IP adressen of koppelingen van privatehost1.mynet zijn bekend 
in het Internet. Daarom kan er vanuit het Internet geen pakket worden gestuurd naar 
privatehost1.mynet. Geen enkele router zou weten waar dit naar toe zou 
moeten. your.machine.at.your.isp echter, heeft wel een IP adres dat bekend is 
op het Internet en zoals we hierboven hebben kunnen zien, kunnen er naar dit adres meerdere verbindingen 
worden gelegd via verschillende poortnummers.
privatehost1.mynet kan een verbinding aanvragen met 
www.linuxfocus.org en poort 80. Het zou een poortnummer uitkiezen (3211 
bijvoorbeeld) en een pakketje sturen in de richting van 
your.machine.at.your.isp. Normaal gesproken zou jou machine dit pakketje 
(zonder IP-masquerade) gewoon doorsturen naar het Internet, alwaar het zou verdwijnen 
(althans, het antwoord van www.linuxfocus.org zou nooit terugkomen). 
Mét IP-masquerade zal your.machine.at.your.isp het pakketje herkennen en het omzetten
naar een nieuwe verbinding met behulp van een willekeurig lokaal poortnummer en het geldige IP-adres. 
Het onthoudt daarbij dat antwoorden die op die poort binnenkomen, door moeten worden gestuurd naar 
privatehost1.mynet op poort 3211.
IP-masquerade bouwt dus een nieuwe connectie op en onderhoud deze namens een lokale 
machine waarbij lokale adressen en poorten worden omgezet.
IRQ
Problemen met interrupts komen niet alleen bij netwerken voor. Dit kan iedere keer dat je nieuwe 
hardware aansluit gebeuren. Helaas heeft de PC slechts 16 interrupts en de meeste daarvan zijn 
al in gebruik. Het is mogelijk om een interrupt te delen tussen twee PCI kaarten ten koste van wat 
CPU tijd. Het is niet mogelijk om interrupts te delen met ISA kaarten. Als je een PNP BIOS hebt 
waarop je een ISA kaart aan wilt sluiten met een vast interrupt adres dan zul je eerst in de BIOS 
instellingen dit adres moeten reserveren omdat ander de BIOS het adres aan andere hardware 
toe zou kunnen wijzen en dan gaat het fout.
Onder Linux kun je zien hoe vaak bepaalde hardware een interrupt heeft gebruikt met het 
commando cat /proc/interrupts. Hardware die niet in gebruik is zal geen interrupts 
genereren.
Nu volgt een lijst met van tevoren vastgestelde interrupt-adressen. Deze kun je alleen gebruiken 
als hij niet in gebruik is door componenten die hieraan zijn toegewezen. Als je bijvoorbeeld SCSI 
disks gebruikt in plaats van IDE dan kan je dus interrupts 14/15 hergebruiken.
    
        | IRQ | Bestemd voor | 
     | 0 | timer | 
     | 1 | toetsenbord | 
     | 2 | cascade (programmeerbare interrupt controller) | 
     | 3 | serial 2 | 
     | 4 | serial 1 | 
     | 5 | vrij, meestal geluidskaart | 
     | 6 | floppy | 
     | 7 | parallelle poort, onder linux genereren printers echter
         geen interrrupts | 
     | 8 | real time klok | 
     | 9 | vrij | 
     | 10 | vrij | 
     | 11 | vrij | 
     | 12 | ps2 muis (/dev/psaux) | 
     | 13 | reken co-processor | 
     | 14 | IDE 1 | 
     | 15 | IDE 2 | 
Voorbeeld-netwerk
Na al deze theorie dan nu een voorbeeld-netwerk. Waarom een thuisnetwerk? Hier wat 
suggesties:
  -  Met netwerken kun je dingen delen. Eén computer heeft een modem en Internet 
verbinding, allen kunnen dit delen en gebruiken. Eén computer heeft een printer, alle 
computers kunnen dit delen. Eén computer kan speciale opslag hebben (zoals ZIP-drive, 
CD-ROM, DVD), alle computers kunnen deze gebruiken en benaderen via NFS. Eén 
computer kan een dikke disk hebben met veel plaatjes en muziekbestanden, alle computers 
kunnen dit benaderen.
  
-  Het is technisch interessant.
Nu dan het voorbeeld-netwerk. We hebben een computer met modem en een met printer. De 
twee zijn aangesloten via Ethernet. Beiden hebben een CD-ROM en floppy disks. Dan is er ook 
nog een laptop zonder modem, printer of CD-ROM. Deze sluiten we aan via de parallelle poort op 
de eerste computer, waarmee deze toegang heeft tot modem, printer en CD-ROM.
 Hoe zou je een dergelijk netwerk op gaan zetten? Welnu, allereerst moet je de hardware kopen. 
Je hebt nodig (afgezien van computers, modem en printer); 2 netwerkkaarten, een kruiskabel en 
een LapLink kabel. Een hub is niet nodig. Je installeert de hardware, sluit de kabels aan en 
vergewist je ervan dat er geen conflicten zijn met andere interrupts. Daarna her-configureer je de 
kernel of je laad je de betreffende modules als deze reeds aanwezig zijn. Ondersteuning voor de 
meeste hardware zit er al in als je een kant-en-klare kernel gebruikt van je distributie. Daarna 
gebruik je ifconfig voor het instellen van de IP adressen van je nieuwe kaarten. 
Hierna gebruik je route om te bepalen welke pakketten waarheen moeten worden 
gestuurd. Hierna zou je basis-netwerk al moeten werken. Je kunt dan nog geen gebruik maken van 
domeinnamen en IP-Masquerade zal ook nog niet werken maar je kunt een ping 
sturen en de LED op je kaart in actie zien.
Hoe zou je een dergelijk netwerk op gaan zetten? Welnu, allereerst moet je de hardware kopen. 
Je hebt nodig (afgezien van computers, modem en printer); 2 netwerkkaarten, een kruiskabel en 
een LapLink kabel. Een hub is niet nodig. Je installeert de hardware, sluit de kabels aan en 
vergewist je ervan dat er geen conflicten zijn met andere interrupts. Daarna her-configureer je de 
kernel of je laad je de betreffende modules als deze reeds aanwezig zijn. Ondersteuning voor de 
meeste hardware zit er al in als je een kant-en-klare kernel gebruikt van je distributie. Daarna 
gebruik je ifconfig voor het instellen van de IP adressen van je nieuwe kaarten. 
Hierna gebruik je route om te bepalen welke pakketten waarheen moeten worden 
gestuurd. Hierna zou je basis-netwerk al moeten werken. Je kunt dan nog geen gebruik maken van 
domeinnamen en IP-Masquerade zal ook nog niet werken maar je kunt een ping 
sturen en de LED op je kaart in actie zien.
Als je de volgende adressen gebruikt:
192.168.0.1 eth0 op machine 1
192.168.0.2 eth0 op machine 2
dan kun je op machine 1 intikken: ping 192.168.0.2:
>ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=64 time=0.9 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.8 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.9 ms
--- ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.8/0.8/0.9 ms
Dit stop je met ctrl-C. Ga eens kijken met het commando cat /proc/interrupts waar 
je de kaart zou moeten zien, of PLIP in het geval van de laptop verbinding. Het commando 
cat /proc/ioports laat je nieuwe hardware zien en het commando netstat -i 
laat zien hoeveel IP pakketjes er naar welke koppeling zijn gegaan.
Op dit moment kun je al ftp gebruiken en bestanden oversturen.
De basis van je netwerk ligt er nu maar de echt gave spullen werken nog niet. Het is nu tijd om al 
die configuratie bestanden aan te passen (maak daarbij gebruik van die mooie grafische 
hulpmiddelen die bij je distributie worden geleverd). Als laatste zet je IP-Masquerade en NFS op. 
Je netwerk is nu compleet.
Ik hoop dat dit een aardig overzicht heeft gegeven. Zit niet bij de pakken neer als ik niet 
uit de doeken heb gedaan hoe iets precies moet worden ingesteld. Er zullen aparte artikelen 
verschijnen over ifconfig/route/netstat, IP-Masquerade, PPP instellen, 
afdrukken via het netwerk met lpd en NFS. Dit artikel moest een goed overzicht 
geven om zo volgende artikelen over netwerken beter te kunnen begrijpen.
Veel plezier met netwerken
PS: _LF_ is altijd blij met nieuwe artikelen over netwerken. Niet alle artikelen zijn al geschreven en 
dit is slechts de start van een hele serie. Laat het ons weten als je een ervaren gebruiker bent en 
hierover een artikel wilt publiceren.
Referenties: