ridruejo@rawbyte.com
,bokkie@nl.linux.org
Het doel van dit document is een overzicht te verstrekken van de netwerkmogelijkheden van het besturingssysteem Linux. Alhoewel één van de sterke kanten van Linux is dat er een overvloed aan informatie voor bijna iedere component bestaat, is veel van deze informatie gericht op de implementatie. Nieuwe Linux gebruikers, in het bijzonder degenen die vanuit een Windows omgeving komen, zijn zich vaak niet bewust van de netwerkmogelijkheden van Linux. Dit document is erop gericht je een algemeen beeld van dergelijke mogelijkheden met een beknopte beschrijving van iedere mogelijkheid te laten zien inclusief verwijzingen naar meer informatie. De informatie is vanuit veel bronnen bijeenvergaard: HOWTO's, faqs, webpagina's van projecten en mijn eigen opgedane ervaringen. Volledige krediet wordt gegeven aan de auteurs van deze andere bronnen. Zonder hen en hun programma's zou dit document niet mogelijk of nodig zijn.
De primaire auteur van Linux is Linus Torvalds. Sinds de oorspronkelijke versies, is het door ontelbare aantallen mensen verbeterd. Het is een kloon van het besturingssysteem Unix, volledig vanaf het begin af aan geschreven. Een van de interessantere feiten over Linux is dat de ontwikkeling ervan simultaan over de gehele wereld plaatsvindt.
Linux is copyrighted onder de voorwaarden van de GNU General Public License (GPL). Dit is een licentie geschreven door de Free Software Foundation (FSF) welke werd ontworpen mensen te verhinderen een beperking op de distributie van de software op te leggen. Samengevat zegt het dat hoewel geld kan worden gevraagd voor een kopie, de persoon die de kopie ontving niet verhinderd kan worden het voor niks weg te geven. Het betekent ook dat de sourcecode beschikbaar moet zijn. Dit is van nut voor programmeurs. Iedereen kan Linux aanpassen en zelfs zijn/haar aanpassingen distribueren, op voorwaarde dat ze de code onder hetzelfde copyright houden.
Waarom onder Linux werken? Linux is in het algemeen goedkoper (of op z'n minst niet duurder) dan andere besturingssystemen en het is vaak minder problematisch dan veel commerciële systemen. Maar wat Linux zo anders maakt, is niet zijn prijs (tenslotte, waarom zou iemand een OS willen, ook al is het vrij verkrijgbaar, als het niet goed genoeg is?), maar zijn voortreffelijke mogelijkheden:
Linux biedt ondersteuning voor veel verschillende netwerkprotocollen:
Het Internet Protocol werd oorspronkelijk twee tiental jaren geleden ontworpen voor de United States Department of Defensie (DoD), met hoofdzakelijk als doel verschillende merken computers met elkaar te verbinden. De TCP/IP suite met protocollen maakte het mogelijk door zijn gelaagde structuur, applicaties van netwerkhardware te isoleren.
Alhoewel het is gebaseerd op een model welke uit lagen bestaat, is het meer gericht op leveren van interconnectiviteit dan star trouw blijven aan functionele lagen. Dit is één van de redenen waarom TCP/IP het de facto standaard internetwerk protocol is geworden in tegenstelling tot OSI.
TCP/IP netwerken is vanaf het begin in Linux aanwezig. Het is van het begin geïnstalleerd. Het is één van de meest robuuste, snelle en betrouwbare implementaties en is één van de sleutelfactoren in het succes van Linux.
Gerelateerde HOWTO: http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO.html
IPv6, waarnaar soms ook als IPng wordt gerefereerd (IP Next Generation) is een upgrade op het IPv4 protocol om veel zaken te adresseren. Hieronder vallen: te kort aan beschikbare IP-adressen; ontbreken van mechanismen tijdsgevoelig verkeer af te handelen; een gebrek aan netwerklaagbeveiliging, enz.
De grotere namespace zal vergezeld gaan van een verbeterd adresseringsschema, wat een enorme impact zal hebben op routing performance. Voor Linux bestaat een beta implementatie, en een productieversie wordt voor de 2.2.0 Linux kerneluitgave verwacht.
IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange) is een gepatenteerde protocol stack ontwikkeld door Novell en gebaseerd op het Xerox Network Systems (XNS) protocol. IPX/SPX viel begin jaren tachtig op als een integraal onderdeel van Novell, Inc.'s NetWare. NetWare werd het de facto standaardnetwerk besturingssysteem (NOS => Network Operating System) van de eerste generatie LAN's. Novell complementeerde zijn NOS met een op de zakelijke markt geöriënteerde applicatie-suite en connectie utility's voor aan de client zijde.
Linux heeft een zeer zuivere IPX/SPX implementatie, welke het mogelijk maakt het te configureren als een:
Bovendien biedt Caldera commerciële ondersteuning voor Novell NetWare onder Linux. Caldera levert een volledig karakteristieke Novell NetWare client gebouwd op technologie gelicentieerd vanuit de Novell Corporation. De client voorziet in volledige clienttoegang tot Novell 3.x en 4.x fileservers en bevat features zoals NetWare Directory Service (NDS) en RSA encryptie.
Appletalk is de naam van Apple's internetworking stack. Het maakt een peer-to-peer netwerkmodel mogelijk welke voorziet in de basisfunctionaliteit zoals het delen van bestanden en printers. Iedere computer kan simultaan als een client en als een server fungeren, en de software en hardware die nodig zijn wordt bij iedere Apple computer in voorzien.
Linux voorziet in volledige Appletalk networking. Netatalk is een implementatie van de AppleTalk Protocol Suite op niveau van de kernel, oorspronkelijk voor systemen afgeleid van BSD. Het is inclusief ondersteuning voor routing AppleTalk, serving Unix en AFS bestandssystemen over AFP (AppleShare), serving Unix printers en het benaderen van AppleTalk printers over PAP.
Zie sectie 5.1 voor meer informatie.
Verscheidene derden voorzien in T-1, T-3, X.25 en Frame Relay producten voor Linux. In het algemeen is voor deze typen connecties speciale hardware vereist. Verkopers die deze hardware leveren voorzien ook in de drivers met protocol ondersteuning.
De Linux kernel heeft ingebouwde ISDN capaciteiten. Isdn4linux beheert ISDN PC kaarten en kan een modem met de Hayes commandoset ("AT" opdrachten) emuleren. De mogelijkheden variëren van het eenvoudig gebruiken van een terminalprogramma tot verbindingen via HDLC (met behulp van opgenomen devices) tot een volledige verbinding met het Internet met PPP tot audio applicaties.
De Linux kernel heeft ingebouwde ondersteuning voor PPP (Point-to-Point-Protocol), SLIP (Serial Line IP) en PLIP (Parallel Line IP). PPP is de meest populaire manier voor individuele gebruikers om hun ISP's te benaderen. (Internet Service Providers). PLIP maakt een goedkope verbinding tussen twee computers mogelijk. Hierbij wordt gebruik gemaakt van een parallelle poort en een speciale kabel, waarbij snelheden worden bereikt van 10kBps tot 20kBps.
De Linux kernel heeft ingebouwde ondersteuning voor amateur radio protocollen.
Vooral interessant is de AX.25 ondersteuning. Het AX.25 protocol biedt zowel verbonden als connectieloze mode handelingen en wordt of op zichzelf gebruikt voor point-point links of om andere protocollen zoals TCP/IP en NetRom te transporteren.
Het is qua structuur gelijk aan X.25 level 2, met een paar uitbreidingen om het bruikbaar te maken in de amateur radio omgeving.
ATM ondersteuning voor Linux bevindt zich thans in de pre-alpha fase. Er is een experimentele uitgave, die raw ATM connecties ondersteunt (PVC's en SVC's), IP over ATM, LAN emulatie...
Linux biedt ondersteuning voor een brede variëteit aan netwerkhardware, inclusief wat verouderde uitrustingen.
Een aantal interessante documenten:
Het primaire doel van veel op de PC gebaseerde Local Area Networks is services te leveren aan gebruikers zoals het delen van bestanden en printers. Linux is als een gemeenschappelijke file en printerserver een geweldige oplossing.
Zoals in vorige secties uiteengezet, biedt Linux ondersteuning voor de Appletalk familie aan protocollen. Linux netatalk maakt het Macintosh clients mogelijk Linux systemen als een andere Macintosh op het netwerk te zien, bestanden te delen en gebruik te maken van printers die op de Linux servers zijn aangesloten.
Netatalk faq en HOWTO:
Samba bestaat uit een suite applicaties dat het de meeste Unices (en in het bijzonder Linux) mogelijk maakt zowel als client en als een server in een Microsoft netwerk te integreren. Als het als server fungeert, is het mogelijk Linux bestanden en afdrukservices onder Windows 95, Windows for Workgroups, DOS en Windows NT clients te benaderen. Het kan de bestands- en afdrukservices van Windows NT volledig vervangen, inclusief het automatisch downloaden van printerdrivers naar clients. Als het als een client fungeert is het mogelijk op het Linux werkstation lokaal geëxporteerde windows file shares te mounten.
Volgens de SAMBA Meta-FAQ:
"Veel gebruikers melden dat Samba in vergelijking met andere SMB implementaties
stabieler, sneller en met meer clients compatibel is. Beheerders van een
aantal grote installaties zeggen dat Samba de enig beschikbare SMB-server is,
die zonder vast te lopen zich aanpast tot wel naar tienduizenden gebruikers".
Zoals in vorige secties uiteengezet, kan Linux worden geconfigureerd dat het als een NCP client of server fungeert, dus dat bestands- en afdrukservices over een Novell netwerk voor zowel Novell als Unix clients mogelijk worden.
De voorkeursmethode om bestanden in een Unix netwerkomgeving te delen is via NFS. NFS staat voor Network File Sharing en het is een protocol oorspronkelijk ontworpen door Sun Microsystems. Het is een manier om bestanden tussen computers te delen alsof ze op de lokale computer staan. Een client "mount" een bestandsysteem welke is "geëxporteerd" door een NFS server. Voor de clientcomputer lijkt het alsof het gemounte bestandssysteem onderdeel uitmaakt van het lokale bestandssysteem.
Het is mogelijk een root bestandssysteem tijdens de systeemstart te mounten, waarmee het dus mogelijk wordt diskloze clients te laten booten en alle bestanden vanaf een server te benaderen. Met andere woorden, het is mogelijk over een volledig functionele computer te beschikken zonder dat deze computer van een harddisk is voorzien.
Coda is een netwerk bestandsssysteem (zoals NFS) dat verbroken verbindingen, permanente caching, en andere fraaie mogelijkheden ondersteunt. Het is in 2.2.x kernels opgenomen. Echt handig voor langzame of onbetrouwbare netwerken en laptops.
Aan NFS gerelateerde documenten:
Linux is een geweldig platform om als een Intranet / Internetserver te fungeren. De term Intranet refereert naar de applicatie met Internet technologiën binnen een organisatie met hoofdzakelijk als doel informatie binnen het bedrijf te distribueren en het beschikbaar te maken. Internet en Intranet services door Linux geboden bestaan onder andere uit mail, news, WWW servers en heel veel meer wat in de volgende secties aan de orde zal komen.
Sendmail is het de facto standaard mailserver programma (genaamd een MTA, of Mail Transport Agent) voor Unix platformen. Het is een robuust, schaalbaar en volkomen geconfigureerd en met de benodigde hardware kan het loads van duizenden gebruikers afhandelen zonder daarbij "met de ogen te knipperen". Ook alternatieve mailservers, zoals smail en qmail zijn beschikbaar.
Mail HOWTO's:
In een organisatie of bij een ISP zullen gebruikers naar alle waarschijnlijkheid hun mail op afstand vanaf hun desktops willen benaderen. Er zijn hier onder Linux verscheidene alternatieven voor, waaronder POP (Post Office Protocol) en IMAP (Internet Message Access Protocol) servers. Het POP protocol wordt gewoonlijk gebruikt om berichten vanaf de server naar de client te transporteren. IMAP staat ook manipulatie van de berichten op de server toe, het op afstand aanmaken en verwijderen van folders op de server, in samenwerking benaderen van gedeelde mailfolders, enz.
Aan mail gerelateerde HOWTO's:
Er zijn voor onder Linux een aantal MUA's (Mail User Agents) beschikbaar voor zowel de grafische als de tekstmode. De meest gebruikte zijn: pine, elm, mutt en Netscape.
Er zijn veel MLM (Mail List Management) programma's beschikbaar voor Unix in het algemeen en voor Linux in het bijzonder.
Een handig aan mail gerelateerd utility is fetchmail. Fetchmail is een vrij, robuust, goed gedocumenteerd remote mail ontvangst en forwarding utility met volledige mogelijkheden bedoeld te worden gebruikt over TCP/IP links waarbij de verbinding op verzoek tot stand wordt gebracht (zoals bij SLIP en PPP connecties). Het ondersteunt elk remote mailprotocol thans in gebruik op het Internet. Het kan zelfs ondersteuning bieden voor IPv6 en IPSEC.
Fetchmail haalt mail van remote mailservers op en stuurt dit door via SMTP, waarna het vervolgens met gewone mail user agents, zoals mutt, elm, of BSD Mail kan worden gelezen. Het staat alle bewerkingen van de MTA toe op mail, zoals die gewoonlijk op gewone mail zouden worden toegepast, zoals het filteren, forwarden en gebruiken van de alias faciliteiten.
Fetchmail kan worden gebruikt als een POP/IMAP-naar-SMTP gateway voor een geheel DNS domein, waarbij mail vanaf een enkele drop box bij een ISP wordt verzameld en gebaseerd op headeradressen via SMTP wordt doorgestuurd.
Een klein bedrijf kan zijn mail in een enkele mailbox centraal verzamelen, fetchmail zo configureren dat het alle uitgaande mail bijeen vergaart, het via een enkele mailbox bij de ISP versturen en alle inkomende mail vanaf dezelfde mailbox ophalen.
In de meeste Linux distributies is Apache opgenomen. Apache is volgens http://www.netcraft.co.uk/survey/ Internet server nummer één. Meer dan de helft van alle internetsites draait Apache of één van de afgeleiden. Apache's voordelen zijn onder andere zijn modulaire ontwerp, stabiliteit en snelheid. Met de juiste hardware en configuratie kan het de hoogste loads ondersteunen: Yahoo, Altavista, GeoCities, en Hotmail zijn op aangepaste versies van deze server gebaseerd.
Optionele ondersteuning voor SSL (waarmee beveiligde transacties worden geactiveerd) is ook beschikbaar vanaf:
Gerelateerde HOWTOs:
Er zijn voor het Linux platform een aantal webbrowsers beschikbaar. Netscape Navigator is één van de keuzes uit het beginstadium en van de aankomende Mozilla (http://www.mozilla.org) zal een Linux-versie beschikbaar zijn. Een andere populaire op tekst gebaseerde webbrowser is Lynx. Het is snel en handig wanneer er geen grafische omgeving beschikbaar is.
FTP staat voor File Transfer Protocol. Een FTP server maakt het clients mogelijk er een verbinding mee tot stand te brengen en er bestanden mee op te halen (downloaden). Er bestaan veel ftp-servers en clients voor Linux en deze worden in de meeste distributies opgenomen. Er zijn zowel op tekst als op GUI's gebaseerde clients beschikbaar. FTP gerelateerde software (servers en clients) voor Linux zijn te vinden op: http://metalab.unc.edu/pub/Linux/system/network/file-transfer/
Usenet (tevens bekend als news) is een groot bulletin board systeem waarin allerhande onderwerpen worden behandeld. Het is hiërarchisch georganiseerd. Een computernetwerk over het internet (Usenet) wisselt artikelen uit via het NNTP protocol. Er zijn voor Linux verscheidene implementaties, óf voor druk bezochte sites óf voor kleine sites die slechts berichten ontvangen voor een paar nieuwsgroepen.
Een DNS server heeft als taak (voor mensen leesbare) namen naar IP-adressen om te zetten. Een DNS-server is niet met alle IP-adressen in de wereld bekend; in plaats daarvan kan het andere servers om de onbekende adressen verzoeken. De DNS-server zal óf de gewenste IP-adressen aan de gebruiker retourneren of melden dat de naam niet in de tabellen is te vinden.
Name serving onder Unix (wat tevens geldt voor de onmetelijke meerderheid van het Internet) wordt bewerkstelligd door een programma genaamd named. Dit maakt onderdeel uit van het package bind van het Internet Software Consortium.
DHCP en bootp zijn protocollen die het een client-computer mogelijk maken netwerkinformatie (zoals IP-nummers) vanaf een server te verkrijgen. Veel organisaties beginnen het te gebruiken omdat vooral op grote netwerken of netwerken met veel mobiele gebruikers het 't netwerkbeheer vereenvoudigt.
Gerelateerde documenten:
Het Network Information Service (NIS) voorziet in een simpele netwerk opzoekservice bestaande uit databases en processen. Het doel ervan is informatie te leveren die op alle computers van het gehele netwerk beschikbaar moet zijn. Het staat bijvoorbeeld de beheerder toe gebruikers van iedere computer op het netwerk waarop NIS draait zonder bestaand wachtwoordrecord op elke computer toegang te verschaffen; alleen de hoofddatabase moet worden onderhouden/beheerd.
Gerelateerde HOWTO:
Er zijn tevens diverse manieren gebruikers in gemengde netwerkomgevingen te verifiëren.
Een van de meest verbazingwekkende mogelijkheden van Unix (één van de meest nog onbekende voor nieuwe gebruikers) is de geweldige ondersteuning voor de remote en gedistribueerde uitvoering van applicaties.
Telnet is een programma waarmee iemand een remote computer kan gebruiken alsof die persoon zich in feite op die site op afstand bevindt. Telnet is één van de meest krachtige hulpmiddelen voor Unix, die beheer echt op afstand toestaat. Het is ook een interessant programma uit oogpunt van gebruikers, omdat het op afstand toegang biedt aan bestanden en programma's die zich elders op het Internet bevinden. Gecombineerd met een X-server, is er (afgezien van de vertragende werking) geen verschil tussen werken vanuit een console of vanaf de andere kant van de planeet. Telnet daemons en clients zijn in de meeste Linux-distributies opgenomen.
Versleutelde remote shell-sessies zijn beschikbaar via SSH ( http://www.ssh.fi/sshprotocols2/index.html) waarmee dus effectief beveiligd beheer op afstand mogelijk is.
Onder Unix, en in het bijzonder onder Linux, bestaan een aantal remote opdrachten waarmee interactie met andere computers vanaf de shell-prompt mogelijk is. Voorbeelden hiervan zijn: rlogin, om in te loggen om een remote computer op vergelijkbare wijze als bij telnet, rcp voor het op afstand transporteren van bestanden tussen computers, enz. Als laatste kun je met de remote opdracht rsh een opdracht uitvoeren op de computer op afstand zonder werkelijk op die computer in te loggen.
Het X Window Systeem werd eind tachtiger jaren bij Mit ontwikkeld. Het groeide al snel uit tot een industriestandaard window systeem voor Unix grafische werkstations. De software is vrij verkrijgbaar, zeer veelzijdig en geschikt voor een breed bereik aan hardwareplatformen. Iedere X-omgeving bestaat uit twee afzonderlijke delen, de X-server en één of meer X-clients. Het is belangrijk dat je je het onderscheid tussen de server en de client realiseert. De server beheert op direct wijze het display en het is verantwoordelijk voor alle invoer/uitvoer via het toetsenbord, muis of display. De clients aan de andere kant, benaderen het scherm niet direct - ze communiceren met de server, die alle invoer en uitvoer afhandelt. De clients doen het "echte" computerwerk, door het uitvoeren van applicaties of iets dergelijks. De clients communiceren met de server waardoor de server één of meer vensters opent om de invoer en uitvoer voor die client af te handelen.
Kortom, het X Window Systeem geeft een gebruiker de mogelijkheid op een remote computer in te loggen, een proces uit te voeren (zoals bijvoorbeeld het openen van een webbrowser) en de uitvoer op zijn eigen computer te laten zien. Omdat het proces in werkelijkheid op het remote systeem wordt uitgevoerd, is op het lokale systeem zeer weinig CPU power nodig. Inderdaad, er bestaan computers wiens primaire doel is zuiver als X-servers te dienen. Dergelijke systemen worden X-terminals genoemd.
Er is een vrije port voor het X Window Systeem voor onder Linux en deze is te vinden op: Xfree. Het is in de meeste Linux-distributies opgenomen.
Gerelateerde HOWTO:
VNC staat voor Virtual Network Computing. In essentie is het een remote display systeem waarmee het mogelijk is een computer 'desktop' omgeving niet alleen op de computer waarop het draait te bekijken, maar vanaf iedere plaats op het Internet en vanaf een brede variëteit aan computerarchitecturen. Er bestaan voor onder Linux als ook voor vele andere platformen zowel clients als servers. Het is mogelijk MS-Word op een Windows NT of 95 computer uit te voeren waarvan de uitvoer wordt weergegeven op een Linux computer. Het tegengestelde geldt ook; het is mogelijk een applicatie op een Linux-computer uit te voeren waarvan de uitvoer op een andere Linux of Windows computer wordt weergegeven. Een van de beschikbare clients is een Java applet, die het draaien van een remote display binnen een webbrowser mogelijk maakt. Een andere client is een port voor Linux waarbij gebruik wordt gemaakt van de grafische library SVGAlib, waarmee 386's met slechts 4 MB RAM als volledig functionele X-Terminals kunnen dienen.
Linux netwerken zijn rijk aan mogelijkheden. Een Linux box kan zodanig worden geconfigureerd dat het als een router, bridge, enz... fungeert. Een aantal van de beschikbare opties wordt hieronder beschreven.
De Linux kernel heeft ingebouwde ondersteuning voor routing functies. Een Linux box kan óf als een IP óf als een IPX router fungeren voor een fractie van de kosten van een commerciële router. Recente kernels bevatten speciale opties voor computers die primair als routers fungeren:
Er zijn een aantal gerelateerde projecten waarvan er een is gericht op het bouwen van een compleet, Linux draaiende router op een diskette: Linux router project
De Linux kernel heeft ingebouwde ondersteuning voor het fungeren als een Ethernet bridge, wat betekent dat de verschillende Ethernetsegmenten waarmee het is verbonden voor de deelnemers als éé Ethernet zal verschijnen. Verscheidene bridges kunnen met elkaar samenwerken om zelfs grotere netwerken met Ethernets te creëren met behulp van het IEEE802.1 spanning tree algoritme. Aangezien dit een standaard is, zullen Linux bridges goed met andere bridgeproducten van derden werken. Extra packages maken het filteren gebaseerd op IP, IPX of MAC-adressen mogelijk.
Gerelateerde HOWTO's:
IP Masquerade is een ontwikkelaars netwerkfunctie onder Linux. Als een Linux host met daarop IP-Masquerade geactiveerd een verbinding heeft met het Internet, dan kunnen ook de computers die daarop zijn aangesloten (óf op hetzelfde LAN of verbonden middels modems) het Internet bereiken, zelfs als ze geen officieel toegekend IP-adres hebben. Dit scheelt in de kosten, aangezien veel mensen zo het Internet kunnen benaderen met een enkele modemverbinding en het draagt tevens bij aan een verhoogde beveiliging (op een bepaalde manier fungeert de computer als firewall, aangezien onofficieel toegekende adressen niet van buiten dat netwerk kunnen worden benaderd).
IP masquerade gerelateerde pagina's en documenten:
Deze optie van de Linux kernel houdt IP netwerkverkeer bij, zorgt voor de uitvoering van het loggen van pakketjes en produceert wat statistieken. Een serie regels kan worden gedefinieerd wanneer een pakketje met een bepaald patroon overeenkomt, een actie wordt uitgevoerd: een teller wordt opgehoogd, het wordt geaccepteerd/verworpen, enz.
Deze feature van de Linux kernel voorziet in de mogelijkheid meerdere netwerkadressen op dezelfde low-level netwerk devicedriver in te stellen. (b.v twee IP-adressen voor één Ethernetkaart). Het wordt typisch gebruikt voor services die anders reageren gebaseerd op het adres waarnaar ze luisteren (b.v. "multihosting" of "virtuele domeinen" of "virtueel hosting services".
Gerelateerde HOWTO:
De traffic shaper is een virtueel netwerkdevice welke het mogelijk maakt de hoeveelheid uitgaande gegevens die over een ander netwerkdevice stroomt te beperken. Dit is vooral handig in scenario's zoals ISP's, waar het wenselijk is het beleid betreffende hoeveel bandbreedte door iedere client wordt gebruikt te beheren en af te dwingen. Een ander alternatief (alleen voor webservices) kan bestaan uit bepaalde Apache modules waarmee het aantal IP-connecties of de gebruikte bandbreedte door een client kan worden beperkt.
Een firewall is een device dat een privé netwerk voor het publieke deel (het Internet als een geheel) afschermt. Het is ontworpen om de stroom aan pakketjes gebaseerd op de source, de bestemming, poort en pakket type informatie in ieder pakket te beheren.
Er zijn verschillende firewall toolkits voor Linux beschikbaar als ook ingebouwde ondersteuning in de kernel. Andere firewalls zijn TIS en SOCKS. Deze firewall toolkits zijn zeer compleet en maken het gecombineerd met andere tools mogelijk alle soorten verkeer en protocollen te blokkeren/door te sturen. Via configuratiebestanden of GUI programma's kunnen verschillende gedragslijnen worden geïmplementeerd.
Een toenemend aantal websites wordt interactief door gebruik van cgi-bins of Java applets waarmee een database of andere service kan worden benaderd. Aangezien deze toegang een beveiligingsprobleem in het daglicht kan stellen, zou de computer met daarop de database niet direct met het Internet verbonden moeten zijn.
Port Forwarding kan een vrijwel ideale oplossing voor dit toegangsprobleem bieden. Op de firewall kunnen IP pakketjes, die via een specifiek poortnummer binnenkomen, worden herschreven en naar de interne server worden doorgestuurd waar de werkelijke service wordt geleverd. De reply pakketjes vanaf de interne server worden zodanig herschreven dat het lijkt alsof ze vanaf de firewall kwamen.
Port forwarding informatie is te vinden op: http://www.ox.compsoc.net/~steve/portforwarding.html
De vraag naar load balancing doet zich meestal voor bij database/web toegang wanneer clients simultaan verzoeken richten aan een server. Meerdere identieke servers waarbij verzoeken naar de minder overladen server worden doorgestuurd zijn wenselijk als veel clients simultaan verzoeken richten aan een server. Dit kan worden bereikt via Network Address Translation technieken (NAT) waarvan IP-masquerading een subset is. Netwerkbeheerders kunnen een enkele server, die Webservices of enige andere applicaties verleent, vervangen - door een logische samenbundeling van servers die een algemeen IP-adres delen. Inkomende connecties worden doorgestuurd naar een bepaalde server door gebruik te maken van het load-balancing algoritme. De virtuele server herschrijft inkomende en uitgaande pakketjes om de clients te laten denken dat er slechts één server bestaat.
Linux IP-NAT informatie is te vinden op: http://www.csn.tu-chemnitz.de/HyperNews/get/linux-ip-nat.html
EQL is in de Linux kernel geïntegreerd. Als twee seriële connecties bestaan op een andere computer (hiervoor zijn meestal twee modems en twee telefoonlijnen nodig) en SLIP of PPP (protocollen voor het versturen van Internetverkeer via telefoonlijnen) wordt hierop gebruikt, dan is het mogelijk ze met gebruik van deze driver te laten gedragen als één dubbele snelheidsconnectie. Natuurlijk moet die ook aan de andere kant worden ondersteund.
De term proxy betekent "iets doen namens iemand anders". In netwerkterminologie kan een proxyserver namens verscheidene clients optreden. Een HTTP proxy is een computer welke verzoeken om webpagina's van een andere computer (computer A) ontvangt. De proxy haalt de verzochte pagina op en retourneert het resultaat naar computer A. Het kan zijn dat de proxy een cache heeft met de pagina's waarom is verzocht, dus als een andere computer om dezelfde pagina vraagt, zal de kopie in de cache daarvoor in de plaats worden geretourneerd. Dit maakt efficiënter gebruik van bandbreedte bronnen mogelijk en de responsetijd is korter. Een neveneffect is de beveiligde wijze van het interne netwerk, aangezien de client computers geen directe verbinding hebben met de buitenwereld. Een goed geconfigureeerde proxy kan net zo effectief zijn als een goede firewall.
Er bestaan verscheidene proxy servers voor Linux. Een populaire oplossing is de Apache proxy module. Een completere en robuuste implementatie van een HTTP proxy is SQUID.
Het doel van dial on demand is om het transparant te laten lijken dat de gebruikers een permanente connectie met een remote site hebben. Meestal is er een daemon die het verkeer met pakketjes in de gaten houdt en waar een interessant pakketje arriveert (interessant wordt meestal gedefinieerd door middel van een set regels/prioriteiten/permissies) een connectie tot stand brengt met de computer op afstand. Wanneer het kanaal een bepaalde periode niet actief is, wordt de verbinding verbroken.
De Linux kernel staat tunneling (inkapseling) van protocollen toe. Het kan IPX tunnelling via IP, waarbij de verbinding van twee IPX netwerken via een enkele IP link mogelijk is. Ook IP-IP tunneling is mogelijk, wat essentieel is voor mobiele IP ondersteuning, multicast ondersteuning en amateur radio. (zie http://metalab.unc.edu/mdw/HOWTO/NET3-4-HOWTO-6.html#ss6.8)
Mobiele IP specificeert uitbreidingen waarbij transparante routing van IP-datagrammen naar mobiele nodes op het Internet mogelijk is. Iedere mobiele node wordt altijd geïdentificeerd door zijn thuisadres, ongeacht zijn huidige verbindingspunt met het Internet. Terwijl weg van huis gesitueerd, wordt een mobiele node ook met een care-of adres geassocieerd, welke informatie levert over het huidige koppelingspunt naar het Internet. Het protocol levert voor registratie het care-of adres met een home agent. De home agent stuurt de datagrammen bestemd voor de mobiele node via een tunnel naar het care-of adres. Na het arriveren aan het einde van de tunnel, wordt ieder datagram vervolgens bij de mobiele node bezorgd.
Point-to-Point Tunneling Protocol (PPTP) is een netwerktechnologie dat het gebruik van het Internet als een beveiligd virtueel privé netwerk (VPN) toestaat. PPTP is met de Remote Access Services (RAS) server geïntegreerd, welke in de Windows NT Server is gebouwd. Met PPTP, kunnen gebruikers inbellen bij een lokale ISP, of direct een verbinding met Internet tot stand brengen, en het netwerk benaderen alsof dit hun eigen bureaublad is. PPTP is een gesloten protocol en de beveiliging ervan is onlangs gecompromitteerd. Het is ten zeerste aan te bevelen andere op Linux gebaseerde alternatieven te gebruiken, aangezien die op open standaards afgaan die zorgvuldig zijn bestudeerd en getest.
Er bestaat een indrukwekkend aantal hulpmiddelen gericht op netwerkbeheer en beheer op afstand. Een tweetal interessante remote beheerprojecten zijn linuxconf en webmin:
Andere hulpmiddelen zijn onder andere analyse tools voor netwerkverkeer, netwerk security tools, monitoring tools, configuratietools, enz. Een archief van veel van deze tools is te vinden op: Metalab.
Het Simple Network Management Protocol is een protocol voor Internet network management services. Het maakt het op afstand monitoren en configureren van routers, bridges, netwerkkaarten, switches, enz... mogelijk. Er zijn een groot aantal library's, clients, daemons en op SNMP gebaseerde monitoring programma's beschikbaar voor Linux. Een goede pagina over SNMP en Linux software is te vinden op:
http://linas.org/linux/NMS.html
In bepaalde situaties is het voor de netwerkinfrastructuur nodig dat er juiste mechanismen zijn om de beschikbaarheid van het netwerk vrijwel 100% van de tijd te garanderen. Een aantal hieraan gerelateerde technieken worden in de volgende secties beschreven. Het meeste van het volgende materiaal is te vinden op de uitstekende Linux website: http://linas.org/linux/index.html en in de Linux High-Availability HOWTO
Redundancy wordt gebruikt om te voorkomen er op het gehele IT-systeem enkele punten zijn waar gebreken op kunnen treden. Een server met slechts één netwerkkaart of een enkele SCSI-disk heeft twee op zichzelf staande punten waar gebreken op kunnen treden. Het doel is niet geplande uitvallen voor gebruikers te verbergen op een manier waarbij gebruikers snel weer verder kunnen werken. High availability software bestaat uit een set scripts en tools die automatisch gebreken in de gaten houden en detecteren, de passende stappen ondernemen om de normale werking te herstellen en systeembeheerders op de hoogte te brengen.
RAID, afkorting van Redundant Array of Inexpensive Disks, is een methode waarbij informatie over verscheidene disks wordt verspreid, door gebruik te maken van technieken zoals disk striping (RAID Level 0) en disk mirroring (RAID level 1) om overtolligheid, een lagere incubatietijd en/of hogere bandbreedte voor het lezen en/of schrijven, en de mogelijkheid te herstellen van harddisk crashes te bereiken. Er zijn meer dan zes verschillende typen RAID configuraties gedefinieerd. Voor Linux gebruikers zijn er drie typen opties RAID oplossing beschikbaar: software RAID, aparte DASD boxen, en RAID diskcontrollers.
Gerelateerde HOWTO's:
RAID op linas.org:
IP Address Takeover (IPAT). Wanneer een netwerkadapterkaart in gebreke blijft, zou zijn IP-adres door een werkende netwerkkaart in dezelfde node of in een andere node moeten worden overgenomen. MAC Address Takeover: wanneer de overname van een IP plaatsvindt, moet er voor worden gezorgd dat alle nodes in het netwerk hun ARP caches bijwerken (de mapping tussen IP en MAC adressen).
Zie de High-Availability HOWTO voor meer details: http://metalab.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-HOWTO.html
Als je onder Linux netwerkproblemen ondervindt, e-mail de vragen dan alsjeblieft niet naar mij. Ik heb gewoon geen tijd om ze te beantwoorden. Je maakt een grotere kans om hulp te verkrijgen als je een vraag post in de nieuwsgroep comp.os.linux.networking newsgroup (die je kunt benaderen via http://www.dejanews.com). Zorg dat je eerst de relevante informatie leest, voordat je naar deze lijst post. Doorzoek dan het nieuwsarchief, omdat de kans bestaat dat iemand anders ooit dezelfde vraag heeft gesteld (en deze door iemand is beantwoord). Leg bij het posten alle genomen stappen uit en de foutmeldingen die je daarbij kreeg. Waar je meer informatie vandaan kunt halen:
Dit document is gebaseerd op het werk van vele andere mensen die het mogelijk hebben gemaakt tot wat Linux nu is: één van de beste netwerk besturingssystemen. Alle krediet komt hun toe. Er is veel moeite genomen dit document zo simpel maar accuraat en compleet mogelijk te houden, maar niet overdreven lang. Niettemin, wordt er onder geen enkele omstandigheid door de auteur aansprakelijkheid aanvaardt. Gebruik de informatie in dit document op eigen risico. Mail me gerust je suggesties, correcties of algemene opmerkingen over het document zodat ik het kan verbeteren. In toekomstige versies van dit document zullen waarschijnlijk onderwerpen worden opgenomen, zoals radius, web/ftp mirroring tools zoals wget, traffic analyzers, CORBA... en vele anderen die mogelijk worden gevraagd of van toepassing zijn. Je kunt me bereiken via daniel@rawbyte.com.
Tenslotte zou ik Finnbjorn av Teigum, Cesar Kant, Mathieu Arnold en in het bijzonder Hisakuni Nogami en Phil Garcia willen bedanken voor hun zorgvuldige voorbeschouwingen en opmerkingen over deze HOWTO. Hun hulp wordt enorm gewaardeerd.
Je kunt een versie van dit document aantreffen op http://www.rawbyte.com/lno/.
Daniel Lopez Ridruejo 8 juli 2000