ICTivity documentgegevens

advertisement
ICTivity documentgegevens
Document, Titel
: Linux in een Netwerkomgeving
Controlehistorie
Calculaties
opmerking
gecontroleerd
door
n.v.t.
n.v.t.
n.v.t.
n.v.t.
Spelling en lay-out opmerking
gecontroleerd door
Dhr. P. Halling
Dhr. R. Kommeren
n.v.t.
n.v.t.
Versiehistorie
Versie Datum
1.0
9-4-2004
1.1
24-5-2004
2.0
7-6-2004
Wijziging gemaakt door
Denis de Wit
Denis de Wit
Denis de Wit
Linux in een netwerkomgeving
Opmerking
Tussenverslag
Conceptverslag
Eindverslag
Pagina 1
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Voorwoord
Dit verslag is als afstudeeropdracht aan de AVANS hogeschool opleiding
elektrotechniek geschreven. De afstudeeropdracht is bij het bedrijf ICTivity uitgevoerd
dat zich specialiseert in onafhankelijke ICT-oplossingen voor het bedrijfsleven.
Het Besturingssysteem Linux is relatief nieuw voor ICTivity, waardoor beperkte
expertise aanwezig is op dit gebied. De reden waarom dit onderwerp gekozen is, is dat
er op deze manier een bijdrage geleverd kan worden aan de kennis van Linux binnen
het bedrijf. Mijn opdracht is om een netwerk te configureren met open source software
die dezelfde functionaliteiten als een Windows/Novell netwerk.
Lezers met de nodige voorkennis van Linux worden verwezen naar hoofdstuk 3. In dit
hoofdstuk zal een begin worden gemaakt met de configuratie van Linux. Diegene die
informatie zoeken over Linux op het werkstation worden verwezen naar hoofdstuk 6.
Lezers die het procesverloop willen lezen kunnen in bijlage 7 kijken.
Veel dank is verschuldigd aan dhr. P. Halling die een afstudeerplaats binnen ICTivity
beschikbaar heeft gesteld. Speciale dank gaat uit naar Ruud Rombout en Rolf
Bleukens. Zij hebben het mogelijk gemaakt dat ik tijdens mijn stage een cursus Linux
kon volgen. Ook het tweede deel van de cursus staat op het moment van schrijven op
de planning.
Juni 2004,
Denis de Wit, Eindhoven
Linux in een netwerkomgeving
Pagina 2
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Inhoudsopgave
ICTivity documentgegevens......................................................................................... 1
Voorwoord...................................................................................................................... 2
Inhoudsopgave .............................................................................................................. 3
Samenvatting ................................................................................................................. 6
Samenvatting ................................................................................................................. 6
Inleiding .......................................................................................................................... 8
Hoofdstuk1: Doelstellingen en Planning .................................................................... 9
Hoofdstuk 2: Introductie Linux .................................................................................. 12
2.1 UNIX .................................................................................................................... 12
2.2 Linux ................................................................................................................... 13
2.2.1 De kernel ...................................................................................................... 14
2.2.2 De shell ........................................................................................................ 15
2.2.3 X en Window Managers .............................................................................. 16
2.2.4 GNU .............................................................................................................. 18
2.2.5 Beschikbaarheid van Linux ....................................................................... 19
2.2.5.1 SuSE ...................................................................................................... 19
2.2.5.2 Red Hat .................................................................................................. 19
2.2.5.3 Toelichting platformkeuze voor server .............................................. 20
Hoofdstuk 3: Configuratie van Linux ........................................................................ 21
3.1 DHCP................................................................................................................... 21
3.1.1 Configuratie bestand .................................................................................. 21
3.1.2 lease database............................................................................................. 23
3.1.3 De DHCP server starten en stoppen ......................................................... 24
3.2 DNS ..................................................................................................................... 25
3.2.1 Wat is DNS? ................................................................................................. 25
3.2.2 Bestandslocaties......................................................................................... 25
3.2.3 Caching nameserver ................................................................................... 26
3.2.3.1 De configuratie...................................................................................... 26
3.2.3.2 Configuratie van werkstations ............................................................ 26
3.2.4 Reverse lookups ......................................................................................... 27
3.2.4.1 Reverses opvragen met dig................................................................. 28
Linux in een netwerkomgeving
Pagina 3
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.3 Samba ................................................................................................................. 29
3.3.1 Domain controller ....................................................................................... 29
3.3.2 Installatie van Samba.................................................................................. 30
3.3.3 Configuratie van Samba ............................................................................. 31
3.3.3.1 Het Samba configuratiescript smb.conf............................................. 31
3.3.3.2 Aanmaken van de gebruikte directories, groepen en gebruikers ... 35
3.3.4 Mounten van Samba shares op een Linux cliënt ..................................... 37
3.4 Squid ................................................................................................................... 38
3.4.1 Toegangscontrole ....................................................................................... 38
3.4.2 Squid Configureren..................................................................................... 40
3.4.5 Log Bestanden ............................................................................................ 41
3.4.6 Squid Configuratie met Webmin ............................................................... 41
3.5 Firewall................................................................................................................ 43
3.5.1 Packet filter .................................................................................................. 44
3.5.2 Stateful Packet Filter................................................................................... 45
3.5.4 Application level gateway .......................................................................... 46
3.5.5 IPTables ....................................................................................................... 46
3.5.6 Firewall Rules .............................................................................................. 48
3.5.7 iptables configureren met Webmin ........................................................... 48
Hoofdstuk 4: Apache Webserver ............................................................................... 50
Hoofdstuk 5: Configuratie van de Mailserver ........................................................... 52
5.1 Een standalone, Dedicated e-mail Server ....................................................... 53
5.2 OpenExchange is meer dan een mailserver ................................................... 55
5.3 Kosten................................................................................................................. 58
Hoofdstuk 6: Linux op werkstation............................................................................ 59
6.1 Mandrake Linux ................................................................................................. 59
6.2 Red Hat Linux & Fedora Core ........................................................................... 60
6.3 Debian Linux ...................................................................................................... 60
6.4 SuSE Linux ......................................................................................................... 61
6.5 Vergelijking......................................................................................................... 62
Conclusie ..................................................................................................................... 63
Bronvermelding ........................................................................................................... 65
Bijlagen......................................................................................................................... 67
Bijlage 1: DHCP server ............................................................................................ 68
Bijlage 2: Caching nameserver .............................................................................. 69
Bijlage 3: Voorbeeld example.com ........................................................................ 70
Bijlage 4: Samba ...................................................................................................... 71
Bijlage 6: MS Project schema ................................................................................. 76
Bijlage 7: Projectverloop ......................................................................................... 77
Register ........................................................................................................................ 78
Linux in een netwerkomgeving
Pagina 4
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Linux in een netwerkomgeving
Pagina 5
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Samenvatting
Linux is ontstaan als een afgeleide van de UNIX kloon Minix. Een van de belangrijkste
redenen waaraan Linux zijn succes te danken heeft, is dat het het eerste open
besturingssysteem is dat multitasking- en multiprocessing mogelijkheden voor
meerdere gebruikers ondersteund. Tevens ondersteunt Linux pre-emptive multitasking
zodat processen een gelijk deel van de processortijd toegewezen krijgen. Daarnaast is
de broncode van Linux vrij beschikbaar.
Het hart van Linux is de Linux kernel. De kernel levert de basisfunctionaliteit en is
modulair opgebouwd. Op deze manier is het mogelijk een ideale kernel te bouwen voor
een systeem met alleen die componenten die het besturingsysteem nodig heeft en de
rest weg te laten.
Boven de kernel bevindt zich de shell. De shell is verantwoordelijk voor het juist
interpreteren van de door de gebruiker ingegeven commando’s. Er zijn voor Linux
verschillende shells beschikbaar waarvan de Bash-shell het meest wordt toegepast.
Boven de shell bevindt zich X, deze is onderverdeeld in twee delen: de X-servers die
verantwoordelijk zijn voor de aansturing van de grafische kaart en de X-cliënts waarop
door de gebruiker gewerkt kan worden. X heeft één nadeel, het biedt geen
functionaliteit voor het beheer van vensters. Dit nadeel wordt opgeheven wanneer
gebruik wordt gemaakt van Window managers. Deze Window managers maken het
mogelijk om vensters te vergroten, verkleinen en dat er een menu wordt weergegeven
om programma’s te starten. Een uitbreiding van een Window manager is een desktop
environment. Deze voorzien in een universele interface waarmee gewerkt kan worden.
DHCP maakt het mogelijk dynamische IP-adressen toe te wijzen aan werkstations. De
Linux DHCP server is DHCPD. Het configuratiebestand bevindt zich in de directory
/etc/dhcpd.conf. De DHCP server houdt een lease database bij van cliënts die een IPadres hebben toegewezen gekregen.
DNS is een systeem waarin gegevens over domeinnamen worden opgeslagen. DNS is
een flexibel, hiërarchisch, gedistribueerd en redundant systeem. DNS is opgebouwd uit
zones, die elk één of meerdere subdomeinen kunnen bevatten.
Om Linux netwerkbronnen te delen met (hoofdzakelijk) Windows cliënts kan gebruik
worden gemaakt van Samba. Samba is een open source implementatie van Server
Message Block en Common Internet File System. Met Samba is het mogelijk een
Primairy Domain Controller te bouwen. Dit levert diverse voordelen voor de
netwerkclients. De cliënts kunnen zo volstaan met een enkele aanmelding voor diverse
services zoals: fileserver, firewall, proxy server, enz.
Wanneer op een veilige manier op een netwerk een Internet verbinding gedeeld moet
worden, kan gebruik worden gemaakt van een proxy server. De proxy server die bij
Linux wordt meegeleverd is SQUID. SQUID is een softwarepakket dat zowel proxy, http
caching, ftp, SSL, toegangscontrole, enz. ondersteunt. Om SQUID te configureren kan
gebruik worden gemaakt van de beheerderstool ‘Webmin’. Dit programma biedt vele
functionaliteiten in een webbased interface.
Firewalls zorgen voor een scheiding tussen het Internet en het interne bedrijfsnetwerk.
De firewall die bij Linux wordt meegeleverd is IPtables. IPtables bestaat uit twee delen,
Linux in een netwerkomgeving
Pagina 6
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
de kernzijde (draait in de kernel) en de gebruikerszijde. Ook IPtables is te configureren
met Webmin.
Als een bedrijf zelf een Internet pagina wil hosten moet deze in het bezit zijn van een
webserver. De Linux webserver is het veelgebruikte Apache. Deze is zeer eenvoudig in
te stellen. De standaardinstellingen zijn goed te gebruiken voor een eenvoudige
webserver. Een enkele instelling dient verandert te worden, waaronder de locatie van
de website op de harde schijf en het bestand dat automatisch moet worden opgestart
wanneer een gebruiker op de website komt.
Voor veel bedrijven is communicatie van essentieel belang. Om deze reden wordt vaak
gekozen voor groupware pakketten zoals Exchange van Microsoft of Groupwise van
Novell. Echter een bedrijf kan ook voor de Linux distributie van SuSE kiezen. Dit heet
SuSE Linux OpenExchange server en heeft een goede overzichtelijke beheers- en
gebruikersinterface die veel functionaliteiten bevat.
Een bedrijf kan er voor kiezen Linux als server te draaien maar kan nog een stap verder
gaan door ook Linux te passen op werkstations. Bij werkstations is het belangrijk op de
gebruiksvriendelijkheid en betrouwbaarheid te beoordelen. Er worden een viertal
distributies vergeleken, respectievelijk: Mandrake, Red Hat, Debian en SuSE. Wanneer
puur een vergelijking wordt gemaakt tussen de Linux distributies kan op dit moment het
best gekozen worden voor Red Hat Linux. Deze keuze is gebaseerd op de feiten dat er
veel support voor Red Hat wordt gegeven, er goede documentatie te vinden is op
Internet en een goed pakket aan software wordt meegeleverd. Wanner Linux wordt
vergeleken met Windows dan moet in de meeste gevallen Windows als winnaar
worden aangewezen. Dit komt doordat veel software voor Windows is geschreven en
niet op Linux draait. Pas wanneer voldoende software voor Linux beschikbaar komt,
kan hier verandering in komen.
Linux in een netwerkomgeving
Pagina 7
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Inleiding
Dit verslag is geschreven in het kader van een afstudeeropdracht voor de AVANS
hogeschool en voor het bedrijf ICTivity.
ICTivity wil zich, om op de marktontwikkelingen te kunnen inspelen, in Linux
specialiseren. En dan voornamelijk in SuSE Linux. Deze distributie is onlangs belangrijk
geworden voor ICTivity omdat Novell deze Linux distributie eind 2003 heeft
overgenomen en een groot deel van deze Linux versie gaat gebruiken in toekomstige
productlijnen. Hoewel het economische belang van ICTivity bij SuSE Linux ligt, is er
toch voor gekozen om voor dit onderzoek hoofdzakelijk gebruik te maken van Red Hat.
Veel software en documentatie is op dit moment geschreven voor deze distributie.
Uiteindelijk zullen de verschillen tussen Red Hat en SuSE niet zo groot zijn en is het
eenvoudig om, wanneer er meer software beschikbaar komt voor SuSE, de inhoud van
dit verslag om te zetten voor gebruik met SuSE
Door een “onderzoek te doen over Linux” zijn de medewerkers van ICTivity in staat om
zich de kennis over dit besturingssysteem snel en gemakkelijk eigen te maken. Er zijn
binnen het bedrijf maar een beperkt aantal medewerkers die zich specialiseren in Linux.
Het doel van dit verslag is om informatie van velerlei bronnen samen te voegen tot een
overzichtelijk goed gedocumenteerd naslagwerk waarmee een engineer snel basic
informatie kan vinden over Linux en de mogelijkheden hiervan. De engineer kan zien
waar verschillende commandoregels in een script voor staan zonder hiervoor lange tijd
op Internet te hoeven zoeken. Dit verslag zal onder de engineers die in het Linux-traject
zitten worden gedistribueerd.
Het verslag is verdeeld over twee delen; In het eerste deel wordt Linux op een server
besproken en in het tweede deel Linux op het werkstation.
De opbouw van dit verslag is als volgt. In hoofdstuk 1 wordt een inleiding gegeven wat
Linux is en hoe het is ontstaan. Vervolgens wordt in hoofdstuk 2 ingegaan op de
configuratie van de standaard Linux services zoals: DNS, DHCP, Samba
bestandsdeling, SQUID proxy server en Firewall. In de hoofdstukken 3 en 4 wordt de
configuratie van externe programma’s op Linux behandeld.
Nadat de configuratie van een Linux server is besproken wordt in hoofdstuk 5 verder
ingegaan op Linux op het werkstation. Hierin wordt behandeld welke distributie het best
te gebruiken is, of Linux gebruiksvriendelijk genoeg is en of het toepasbaar is op het
werkstation. In de conclusie is te lezen wat de uiteindelijke uitkomst van dit onderzoek
is.
Linux in een netwerkomgeving
Pagina 8
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk1: Doelstellingen en Planning
Doelstelling
Het doel van dit project is om documentatie op te leveren over Linux in
netwerkomgevingen. In deze documentatie worden de volgende functionaliteiten
behandeld.
Server:
 DNS
 DHCP
 Fileserver
 Router
 Internet server
 Proxy
 Domain Controller
 Mailserver
 Alternatief voor ZENworks.
Werkstation:
 Alle bovengenoemde Cliënts die nodig zijn om op de server te kunnen werken,
 Oordeel over de hoeveelheid software in de distributie,
 Oordeel over gebruiksvriendelijkheid ten opzichte van Windows.
Er zijn voor dit project een aantal tussendoelen te formuleren:





Vergelijking kunnen maken op basis van gevonden bronnen welke Linux
distributie het meest geschikt is voor op server/werkstation
Genoeg kennis van Linux inwinnen om zodoende Linux te kunnen configureren
Maken conceptverslag met beschikbare informatie
Uitwerken eindverslag met alle beschikbare informatie
Presentatie over Linux in Netwerkomgeving
Het onderwerp Linux is onlangs relevant geworden voor bedrijven in de ICT-sector
nadat bekend is geworden dat Novell, Suse Linux heeft overgenomen. Linux zal
hierdoor over niet al te lange tijd een belangrijke speler gaan worden binnen de ICT
wereld.
Op het eind van dit project is het op te leveren product hoe en of een netwerk kan
worden opgebouwd met Linux met alleen software die op Linux draait. Tevens wordt
ook gekeken wat de mogelijkheden van Linux zijn.
Linux in een netwerkomgeving
Pagina 9
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Projectgrenzen
Er zal een beschrijving worden gemaakt over de volgende onderwerpen:
 Hoe is Linux ontstaan,
 Wat is Linux
 Linux op server: Configuratie van Linux met functionaliteiten (DNS, DHCP,
router, webserver, proxy server, mailserver, vervanging voor ZENworks.
 Linux op een werkstation: configuratie voor cliënt van alle bovenstaande
functionaliteiten, gebruiksvriendelijkheid, toepasbaarheid.
De Linux distributies die voor de server zullen worden onderzocht, zullen beperkt blijven
tot de twee grote spelers op de Linux markt, namelijk:


Suse
Red Hat
Voor Linux op het werkstation is er een grotere selectie gemaakt, namelijk:




Suse
Red Hat
Mandrake
Debian
Linux in een netwerkomgeving
Pagina 10
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Planning
Onderstaand schema geeft de planning weer die oorspronkelijk in het Project
Management Document is geplaatst. De dikgedrukte punten zijn de mijlpalen. Het MS
Project schema is te vinden in bijlage 6.
Invullen opdrachtformulier
Planning
Uitwerken projectplan
Inleveren Projectplan
Informatie verzamelen
Uitwerken Voortgangspresentatie
Voortgangspresentatie
Maken Tussenverslag
Inleveren tussenverslag
Info verzamelen, analyseren,
uitwerken en testen
Maken Conceptverslag
Inleveren Conceptverslag
5 days
5 days
6 days
1 day
26-1-004
2-2-2004
9-2-2004
17-2-004
30-1-2004
6-2-2004
16-2-2004
17-2-2004
19 days 17-2-2004 12-3-2004
5 days 15-3-2004 19-3-2004
22 days 1-3-2004 30-3-2004
15 days 22-3-2004
1 day
9-4-2004
9-4-2004
9-4-2004
23 days 12-4-2004 12-5-2004
10 days 13-5-2004 26-5-2004
1 day 26-5-2004 26-5-2004
Uitwerken Concept tot Eindverslag
Inleveren Eindverslag
11 days 27-5-2004 10-6-2004
1 day 10-6-2004 10-6-2004
Uitwerken Afstudeerpresentatie
Presentatie en Verdediging
afstudeerproject
12 days 11-6-2004 28-6-2004
1 day
28-6-2004
Tabel 1.0.1: Planning
Linux in een netwerkomgeving
Pagina 11
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk 2: Introductie Linux
Linux is ontstaan als een afgeleide van het besturingssysteem UNIX. Om het ontstaan
van Linux goed te kunnen plaatsen, wordt eerst kort aandacht besteed aan de
ontstaansgeschiedenis van UNIX. In het project is ook de keuze gemaakt om met het
algemene Linux gedeelte te beginnen. Dit is gedaan om zo Linux te leren kennen en
begrijpen. De informatie uit dit hoofdstuk kan dan ook worden toegepast op alle grote
Linux distributies.
2.1 UNIX
In 1969 begon op een afgeschreven DEC-computer in een laboratorium van BellTelephone de ontwikkeling van het besturingssysteem UNIX. Oorspronkelijk was dit
een project van het Massachusetts Institute of Technology (MIT), AT&T Bell Labs en
General Electric om een flexiebel en interactief besturingssysteem te ontwikkelen voor
de GE 635 mainframecomputer. Naast flexiebel en interactief moest dit systeem ook
veilig zijn en moest het eenvoudig zijn om informatie uit te wisselen. Ken Thompson en
Dennis Ritchie waren de personen die aan het besturingssysteem werkten. Na veel
tegenslagen was uiteindelijk in 1970 de eerste versie van UNIX beschikbaar. Nadat
deze versie was verschenen, werd het project in het laboratorium van Bell voortgezet.
De tweede release van UNIX werd beschikbaar gesteld, met als belangrijkste
vernieuwing een aantal mogelijkheden voor documentprocessing. Veel van deze
onderdelen worden nog steeds gebruikt in de UNIX versies van tegenwoordig.
De broncode van UNIX was in het begin in principe vrij en dat had zo zijn gevolgen. In
1972 waren er al tien verschillende varianten in omloop. In 1973 werd te kern van het
UNIX besturingssysteem (de kernel) herschreven in een voorloper van de huidige
programmeertaal C. Hiermee werd het systeem tot wat het nu in nog steeds is. Het
besturingssysteem won snel aan populariteit omdat het in tegenstelling tot alle andere
besturingssystemen compact was geschreven in een goed te begrijpen
programmeertaal. Daarbij bevatte UNIX een aantal succesvolle nieuwe ideeën en werd
het niet geheim gehouden. Doordat UNIX geschreven werd in de programmeertaal C,
was het eenvoudig voor de programmeurs om er een toepassing voor te schrijven.
Deze toepassingen werden vaak later aan de officiële versie van UNIX toegevoegd.
In 1974 kregen een aantal universiteiten toestemming om UNIX voor onderwijsdoelen
te gebruiken. Een van de eerste universiteiten die het besturingssysteem toepaste, was
de universiteit van Californië in Berkeley. Even later kwam het ook beschikbaar voor
commercieel gebruik. In die tijd werd UNIX onder andere al veel gebruikt voor de
ondersteuning van het telefoonverkeer in de laboratoria van Bell-Telephone.
Linux in een netwerkomgeving
Pagina 12
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Vanaf de 1975 ontwikkelde UNIX zich snel. Er verschenen veel verschillende UNIX
dialecten van verschillende bedrijven en UNIX vond op veel terreinen zijn toepassing.
Op veel plaatsen waar computerkracht nodig was en ook waar mainframes groot
waren, werd het besturingssysteem massaal toegepast. Zo werd UNIX het
besturingssysteem waarmee raketten de ruimte in geschoten konden worden, waarmee
de kern van het vroege Internet (ARPAnet) gebouwd werd en waar vele bedrijven hun
voorraden mee beheerden. Tegenwoordig wordt UNIX gebruikt op veel computers over
de hele wereld, variërend van lichte Personal Computers (PC) tot grote
supercomputers.
Wat is UNIX nu eigenlijk? Deze vraag kan op twee manieren worden beantwoord: in de
enge zin en in de ruime zin. In de enge zin is UNIX de kern van een besturingssysteem,
die ervoor zorgt dat er met de computer gewerkt kan worden, dat programma’s gebruik
kunnen maken van de faciliteiten die de computer biedt zoals printers en harde
schijven. In de ruimere zin is UNIX niet alleen de kern van een besturingssysteem,
maar ook alle daarmee samenhangende programma’s die het werken met dit
besturingssysteem makkelijker maken. Hierbij kan worden gedacht aan programma’s
die gebruikt worden voor het bewerken van bestanden of voor het beheer van
gebruikers.
Er bestaat echter niet één UNIX. Er bestaan vele tientallen UNIX versies. Deze zijn
afgeleid van één van de twee oer UNIX versies, namelijk het Berkeley Software
Distribution (BSD) of System V. De laatste tijd heeft het aandeel van System V sterk
aan terrein gewonnen ten opzichte van BSD UNIX. In de praktijk komt het erop neer dat
er twee verschillende hoofdversies van UNIX zijn, elk met hun eigen bijzonderheden en
met zijn eigen commandoset. Deze verschillen zijn ook, hetzij in mindere mate, ook te
onderscheiding in de verschillende Linux distributies.
2.2 Linux
Linux is een besturingssysteem dat ooit is begonnen als een verbetering van de puur
voor educatieve doeleinden gebruikte UNIX-kloon Minix. Het is vanaf het eerste begin
ontworpen als “gratis” besturingssysteem; dat wil zeggen: een besturingssysteem
waarvan de broncode gratis kan worden gedownload. Er wordt hier dan ook niet
gesproken over een gratis besturingssysteem maar over een open source
besturingssysteem. Linux is oorspronkelijk ontwikkeld de student Linus Torvalds uit
Finland, om gebruikt te worden op de Intel 80386 processor. Tegenwoordig wordt er
door honderden programmeurs over de hele wereld gewerkt aan de ontwikkeling van
Linux.
Linux in een netwerkomgeving
Pagina 13
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Een van de belangrijkste redenen waaraan Linux zijn succes te danken heeft, is dat het
het eerste open besturingssysteem is, dat multitasking- en multiprocessing
mogelijkheden voor meerdere gebruikers op het PC platform ondersteunt. Daarnaast is
de broncode van Linux en de meeste programma’s die erop gebruikt worden vrij
beschikbaar. Op die manier kan iedereen er aanpassingen op schrijven en juist doordat
iedereen mee kan werken aan de ontwikkeling van Linux, is het een van de meest
stabiele besturingssystemen die er bestaan.
Zoals alle besturingssystemen van tegenwoordig ondersteunt Linux pre-emptive
multitasking. Dit betekend dat meerdere programma’s tegelijkertijd gebruik kunnen
maken van de processor (CPU), waarbij elk proces een gelijk deel van de processortijd
krijgt toegewezen. Het besturingssysteem heeft echter altijd de gelegenheid om in te
grijpen. Naast deze mogelijkheid ondersteunt Linux ook computers met meerdere
processors (symmetric multiprocessing). Dit zorgt ervoor dat op een computer met
meerdere processors verschillende actieve processen gelijktijdig gebruik kunnen
maken van de functies die door het besturingssysteem beschikbaar worden gesteld. Dit
maakt Linux tot een geschikt besturingssysteem voor servers.
Door de mogelijkheid die Linux biedt om meerdere taken en processen gelijktijdig af te
handelen, is het ook mogelijk om meerdere gebruikers tegelijkertijd te bedienen. Naast
multiprocessing en multitasking is Linux ook multiuser. Meerdere gebruikers kunnen
gelijktijdig gebruik maken van de systeembronnen van een Linux-computer. Hierbij
levert Linux een goede vorm van beveiliging door middel van permissies. Ook dit
aspect maakt Linux zeer geschikt als besturingssysteem voor servers.
2.2.1 De kernel
Het hart van Linux is de Linux kernel. De kernel is het deel van het besturingssysteem
dat de basisfunctionaliteit levert die nodig is voor de werking van andere delen van het
besturingssysteem. Hierbij moet onder andere gedacht worden aan het aansturen van
hardware. De Linux kernel onderscheidt zich hierin van andere kernels door de
aanwezigheid, en soms afwezigheid, van ondersteuning van bepaalde hardware
componenten in de computer. Deze ondersteuning wordt geleverd in de vorm van
modulaire stuurprogramma’s. Dit betekend dat ze wel geladen kunnen worden maar dit
niet noodzakelijk is wanneer dit niet nodig is.
De ideale Linux kernel zou een verzameling zijn van exact die modules die nodig zijn
om de hardware in de computer te ondersteunen. Dit betekend dat iedereen een eigen
kernel op maat kan maken, waarin precies de ondersteuning zit voor de componenten
die in een bepaalde situatie nodig zijn. Wanneer ervoor wordt gekozen een eigen kernel
te maken, betekend dit dat er een kernel ontstaat van kleine omvang met maximale
prestaties. Dit is dan ook precies de reden waarom Linux zo populair is geworden op
allerlei apparaten, zoals telefoons, GPS-systemen en besturingssystemen op servers.
Linux in een netwerkomgeving
Pagina 14
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Er zijn twee soorten kernels:
 Ontwikkelkernels kunnen worden herkend door het oneven getal op de tweede
positie van het versienummer.
 Stabiele kernels hebben een even getal op de tweede positie.
Er dient voor gezorgd te worden dat er in productiesystemen altijd gebruik wordt
gemaakt van een stabiele kernel.
2.2.2 De shell
De shell is het deel van het besturingssysteem dat ervoor zorgt dat de commando’s die
door de gebruikers worden ingegeven, op de juiste wijze worden geïnterpreteerd.
Daarnaast levert de shell de tekstgeoriënteerde interface waarmee de gebruiker kan
werken. Er kan gesteld worden dat de shell ervoor zorgt dat een gebruiker niet al te
ingewikkelde commando’s aan de kernel kan doorgeven.
Voor het Linux platform zijn meerdere shells beschikbaar. De meest gebruikte shell is
bash (Bourne Again SHell). Dit is een verbetering van de Bourne shell, die op het UNIX
platform veel wordt gebruikt. Andere shells die gebruikt kunnen worden zijn: tc-shell
(tcsh) en de pdk-shell (pdksh). Dit zijn verbeterde shells die ook op het UNIX platform
gebruikt worden. Standaard wordt in de meeste distributies gebruik gemaakt van de
bash shell. Als er meerdere gebruikers zijn ingelogd krijgt iedere gebruiker zijn eigen
shell. Ook kan per gebruiker worden ingesteld welke shell zij moeten gebruiken.
Figuur 2.2.2.1: De componenten van het besturingssysteem
Linux in een netwerkomgeving
Pagina 15
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
2.2.3 X en Window Managers
Een volgend onderdeel dat bijna altijd wordt meegeleverd met Linux is X. X levert Xservers die zorgen voor de aansturing van de grafische kaart van een computer. Deze
servers maken het mogelijk een grafische interface op de computer actief te hebben.
Daarnaast zijn er de X-cliënts: de programma’s waarmee gewerkt wordt op de Xserver. De X-cliënts kunnen zich op dezelfde computer als de X-server bevinden, maar
ook op een andere computer in het netwerk. Deze manier van werken levert onder
andere op, dat het niet uitmaakt of er op een netwerk of op een stand-alone computer
wordt gewerkt.
Een afgeleide van X is XFree86, een project met als doel een X-implementatie te
leveren voor de PC. XFree86 wordt onderhouden door het XFree86 project. Op bijna
alle Linux-systemen wordt gebruik gemaakt van X-servers en cliënts die afkomstig zijn
van het XFree86 project.
Een nadeel van X zoals die was ontwikkeld is, dat X zelf geen functionaliteit heeft voor
het beheer van vensters. Na het opstarten laat een X-server alleen maar een zwart-wit
gestippelde achtergrond zien met daarop één enkel venster. Daarom wordt ook gebruik
gemaakt van Window Managers. Een Window Manager zorgt er voor dat vensters
groter of kleiner gemaakt kunnen worden en dat er een menu wordt weergegeven
waarmee programma’s opgestart kunnen worden.
Dit komt het erop neer dat X en de Window Manager voorzien in een grafische
interface. Een voordeel van deze combinatie is dat de gebruiker niet meer alle
commando’s hoeft te kennen maar de beschikbare functies gewoon kan aanklikken.
Linux in een netwerkomgeving
Pagina 16
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 2.2.4.1: De shell
Er zijn veel Window Managers beschikbaar, van zeer weinig tot heel uitgebreid in
omvang en functionaliteit. Bijna alle Window Managers zijn ook beschikbaar gesteld
onder de condities van de GPL (zie paragraaf 1.2.4). Naast Window Managers zijn er
ook nog de desktop environments. Een desktop environment is een uitbreiding op een
Window Manager. Het nut van een desktop environment is het voorzien van een
universele interface waarmee gewerkt kan worden. Dit betekend dat een desktop
environment programma’s bevat die binnen de grafische omgeving gebruikt kunnen
worden. Bij een desktop environment worden library bestanden meegeleverd, dit zijn
bestanden met uitvoerbare code die door verschillende programma’s gedeeld kunnen
worden. De twee belangrijkste desktop environments die veel worden gebruikt zijn KDE
en Gnome. In afbeelding 1.2.4.2 is de desktop environment KDE te zien.
Linux in een netwerkomgeving
Pagina 17
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 2.2.4.2: Werken met een desktop environment
2.2.4 GNU
Elke Linux installatie maakt vaak gebruik van de zogenoemde GNU utilities. De
afkorting GNU staat voor “GNU, not UNIX”, waarmee bedoeld wordt dat het om
dezelfde tools gaat maar dat er niet voor betaald hoeft te worden. Dit zijn programma’s
die beschikbaar zijn gesteld onder de condities van de GNU General Public Licence
(GPL). De GPL is samengesteld op initiatief van de Free Software Foundation (FSF),
die als doel heeft gratis software beschikbaar te stellen. De belangrijkste eis die wordt
gesteld aan GPL software is dat alle software door iedereen gebruikt, gekopieerd en
veranderd mag worden zolang de aanpassingen ook weer beschikbaar worden gesteld
onder de GPL. Dit zorgt ervoor dat de software altijd gratis blijft nadat het ooit
beschikbaar is gesteld door de GPL.
Behalve dat het mogelijk is om programma’s beschikbaar te stellen onder de condities
van de GPL, werkt de FSF zelf ook aan programma’s die vervolgens weer beschikbaar
worden gesteld onder de termen van de GPL. De FSF kan dit doen dankzij sponsors
die geld beschikbaar stellen. De meeste van de utilities ontwikkeld door FSF lijken veel
op de software waar wel voor betaald moet worden. In het algemeen kan worden
gesteld dat de belangrijke UNIX commando’s waardoor het werken met de Linux kernel
iets eenvoudiger wordt, beschikbaar zijn gesteld door de GPL.
Linux in een netwerkomgeving
Pagina 18
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
2.2.5 Beschikbaarheid van Linux
Linux is gratis beschikbaar. Er zijn echter verschillende manieren om aan een Linux
installatie te komen. De eerste manier is het zelf samenstellen van een Linux distributie.
Dit valt echter niet mee en valt buiten het bestek van dit verslag maar meer informatie is
te vinden op: http://lfs.pagefault.net/lfs/news.html.
De tweede manier is een kant en klare distributie downloaden van het Internet. Dit is
echter vaak een beperkte versie. Toch is in eerste instantie hiervan gebruik gemaakt
om zo de verschillen tussen de verschillende distributies te ontdekken. Vervolgens zijn
de Linux distributies die het meest toepasbaar zijn gebleken aangeschaft om van de
volledige functionaliteit gebruik te kunnen maken. Een Linux distributie kopen kost niet
veel en is geen beperkte versie. Vaak worden diverse zaken bijgeleverd zoals:
ondersteuning en een handleiding. De twee grootste distributies zijn: Red Hat en SuSE.
2.2.5.1 SuSE
SuSE levert de meest uitgebreide van alle Linux distributies. Waar bij andere
distributies maar twee of drie CD’s worden meegeleverd, levert SuSE er zeven en
daarnaast ook nog een DVD. Dit heeft als nadeel dat een uitgebreide installatie vrij veel
tijd kost. SuSE blinkt uit door het uitgebreide installatiehandboek dat wordt
meegeleverd. Door de geautomatiseerde installatieprocedure is SuSE Linux geschikt
voor beginnende gebruikers.
2.2.5.2 Red Hat
Een van de populairste distributies op dit moment is Red Hat Linux. Red Hat levert een
geïntegreerd pakket met een installatieprogramma dat weinig toelichting nodig heeft.
Hierdoor is ook Red Hat Linux geschikt voor beginnende gebruikers. Een van de
belangrijkste zaken afkomstig van Red Hat, is de Red Hat Package Manager, die door
veel distributies gebruikt wordt om de installatie van software eenvoudiger te maken.
Een ander interessant feit is dat Red Hat contact heeft met veel grote computer- en
softwarefabrikanten om de productlijn zo goed mogelijk af te stemmen.
Linux in een netwerkomgeving
Pagina 19
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
2.2.5.3 Toelichting platformkeuze voor server
Voordat met dit project is begonnen, is de keuze gemaakt om alleen de twee grootste
Linux distributies te onderzoeken. Deze keuze is gemaakt omdat deze de meeste
support geven aan bedrijven. Red Hat biedt zelfs cursussen aan waarvoor een
certificering kan worden behaald. Dit heeft als voordeel, dat er gecertificeerde
engineers zijn die problemen met Red Hat bij bedrijven op professionele wijze kunnen
analyseren en oplossen.
Het economische belang van ICTivity zal in de toekomst echter bij de SuSE distributie
liggen. Dat komt doordat Novell SuSE heeft overgenomen en er daardoor meer
enterprise georiënteerde producten op de markt zal brengen. Tevens komt Novell eind
van dit jaar met een Netware versie die volledig onder Linux draait. Hierdoor is de keus
gemaakt om te beginnen met het testen van de SuSE distributie.
Doordat SuSE onder leiding van Novell pas net is begonnen zich op de enterprise
markt te wagen, is veel enterprise software nog niet geschreven voor SuSE Linux. Er is
wel software beschikbaar maar lang niet zoveel als voor Red Hat Linux dat zich al sinds
jaar en dag op de enterprise markt bevind. Dit heeft als nadeel dat er zeer weinig
documentatie en oplossingen te vinden zijn van de enterprise software onder SuSE.
Nadat deze conclusie was getrokken, werd een nieuwe Red Hat 9 installatie uitgerold.
Zoals juist al vermeldt is voor Red Hat veel meer software beschikbaar dan voor SuSE.
Onder deze software vallen DHCP servers, DNS servers en Samba servers. Deze
programma’s zijn van groot belang voor de voortgang van dit onderzoek. Dit was één
van de doorslaggevende factoren om in het vervolg van dit onderzoek gebruik te
maken van Red Hat. Een ander groot voordeel dat gaandeweg dit onderzoek is
gebleken, is het feit dat voor Red Hat veel meer documentatie op Internet te vinden is
met betrekking tot problemen, installatie en configuratie van software.
Linux in een netwerkomgeving
Pagina 20
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk 3: Configuratie van Linux
Er wordt van uitgegaan dat de installatie van Linux geen problemen met zich
meebrengt. Alle stappen die tijdens de installatie moeten worden doorlopen hebben niet
veel toelichting nodig. Bij een server is vooral de betrouwbaarheid en performance een
belangrijk gegeven. In dit hoofdstuk wordt ingegaan op het configureren van een aantal
standaard Linux onderdelen zoals DHCP, DNS, Samba en SQUID. In deze volgorde
zijn deze services ook geconfigureerd in de loop van het project. Hiervoor is gekozen
om eerst vertrouwd te raken met de standaard Linux services.
3.1 DHCP
Tijdens dit project is er voor gekozen om te beginnen de DHCP server te
configureren. Dit zorgt ervoor dat het netwerk geconfigureerd is.
DHCP is eigenlijk de afkorting van Dynamic Host Configuration Protocol. Dit protocol
zorgt ervoor dat er dynamisch IP-adressen aan cliënt werkstations worden
toegekend. Wanneer gebruik gemaakt wordt van DHCP kan een apparaat iedere
keer dat verbinding wordt gemaakt met het netwerk een ander IP-adres krijgen. Dit is
niet altijd gewenst, daarom ondersteund het DHCP protocol een mix van statische en
dynamische IP-adressen.
Om een DHCP server te configureren wordt bij Linux standaard gebruik gemaakt van
het programma DHCPD. Het configuratiescript van dit programma bevindt zich in de
directory /etc/dhcpd.conf.
3.1.1 Configuratie bestand
De eerste stap die gezet moet worden om de DHCP server te configureren is het
aanmaken van een script, waarin netwerk informatie voor de cliënts staat. Dit bestand
bestaat uit twee secties, namelijk het globale gedeelte en het share gedeelte.
In het globale deel staat de configuratie die geldt voor alle cliënts, in het share gedeelte
kunnen zaken staan die gelden voor één of groep computers of gebruikers. Wanneer
een optie in zowel het globale als in het share gedeelte voor komt, zal de optie in het
share gedeelte altijd dominant zijn ten opzichte van de optie in het globale gedeelte.
Binnen het configuratiescript kunnen twee verschillende statements worden toegepast
namelijk:


Parameters: deze geven aan hoe een taak moet worden uitgevoerd, of welke
netwerk configuratie opties er naar de cliënt worden verzonden.
Declaraties: deze leveren een beschrijving van het netwerk, beschrijving van de
clients, leveren IP-adressen aan de clients of leveren een groep van parameters
naar een groep van declaraties.
Linux in een netwerkomgeving
Pagina 21
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Sommige parameters moeten beginnen met het woord “option”. Deze parameters
configureren DHCP opties en moeten dus niet worden geïnterpreteerd als opties
waarvan de cliënt zelf mag bepalen of ze worden uitgevoerd.
Hieronder zullen de stappen die niet standaard goed staan worden behandeld. De rest
van het script kan gewoon standaard blijven. Hiervoor is gekozen om de lezer niet te
overladen met stukken code. Het volledige script kan worden gevonden in bijlage 1.
Allereerst moet een DNS parameter worden opgenomen in het configuratiescript. Deze
parameter configureerd of de DHCP server gebruik moet maken van dynamische DNS.
Zonder deze parameter zal de DHCP server nooit starten en zal een fout genereren. Er
zijn sinds de laatste versie drie verschillende mogelijkheden namelijk: “ad-hoc”, “interim”
en “none”. De “ad-hoc” methode is een oude methode en verdient niet meer de
voorkeur.
Omdat straks gebruik wordt gemaakt van een DNS server dient de waarde ‘interim’ aan
het commando te worden meegegeven. Hierdoor wordt de hostnaam automatisch
doorgegeven aan het DNS systeem.
ddns-update-stye interim;
Omdat de Linux server op dit moment beschikt over twee netwerkkaarten, zal ook
aangegeven moeten worden op welke netwerkkaart(en) de DHCP server actief moet
zijn. Dit om conflicten met andere netwerken te voorkomen. Daarom wordt
onderstaande regel aan het configuratiescript toegevoegd:
DHCPDARGS=eth1
Hierdoor wordt aangegeven dat de DHCP server alleen actief is op de tweede
ethernetkaart namelijk: eth1.
Vervolgens kan de leasetijd worden aangegeven. De leasetijd geeft aan na welke tijd
het IP-adres van een (ooit eerder aangemeld) werkstation verloopt en het dus weer
wordt vrijgegeven voor andere werkstations. Deze tijd moet worden opgegeven in
seconden.
Vervolgens moet worden geconfigureerd binnen welk subnet en subnetmasker de
DHCP server zijn werk moet doen. Dit kan worden bereikt door de volgende regel in het
script op te nemen:
subnet 192.168.1.0 netmask 255.255.255.0 {
De twee onderstaande regels vertellen de cliënt dat de router zich bevindt op IP-adres
192.168.1.1 en dat het subnetmasker waar het zich in bevindt 255.255.255.0 is.
option routers 192.168.1.1;
Linux in een netwerkomgeving
Pagina 22
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
option subnet-mask 255.255.255.0;
De volgende twee regels geven aan de cliënt door dat deze zich bevindt in het domein
ictivity.demon.nl en dat de DNS server zich bevindt op IP-adres 192.168.1.1.
option domain-name “ictivity.demon.nl”;
option domain-name-servers 192.168.1.1;
Onderstaande regel is misschien wel de belangrijkste van het configuratiescript. Deze
geeft aan tussen welke adressen IP-nummers uitgegeven mogen worden. In het geval
hierboven is dat tussen 192.168.1.20 en 192.168.1.150. Er is dus ruimte voor 130
computers met gelijktijdige netwerktoegang.
range 192.168.1.20 192.168.1.150;
}
De bovenstaande configuratie is gebruikt in de Linux testomgeving. Er is echter nog
mogelijkheid om ervoor te zorgen dat een bepaalde computer iedere keer hetzelfde IPadres krijgt toegewezen. Dit kan in de praktijk erg handig zijn. Dit is eenvoudig te
realiseren door eenvoudig een aantal regels in het script toe te voegen:
host denis {
option host-name “denis.ictivity.demon.nl”;
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.25;
}
Hierin wordt geconfigureerd dat de computer met de DNS naam: denis.ictivity.demon.nl
met het hardwareadres (MAC): 00:A0:78:8E:9E:AA altijd het IP-adres 192.168.1.25
krijgt toegewezen.
3.1.2 lease database
Op de DHCP server in de map /var/lib/dhcpd/dhcp.leases wordt een database
bijgehouden van cliënts die een IP-adres hebben toegewezen gekregen. Dit bestand
mag niet met de hand worden bijgewerkt. De lease informatie van ieder recent
uitgedeeld IP-adres, wordt automatisch opgeslagen in deze database. De informatie
bestaat uit de lengte van de lease, bij welke computer het lease IP-adres thuishoort, de
start- en einddatum van de lease en het MAC adres van de netwerkkaart die om een
IP-adres gevraagd heeft.
De leasedatabase wordt van tijd tot tijd opnieuw opgebouwd zodat het bestand nooit
echt groot kan worden. Eerst worden alle nog geldige leases gekopieerd en
opgeslagen in een tijdelijk bestand. Vervolgens wordt het dhcpd.leases bestand
hernoemd naar dhcpd.leases~. Hierna wordt het tijdelijke bestand met de nog geldige
Linux in een netwerkomgeving
Pagina 23
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
leases hernoemd naar dhcpd.leases. Op deze manier wordt de database eenvoudig
opgeschoond.
Wanneer door een fout tijdens dit proces de DHCP deamon wordt afgesloten of het
systeem vastloopt, is het bestand dhcpd.leases bestand verwijderd, maar nog niet
teruggeschreven. Dit bestand is echter wel nodig om de DHCP server te starten.
Wanneer dit gebeurd mag nooit een nieuw dhcp.leases bestand worden aangemaakt
omdat dan alle oude leases worden verwijderd en dit kan veel problemen veroorzaken.
De oplossing is om het bestand dhcpd.leases~ te hernoemen naar dhcpd.leases en
vervolgens de server te starten. Hoe de DHCP server gestart moet worden wordt
beschreven in de volgende paragraaf.
3.1.3 De DHCP server starten en stoppen
Wanneer de DHCP server voor de eerste maal wordt gestart moet het bestand
dhcpd.leases handmatig worden aangemaakt. Dit kan door het volgende commando in
te typen:
touch /var/lib/dhcp/dhcpd.leases
Nadat het lease bestand is aangemaakt kan de DHCP server worden gestart. Dit kan
door de volgende regel achter de prompt in te typen:
/sbin/service dhcpd start
De opdracht “start” achteraan de regel, kan worden vervangen door “restart” of “stop”.
Dit om de DHCP server opnieuw te starten of geheel te stoppen.
Linux in een netwerkomgeving
Pagina 24
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.2 DNS
3.2.1 Wat is DNS?
Simpel gezegd: Domain Name System (DNS) is het systeem dat ervoor zorgt dat
namen worden omgezet in IP-adressen en IP-adressen weer in namen. Maar dat is iets
te simpel. DNS doet nog veel meer dan dat. Over het algemeen kan gezegd worden er
in DNS gegevens over domeinnamen opgeslagen. Dit kunnen IP-adressen zijn, maar
ook namen van mailservers en zelfs vrije tekst. DNS is een flexibel, hiërarchisch,
gedistribueerd en redundant systeem.




Flexibel: Het is mogelijk om vele soorten informatie op te slaan in DNS.
Hiërarchisch: DNS is georganiseerd vanaf een hoogste punt, de DNS root.
Onder de root liggen de zogenaamde toplevel domeinnamen zoals 'nl', 'com' en
'org'. Daar weer onder liggen de second level domeinnamen zoals 'linux' onder
'org'. Een ook daar weer onder liggen domeinnamen.
Gedistribueerd: elk subdomein kan op zijn eigen nameserver draaien. Het is dus
niet nodig om alle informatie centraal op te slaan.
Redundant: elk domein behoort meerdere nameservers te hebben. De DNS root
heeft er bijvoorbeeld 13 en het domein 'nl' heeft er op het moment van schrijven
7. Kleine en middelgrote domeinen hebben meestal twee nameservers.
DNS is opgebouwd uit zones, die elk één of meerdere (sub)domeinen kunnen bevatten.
3.2.2 Bestandslocaties
De locaties van de bestanden zijn afhankelijk van het al dan niet chrooten van de
server. Dit zorgt voor een grotere beveiliging, maar is iets lastiger op te zetten. Met het
commando chroot wordt de root (hoofddirectory van een bestandssysteem) op een
ander punt gelegd. Alle directories die boven de nieuwe root staan zijn voor gebruikers
niet meer te benaderen. In een normale configuratie zonder chroot gebruiken worden
de volgende bestandslocaties gebruikt:


Configuratie: /etc/named.conf
Zonefiles: /var/named/zones/
Dit is echter sterk afhankelijk van de gebruikte distributie. Over het algemeen is het
verstandig om de voorkeuren van de gebruikte distributie over te nemen, in plaats van
de hier gegeven bestandslocaties.
In een chrooted configuratie worden de volgende bestandslocaties gebruikt:


Configuratie: /var/named/etc/named.conf
Zonefiles: /var/named/zones/
Linux in een netwerkomgeving
Pagina 25
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
In veel setups is het gebruikelijk om zonefiles (bestanden die gegevens bevatten over
domeinen) te plaatsen in /var/named/ en niet in /var/named/zones/. In de praktijk blijkt
dit echter niet handig te werken, vooral wanneer bind chrooted draait (wat uiteraard de
voorkeur heeft, uit veiligheidsoogpunt). Daarom dient de directory aangemaakt te
worden in /var/named/zones.
3.2.3 Caching nameserver
De eerste stap van het opzetten van bind is het opzetten van een zogenaamde caching
nameserver, ook wel recursieve nameserver genoemd. In deze setup gaat de
nameserver op zoek naar gegevens bij andere nameservers.
3.2.3.1 De configuratie
Het configuratiebestand heeft de naam: named.conf. In bijlage 2 is een voorbeeld te
vinden van dit bestand. Vaak kan de standaardconfiguratie die standaard is ingevuld
grotendeels worden overgenomen. Deze configuratie heeft drie bestanden nodig, die
waarschijnlijk al staan in /var/named/. Deze moeten worden verplaatst naar
/var/named/zones/. De bestanden zijn:



root.hint: heet soms ook named.root of db.root
localhost.zone: ook wel db.localhost of db.local
127.0.0.zone: ook wel db.127.0.0 of db.127
Wanneer bind wordt gestart met /etc/init.d/named start, kunnen er wat tests worden
uitgevoerd, namelijk:



host localhost 127.0.0.1: moet opleveren: "localhost. has address 127.0.0.1"
host 127.0.0.1 127.0.0.1: moet opleveren: "1.0.0.127.in-addr.arpa.domain name
pointer localhost."
host nl.linux.org 127.0.0.1: moet opleveren: "nl.linux.org. has address
131.211.28.48"
host is een van de diagnostische tools van bind.
3.2.3.2 Configuratie van werkstations
Nu bind draait, kunnen de werkstations zo geconfigureerd worden dat ze gebruik
maken van de opgezette server. Hiertoe wordt het bestand /etc/resolv.conf als volgt
aangepast:
nameserver 172.16.1.1
Linux in een netwerkomgeving
Pagina 26
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Vaak zal eerst /etc/hosts geraadpleegd worden voor DNS. De “hosts” regel kan
eventueel worden aangepast in het bestand /etc/nsswitch.conf:
hosts:
files dns
3.2.4 Reverse lookups
Meestal is het niet voldoende om een IP-adres te krijgen wanneer een naam wordt
hostnaam wordt ingevuld, anders om is ook noodzakelijk ook het omgekeerde te
kunnen. Dit wordt een reverse lookup genoemd. Omdat aan een IP-adres niet te zien is
tot welke zone deze behoort, is er een speciale zone waarin alle IP-adressen
opgenomen kunnen worden, in-addr.arpa. Het adres wordt geschreven van 'achter
naar voren' en gevraagd aan het DNS-systeem: wanneer de naam niet bekend is maar
wel het IP-adres, bijvoorbeeld 1.2.3.4, dan kan er worden gezocht naar: 4.3.2.1.Inaddr.arpa.
De resource records die namen aan adressen koppelen zijn zogenaamde PTR-records.
Net als bij andere resource records is het hierbij mogelijk dat een IP wijst naar
meerdere namen. In de praktijk gebeurt dat echter zelden en is het feitelijk ook niet
wenselijk.
Zie het voorbeeld in bijlage 3 van example.com.
Het netwerk van example.com is 10.0.x.y. Daarbinnen is een opdeling tussen 10.0.0.x
voor de webservers en dergelijke en 10.0.1.x voor het kantoor. Er is voor gekozen om
de zone 0.10.In-addr.arpa hiervoor te gebruiken. Het was eventueel ook mogelijk
geweest om 10.In-addr.arpa te gebruiken. Die kan meer adressen bevatten, maar is
vaak eerder een nadeel dan een voordeel.
De zonefile in het voorbeeld bevat de reverses van 10.0.0.x en een delegatie naar
ns.office.example.com voor de reverses van 10.0.1.x. Wanneer men de naam wil weten
van 10.0.0.2, dan kan er worden gevraagd aan het PTR-record van
2.0.0.10.I-addr.arpa, waarna als antwoord ns.example.com wordt gegeven.
Wanneer men de naam wil weten van 10.0.1.1 is, dan gaat de nameserver dat vragen
aan ns.office.example.com omdat er een delegatie is opgenomen. Op
ns.office.example.com draait de zone 1.0.10.in-addr.arpa.
Linux in een netwerkomgeving
Pagina 27
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.2.4.1 Reverses opvragen met dig
Dig vraagt altijd letterlijk om de opgegeven resource record, de volgende opdracht zal
bijvoorbeeld het A-record opvragen van 10.0.0.1:
dig 10.0.0.1
De -x optie geeft aan dat dig moet vragen om een PTR-record en dat hij de data
automatisch moet omzetten naar reverse-notatie. De volgende opdracht vraagt om de
PTR-record voor 1.0.0.10.in-addr.arpa:
dig -x 10.0.0.1
Host vraagt wel automatisch om een PTR-record als zijn argument lijkt op een IP-adres.
Linux in een netwerkomgeving
Pagina 28
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.3 Samba
Samba is één van de meest interessante te configureren services van dit project.
Hiervoor is extra tijd genomen omdat de mogelijkheden bijna eindeloos zijn.
Bij veel netwerken wordt gebruik gemaakt van verschillende netwerkprogrammatuur
zoals:
 Linux/Unix
 De vele Windows varianten
 OS/2
 Macintosh
 OS X
 Enz…
Voor de netwerkbeheerder ligt de zware taak om al deze incompatibele
netwerksystemen aan elkaar te knopen. De oplossing biedt zich aan in de vorm van
Samba, dit protocol is compatibel met alle bovengenoemde besturingssystemen. Met
Samba is het mogelijk om bestandsuitwisseling mogelijk te maken onafhankelijk van
het gekozen platform.
Samba is de open source implementatie van de Server Message Block (SMB) en
Common Internet File System (CIFS) protocollen. CIFS is een doorontwikkeling van het
SMB protocol. CIFS heeft niet alleen de mogelijkheid om bestanden en printers te delen
tussen de verschillende platformen, over verschillende netwerkprotocollen, maar het is
van zichzelf een transportprotocol. Samba wordt meestal toegepast voor het delen van
bestanden en printers tussen Windows cliënts en Linux/UNIX servers. Als fileserver zou
de performance van Samba, qua snelheid en qua betrouwbaarheid, een stuk hoger
liggen dan die van Windows NT/2000/2003.
3.3.1 Domain controller
De Primary Domain Controller (PDC), zoals Microsoft die heeft ontwikkeld, is het
eenvoudigst in gebruik omdat deze een aantal administratieve taken combineert. De
PDC levert diensten zoals “single sign-on” (enkele aanmelding voor diverse services),
informatie over de domeingebruikers en gebruiker authenticatie. Het voordeel van deze
manier van authenticatie is dat gebruikers zich maar één keer hoeven aan te melden
voor alle ter beschikking gestelde services. Zonder PDC zou de gebruiker zich moeten
aanmelden voor de fileserver, firewall, proxy server, enz.
Linux in een netwerkomgeving
Pagina 29
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Samba beschikt over een goede PDC net zoals die van Windows NT. Deze heeft de
volgende functionaliteiten:
 Zwevende profielen; het maakt niet uit op welk werkstation wordt aangemeld, de
gebruiker houdt altijd zijn eigen bureaublad.
 Standaard inloggen van alle Windows cliënts,
 Windows NT/2000 type systeem beleid
 Naam services
 Op gebruikersniveau beveiliging voor Windows 9x/ME cliënts.
Het enige nadeel dat Samba heeft ten opzichte van een Microsoft Domain Controller is,
dat Samba niet ingesteld kan worden als Backup Domain Controller (BDC) wanneer de
PDC een Windows server is. Er is wel een manier om twee Samba machines te
installeren als PDC/BDC, maar dat wordt in dit verslag niet behandeld.
3.3.2 Installatie van Samba
Wanneer gekozen is om Samba op Linux te gebruiken als PDC moet Samba eerst
geïnstalleerd worden op Linux. Wanneer deze is bijgeleverd in de Linux distributie dient
deze eerst te worden verwijderd om plaats te maken voor de nieuwste versie. Dit
verwijderen kan worden gedaan door het commando:
rpm –e <pakketnaam>
in te typen achter de Linux prompt. Wanneer de pakketnaam niet bekend is kan dit
worden achterhaald door het commando:
rpm –qa | grep samba
Dit commando laat een lijst zien met pakketten die de naam Samba bevatten. Deze
pakketnamen moeten ingevuld worden bij <pakketnaam>.
Wanneer de nieuwe versie van Samba is gedownload, kan deze worden geïnstalleerd
door het commando in te typen:
rpm –i <pakketnaam>
Wanneer dit succesvol verlopen is, kan verder worden gegaan met het configureren
van Samba.
Linux in een netwerkomgeving
Pagina 30
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.3.3 Configuratie van Samba
3.3.3.1 Het Samba configuratiescript smb.conf
Samba wordt geconfigureerd door het script van het bestand smb.conf aan te passen.
Bij Red Hat bevindt dit bestand zich in de /etc/samba directory. Bij andere Linux
distributies kan dit bestand zich ergens anders bevinden. Om te kijken waar dit bestand
zich bevindt kan simpel het volgende commando worden ingetypt:
locate smb.conf
In de testopstelling wordt gebruik gemaakt van Red Hat 9.0 dus staat het smb.conf
bestand gewoon in de bovengenoemde directory. Het bestand kan worden veranderd
met behulp van een editor.
De meest gebruikte editor in Linux is de vi-editor. Deze kan worden opgestart door het
commando:
vi <bestandsnaam>
In dit geval wordt dat dus vi smb.conf. Nu zal de inhoud van smb.conf worden
weergegeven. Door nu op de letter i van “Insert” te drukken kan de tekst worden
bewerkt. Wanneer dit script moet worden opgeslagen dient op ESC gedrukt te worden
en vervolgens op :wq. Dit staat voor Write Quit. Dit commando slaat het bestand op en
sluit de vi-editor af. Let hierbij wel op de volgorde van de commando’s! Wanneer :wq
wordt omgedraaid zal de vi-editor eerst worden afgesloten en vervolgens worden
opgeslagen. Dit resulteert dat het bestand dus niet wordt opgeslagen.
In bijlage 4 is het hele configuratiescript te zien dat in deze situatie is gebruikt.
Hieronder volgt een korte uitleg over dit bestand.
Elke regel waarvoor een # of een ; staat wordt overgeslagen door het programma, deze
tekens staan vaak voor uitleg van het script of regels die niet worden gebruikt.
Verder is er nog Global en Shared gedeelte in het script. Wanneer een waarde zowel in
het Global als in het Shared gedeelte voorkomt wordt de waarde die in het Shared
gedeelte voorkomt uitgevoerd. Het Shared gedeelte is dus altijd dominant ten opzichte
van het Global gedeelte.
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = ICTIVITY
netbios name = Linux
Linux in een netwerkomgeving
Pagina 31
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
De eerste regel die wordt uitgevoerd geeft de werkgroep weer waar de Linux server lid
van is. De tweede regel geeft de sharenaam van de Linux server weer, die de Windows
gebruikers op hun werkstation te zien krijgen wanneer zij in hun netwerkomgeving
kijken.
server string = Samba Server %v %h
In dit gedeelte van het script wordt de beschrijving van de Linux server ingesteld. In dit
geval dus Samba Server. %v geeft het Samba versienummer mee en %h laat de
computernaam zien.
hosts allow = 192.168.1. 127.
Deze regels zijn belangrijke regels voor de beveiliging van Samba. Hierin wordt
geregeld dat alleen computers geaccepteerd worden die in het IP-bereik 192.168.1.0 of
127.0.0.0 zitten. 127.0.0.0 is altijd de eigen computer in dit geval de Linux server. Die
mag standaard altijd inloggen tenzij in het script wordt aangegeven dat het NIET mag.
max log size = 50
Hierin wordt aangegeven dat het log bestand nooit groter mag worden dan 50kb. De
waarde die hier wordt opgegeven is in kilobyte.
security = user
Dit geeft aan op welk niveau de bestanden van de Linux server gedeeld moeten
worden. Er zijn een aantal mogelijkheden zoals: user en share. In de user mode moet
de gebruiker zich aanmelden. In de share mode kan iedere gebruiker in die gedeelde
map komen.
;
;
password level = 8
username level = 8
Deze regels worden op dit moment niet gebruikt maar is voor extra veiligheid wel de
moeite waard te vermelden. Het nummer 8 achter password level staat voor het
minimum aantal karakters die de gebruiker als wachtwoord moet ingeven. Bij minder
karakters wordt het wachtwoord niet geaccepteerd. Voor de “username level” geldt
hetzelfde alleen dan voor de gebruikersnaam.
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
De eerste regel geeft aan of er gebruik moet worden gemaakt van gecodeerde
wachtwoorden. Zonder gecodeerde wachtwoorden kan men in het bestand
/etc/samba/smbpasswd het wachtwoord snel achterhalen. Dit is een belangrijk
beveiligingsprobleem. Dit is de eerste reden waarom voor encrypt passwords de optie
yes is gegeven.
Linux in een netwerkomgeving
Pagina 32
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
De tweede reden is dat Microsoft vanaf Windows ’98, standaard gecodeerde
wachtwoorden ondersteunt. Wanneer er encrypt password = no had gestaan was het
niet mogelijk geweest met Windows versies nieuwer dan Windows ’95 in te loggen.
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n
*passwd:*all*authentication*tokens*updated*successfully*
In deze sectie wordt doorgegeven aan Samba dat het de wachtwoorden tussen Linux,
UNIX en Windows moet synchroniseren. Wanneer er in Windows een wachtwoord
gewijzigd wordt, zal dit ook in Samba worden gewijzigd. Verder worden er paden
aangegeven waar het wachtwoordprogramma te vinden is en welke procedure er moet
worden gevolgd om het wachtwoord te kunnen veranderen. Zo zal Samba twee keer
vragen het wachtwoord in te typen om vervolgens te vertellen dat alle
authenticatietokens zijn geüpdate.
interfaces = 192.168.1.1/24
In het geval van de testopstelling moet deze regel worden geconfigureerd omdat de
Linux server over twee netwerkkaarten beschikt. Hier wordt geconfigureerd dat alleen
cliënts geaccepteerd mogen worden die aan de netwerkkaart 192.168.1.1 met
subnetmasker 255.255.255.0.
local master = yes
De regel hierboven verteld de samba server dat deze zich als master-browser voor de
werkgroep beschikbaar moet stellen.
os level = 64
Wanneer Samba is geconfigureerd als PDC dient deze een hogere waarde mee te
krijgen dan de eventueel aanwezige Windows NT server. In dit geval, waar maar één
server in het netwerk aanwezig is, heeft dit getal geen grote waarde.
domain master = yes
De regel hierboven vertelt Samba dat deze zich als een PDC moet gedragen.
preferred master = yes
Wanneer meerdere werkgroep file servers aanwezig zijn, bijvoorbeeld een Windows NT
server, dan krijgt de computer waarin deze optie op “yes” staat altijd het voordeel ten
opzichte van de andere. Wanneer in dit netwerk een Windows NT machine is
opgenomen, zal de Samba server altijd voorrang krijgen ten nadele van de Windows
NT machine.
Linux in een netwerkomgeving
Pagina 33
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
domain logons = yes
Deze optie geeft aan dat Samba zich moet gedragen als domein inlog server voor
Windows ’95 werkstations. Dit zorgt ervoor dat de gecodeerde wachtwoorden zo
worden omgezet dat gebruikers van een Windows ’95 werkstation zonder problemen
kunnen inloggen. Windows ’95 maakt namelijk nog geen gebruik van gecodeerde
wachtwoorden.
logon
logon
logon
logon
path = \\%L\Profiles\%U
home = \\%L\%U
drive = F:
script = netlogon.bat
Hierin staat het pad naar het loginscript, de homedirectory, wat de eerste netwerkschijf
wordt en hoe het loginscript bestand heet. In dit geval is de eerste netwerkschijf drive F:
en heet het login script netlogon.bat.
Nu volgt het share gedeelte van het smb.conf bestand. Hierin worden de werkelijke
directories gedeeld.
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
Hierboven worden de home directories gedefinieerd. Er staat dat er niet via
netwerkomgeving mag worden gebrowsed en dat er wel in geschreven mag worden.
Valid users =%S staat voor de gebruikers die gebruik mogen maken van de home
directories. %S is de variabele waarin de gebruikersnaam wordt ingevuld van diegene
die inlogt. Verder staan en nog verschillende modes die gebruikt moeten worden.
# Un-comment the following and create the netlogon directory for Domain
Logons
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
writable = no
share modes = no
Hierin staat het pad naar het loginscript en de home directory. Er mag niet naartoe
gebrowsed worden vanuit netwerkomgeving en mag alleen worden gelezen.
Linux in een netwerkomgeving
Pagina 34
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
[Profiles]
path = /home/samba/profiles
browseable = no
De laatste regel uit het configuratiescript van Samba configureerd het pad naar waar de
profielen worden opgeslagen. Er moet dan gedacht worden aan een omgeving met
flexibele werkplekken waarbij de medewerkers van het bedrijf steeds op een ander
werkstation zitten. Deze willen wel hun eigen bureaublad hebben, dus wordt deze
opgeslagen op de server. Wanneer de gebruiker inlogt wordt het bureaublad
rechtstreeks vanaf de server geladen in plaats van de lokale harde schijf.
3.3.3.2 Aanmaken van de gebruikte directories, groepen en gebruikers
Wanneer Samba is geconfigureerd met smb.conf moeten alle gebruikte groepen en
directories worden aangemaakt. Eerst worden groepen aangemaakt voor de machines
die in mogen loggen en de daaraan gekoppelde gebruikers. Dit wordt gedaan door
middel van de volgende commando’s
/usr/sbin/groupadd -g 200 admins
/usr/sbin/groupadd -g 201 machines
Hierin wordt het programma groupadd gestart die een groep maakt van admins met
groepsnummer 200 (Linux werkt met groepsnummers, geen enkel groepsnummer mag
overeenkomen met een ander groepsnummer).
Vervolgens moeten de directories die zijn toegepast in het script worden aangemaakt.
mkdir -m 0775 /home/samba /home/samba/netlogon
Hierboven staat dat er twee nieuwe directories aangemaakt moeten worden in directory
mode 0775. Dit zijn /home/samba en /home/samba/netlogon.
Vervolgens worden er rechten toegekend aan de directory /home/samba/netlogon. Met
het volgende commando wordt de root gebruiker van de admins groep eigenaar van de
directory /home/samba/netlogon. Dit wil zeggen dat alleen de root-gebruiker
gemachtigd is om te schrijven en veranderen.
chown root.admins /home/samba/netlogon
Vervolgens wordt dezelfde procedure herhaald voor de zwevende profielen met de
commando’s:
mkdir /home/samba/profiles
chown 1757 /home/samba/profiles
Samba vereist dat iedere computernaam die inlogt op de server bekend is. Alle
computers dienen dus aangemaakt te worden. Dit kan met het commando:
Linux in een netwerkomgeving
Pagina 35
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
/usr/sbin/useradd -g machines -d /dev/null -c "Windows 98 laptop" -s
/bin/false test$
Hierboven staat aangegeven dat er een machine aangemaakt moet worden in de
machines groep, dat deze niet beschikt over een home directory, vervolgens kan een
omschrijving van het werkstation worden ingegeven en er is geen toegang tot de shell.
De computernaam is “test” en het $ teken staat voor een “trust account”.
Hierna kan de authenticatie worden ingesteld en wordt het wachtwoord gelocked. Dit is
te bereiken door het volgende te typen:
passwd -l test$
Wanneer dit commando goed is uitgevoerd komt er te staan: passwd: Success.
Nu is het wachtwoord voor Linux ingesteld maar dit moet ook gedaan worden voor
Samba. In Linux staan alle programma’s los van elkaar. Het wachtwoord voor Samba
kan als volgt worden ingesteld:
/usr/bin/smbpasswd -a -m test
Wanneer dit bestand niet bestaat zal dit worden aangemaakt. Er dient op gelet te
worden dat het programma smbpasswd niet het dollarteken achter de machinenaam
nodig heeft. De paramaters –a en –m staan voor respectievelijk “add” toevoegen aan
database en –m dat het hier om een machineaccount gaat.
Nu de machine bekend is kan een gebruiker worden aangemaakt. Dit gaat op bijna
dezelfde manier als hierboven al beschreven is, daarom zal hier slechts een korte uitleg
volgen. Wanneer de gebruiker in de Shell mag komen kan bijvoorbeeld de volgende
commandoregel worden gebruikt:
/usr/sbin/useradd -g users -d /home/denis -c "Denis de Wit" -s /bin/bash
denis
Hierin wordt aan Linux kenbaar gemaakt dat er een gebruiker wordt toegevoegd die
thuishoort in de groep “users”, homedirectory staat in /home/denis, de omschrijving van
de persoon is “Denis de Wit”, hij mag in de Shell komen en zijn aanmeldnaam is denis.
Wanneer deze persoon niet in de shell mag komen kan het stuk in de regel /bin/bash
worden vervangen door /bin/false. Vervolgens dient de gebruiker nog een wachtwoord
te krijgen voor Linux als ook voor Samba. Dit gaat volgens hetzelfde principe als zojuist
is behandeld.
Linux in een netwerkomgeving
Pagina 36
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Nu is de configuratie voltooid en kan getest worden of alles goed is geconfigureerd. Dit
testen is te doen door het commando “testparm” te gebruiken. Als het goed is wordt de
volgende tekst teruggegeven op het scherm:
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[Profiles]"
Loaded services file OK.
Nu zeker is dat alles naar behoren werkt kan Samba worden gestart. Dit is te doen door
de volgende opdrachtregel achter de prompt in te vullen:
/etc/rc.d/init.d/smb start
In plaats van “start” kan ook “stop” of “restart” worden gegeven om Samba te stoppen
of opnieuw te starten.
Vervolgens kan worden getest of Samba ook daadwerkelijk werkt. Door het volgende in
te toetsen:
smbclient -L localhost
Wanneer hier om een wachtwoord wordt gevraagd dient hiervoor niets te worden
ingevuld. Wanneer de volgende melding wordt gegeven is Samba goed ingesteld:
Anonymous login successful
Hierna kunnen de Windows werkstations worden geconfigureerd dat ze zich moeten
aanmelden in het domein, waarvan de domeinnaam hetzelfde is als wat er in het
smb.conf bestand staat ingevuld achter workgroup.
3.3.4 Mounten van Samba shares op een Linux cliënt
Eerst dient een directory te worden aangemaakt waarin de share wordt gezet. Gekozen
is om dit in de standaard sharemap te plaatsen, namelijk /mnt.
mkdir /mnt/server
Vervolgens kan het volume worden gemount met:
mount –t smbfs –o username=<gebruiker>,password=<wachtwoord>
//Linux/root /mnt/server
Het mountpoint heet nu /mnt/server. Via deze weg is nu de opslagruimte van de server
op het werkstation te benaderen.
Linux in een netwerkomgeving
Pagina 37
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.4 Squid
Een proxy server biedt Internettoegang aan meerdere gebruikers tegelijk door het delen
van een enkele Internet verbinding. Een goede proxy server biedt ook de mogelijkheid
om aanvragen te cachen, hierdoor wordt de verbinding minder belast doordat bij een
tweede aanvraag eerst de lokale data wordt doorgegeven. Squid is een software
pakket dat zowel proxy, HTTP caching, ftp, gopher enz. ondersteunt. Bovendien
ondersteunt het SSL, toegangs controles, cachen van DNS en onderhoudt het een log
bestand waarin alle aanvragen worden bewaard.
3.4.1 Toegangscontrole
Door middel van toegangscontrole mechanismen, kan de toegang tot Internet
worden gecontroleerd, vooral met betrekking tot tijdsduur, tijdstip, cachen, toegang
tot populaire websites of website groepen, enz. De Squid toegangscontrole bestaat
uit twee onderdelen, Access Control List (ACL) elementen en een toegangslijst. Een
toegangslijst maakt toegang tot de service mogelijk of juist onmogelijk.
Enkele belangrijke soorten ACL elementen worden hieronder genoemd









src : Source (bron), ofwel het IP adres van cliënts
dst : Destination(doel), ofwel de IP adressen van de betreffende server(s)
srcdomain : Source, ofwel de domeinnaam van de cliënt
dstdomain : Destination, ofwel de domeinnaam van de server
time : Tijd, dag, week, datum...
url_regex : URL standaard uitdrukkingspatroon koppeling
urlpath_regex: URL-path standaard uitdrukkingspatroon koppeling, zonder
protocol en naam van de gastheer
proxy_auth : Gebruikers authorisatie met behulp van externe processen
maxconn : Maximum aantal verbindingen vanaf een enkel cliënt IP adres
Om deze controles te activeren, moet eerst een ACL worden gedefinieerd, en daarna
kan deze worden toegepast. Het format voor een ACL statement is:
Acl acl_element_name type_of_acl_element values_to_acl
Opmerking:



acl_element_name kan een door de gebruiker gedefinieerde naam zijn die
gegeven is aan een ACL element.
Geen twee ACL elementen mogen dezelfde naam hebben.
Iedere ACL bestaat uit een lijst met waarden. Wanneer wordt gezocht naar
een overeenkomst, wordt voor meerdere waarden gebruik gemaakt van de
"OR"-logica. Met andere woorden: een ACL element wordt gezien als
overeenkomstig, zodra een van de opgegeven waarden overeenkomt.
Linux in een netwerkomgeving
Pagina 38
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.


Niet alle ACL elementen kunnen worden gebruikt in combinatie met alle
soorten toegangslijsten.
Verschillende ACL elementen worden aangegeven op verschillende regels en
Squid combineert deze en maakt er een lijst van.
Er zijn een aantal verschillende toegangslijsten beschikbaar. Degene die hier
gebruikt gaan worden zijn hieronder te vinden:


http_access: Laat HTTP cliënts een verbinding maken via de HTTP poort. Dit
is de primaire toegangscontrole lijst.
no_cache: Definieert het cachen van antwoorden op aanvragen.
Een toegangslijst regel bestaat uit "keywords" zoals "allow" of "deny" die toegang tot
een bepaald ACL element voor de service of een aantal services regelt.
Opmerking:





De regels worden gecontroleerd in de volgorde waarop ze zijn opgegeven en
de controle stopt zodra er een overeenkomst is gevonden.
Een toegangslijst kan bestaan uit meerdere regels.
Zodra geen van de regels overeenkomt, is de standaard actie het omgekeerde
van de laatste regel in de lijst; het is dus verstandig om duidelijk te zijn over de
standaard actie.
Alle elementen van een toegangsregel zijn samengevoegd met "AND" en
worden op de volgende manier uitgevoerd:
http_access Action statement1 AND statement2 AND statement OR.
http_access Action statement3
Multiple http_access statements worden gekoppeld via "OR" terwijl elementen
van een toegangsregel met "AND" worden gekoppeld
De regels worden altijd van boven naar beneden worden gelezen.
Linux in een netwerkomgeving
Pagina 39
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.4.2 Squid Configureren
De werking en het gedrag van Squid worden aangegeven door de instellingen in het
configuratie bestand, hier is dat "squid.conf". Dit bestand kan meestal worden
gevonden in de directory /etc/squid.
Het eerste dat moet worden ingesteld is de http_port, deze geeft aan op welk socketadres Squid aanvragen van cliënt systemen moet aannemen. Standaard staat dit op
3128. Naast alleen een poortwaarde kan ook het IP adres van de machine waar
Squid op draait worden aangegeven:
http_port 172.16.1.57:3128
Met de bovenstaande invulling, zit Squid op IP adres 172.16.1.57 met het poortadres
3128. Hier kan ieder ander poort adres worden opgegeven, maar er dient wel voor
gezorgd te worden dat er geen andere applicatie dat poortadres al in gebruik heeft.
Met ongeveer gelijkwaardige configuratie regels kunnen ook de poorten voor andere
services worden opgegeven. Standaard zal Squid geen toegang geven aan cliënts,
om dit mogelijk te maken moeten de toegangscontrole lijsten worden aangepast. Er
moeten eigen regels worden opgesteld voor toegang.
In het bestand squid.conf, boven de regel “http_access deny all”, kunnen de
volgende regels worden toegevoegd:
acl mynetwork 172.16.1.1/255.255.255.0
http_access allow mynetwork
“mynetwork” is de naam van de ACL en de volgende regel is de regel die toe moet
worden gepast op een bepaalde ACL, geheten "mynetwork". 172.16.1.1 is een
referentie naar het netwerkadres met het netmask 255.255.0.0. mynetwork is in feite
niets meer dan een naam voor een groep machines in het netwerk en de volgende
regel geeft de cliënts toegang. De bovenstaande veranderingen samen met
"http_port" is al voldoende om Squid werkend te krijgen. Na de veranderingen kan
Squid met het volgende commando worden gestart:
service squid start
Na iedere verandering in het configuratie bestand, moet het draaiende Squid proces
worden gestopt om de nieuwe instellingen te activeren bij een herstart. Deze twee
stappen kunnen met het volgende commando worden uitgevoerd:
/etc/rc.d/init.d/squid restart
Linux in een netwerkomgeving
Pagina 40
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.4.3 Windows Cliënt Machine Configuratie
Aangezien de cliënt aanvraag vanaf een bepaalde poort van de proxy server moet
komen, moet de cliënt zo worden ingesteld dat deze een aanvraag doet op de juiste
poort. Dit kan voor Microsoft Internet Explorer als volgt worden ingesteld:
1. Klik op "Extra" -> "Internet Opties"
2. Selecteer het Tab-blad "Verbindingen" en klik op "LAN instellingen"
3. Vink de "Proxy Server" box aan en geef het IP adres van de proxy server en het
poortadres op (http_port address).
3.4.4 Toegangscontrole Gebruiken
Meervoudige toegangscontrole en regels bieden een zeer goede en flexibele manier
om de cliënttoegang tot Internet te beheren. Voorbeelden van de meest
voorkomende controles worden in bijlage 5 gegeven. Er is een keuze gemaakt om
slechts enkele van deze voorbeelden te testen om zo tijd terug te winnen die is
verloren met Samba.
3.4.5 Log Bestanden
Alle log bestanden van Squid staan in de directory /var/log/squid. Hierin staan de
cache log, toegangs (access) logs en het store.log. Het bestand access.log bevat
informatie over de aanvragen van cliënts, activiteit en het beheert de opgave voor
iedere HTTP & ICP query die ontvangen wordt door de proxy server, het IP adres
van de cliënts, de aanvraag methode, het aangevraagde URL, enz. De gegevens in
dit bestand kunnen worden gebruikt om de toegangsaanvragen te analyseren.
3.4.6 Squid Configuratie met Webmin
Voor diegene die niet zo thuis zijn in script bestanden biedt het programma Webmin
uitkomst. Deze methode is gebruikt om de server in de Linux testopstelling te
configureren. Webmin kan als volgt worden benaderd: Start een Internetbrowser en
typ in de adresbalk:
http://<ip-adres van server>:10000
Dus bijvoorbeeld: http://172.16.1.1:10000. Vervolgens dient te worden ingelogd met
het “root” account en wachtwoord. Daarna kan op het icoon “servers” worden geklikt
waarna het scherm van de verschillende servers wordt weergegeven. Selecteer nu
“Squid Proxy Server”.
Linux in een netwerkomgeving
Pagina 41
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Nu kan de optie “ports and Networking” worden geselecteerd en komt het scherm
voor zoals die in afbeelding 2.4.6.1.
Figuur 3.4.6.1: Ports and Networking in Webmin
Op deze pagina kan hetzelfde worden ingesteld als in het script onder:
http_port 172.16.1.57:3128
Nadat deze instelling is ingesteld en opgeslagen, kan worden teruggekeerd naar het
hoofdscherm van Squid. Vervolgens dient het icoon “Access Control” geselecteerd te
worden. Hierin kunnen zaken als ACL’s ingesteld worden. Klik op “all” in de sectie
“Access control lists” op deze pagina en hier kan worden ingevuld welke IP-adressen
er toegang hebben tot het Internet. Dit is te zien in figuur 2.4.6.2. Er kunnen ook
eigen ACL’s worden toegevoegd.
Figuur 3.4.6.2: Cliënt Address Access Control List
Na deze actie hebben deze cliënts nog steeds geen toegang tot Internet. De oorzaak
hiervan is dat Squid nog steeds standaard alle gebruikers blokkeert. Dit kan worden
opgelost door in de sectie “Proxy Restrictions” op de “deny” te klikken die vóór “all”
staat. Vervolgens komt er een scherm waar gekozen kan worden tussen de opties
“deny” en “allow”. Hier dient “allow” geselecteerd te worden. Als het goed is, is nu het
scherm te zien zoals getoond is in afbeelding 2.4.6.3 op de volgende pagina.
Linux in een netwerkomgeving
Pagina 42
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 3.4.6.3: Access Control Lists
Nu kan Squid worden gestart en kunnen de gebruikers gebruik maken van de proxy
server.
3.5 Firewall
Een "Firewall" heeft minstens 2 netwerkverbindingen (bijvoorbeeld ethernet en
adsl/modem/isdn), en werkt dus als een soort router. Een firewall filtert het verkeer
tussen de netwerken, en gebruikt daarvoor filter-regels. De manier waarop dat werkt en
waar die regels vastliggen, onderscheidt verschillende soorten firewall systemen.
Er kan gewerkt worden op niveau van transport of van gebruik.
De "packetfilter" werken op niveau van het netwerkprotocol (OSI laag 3 en 4) en filtert
datapakketjes op basis van de kenmerken toegepast door deze laag.
De "Application Level Gateway" werkt op het "application layer" niveau (OSI laag 5, 6,
7), wat kan gaan tot het analyseren van de, voor de firewall, nuttige gegevens, wat
goede controle mogelijk maakt. Daarbij kan een firewall ook nog de stroom van
pakketten bestuderen, en daaruit meer conclusies trekken dan mogelijk is uit één op
zichzelf staand pakket.
Wanneer Linux wordt toegepast als gateway computer, kan hierop gelijk een firewall
geïnstalleerd en geconfigureerd worden. Er zijn zelfs speciale Linux distributies die op
één diskette passen en waarmee van een oude computer een volledige firewall en
router gemaakt kan worden.
Linux in een netwerkomgeving
Pagina 43
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Enkele voorbeelden van dit soort distributies zijn:



Coyote,
LFR,
FloppyT.
De firewall toepassingen die in Linux distributies beschikbaar zijn ipfwadm, ipchains of
iptables. De eerste twee firewall toepassingen worden bij nieuwe versies van
distributies niet meer gebruikt omdat deze veroudert zijn. Op dit moment wordt bij de
twee grote distributies (Red Hat en SuSE) alleen nog iptables meegeleverd. De versie
van Red Hat waarmee wordt getest draait op kernel 2.4.
Kernel 2.0 Kernel 2.2
Kernel 2.4
ipfwadmin Ipchains
iptables
packetfilter
chains, port forw, transp. proxy,
QoS, IPv6, masq/NAT
statefull inspection, traffic shaping,
extra NAT options
Tabel 3.5.1: firewall functionaliteiten
Dit firewall programma is afkomstig van een open source project genaamd Netfilter.
Deze firewall is erg uitgebreid en ondersteunt onder andere het Network Address
Translation (NAT) protocol om andere werkstations op het netwerk onzichtbaar te laten
zijn wanneer deze gebruik maken van de internetverbinding.
3.5.1 Packet filter
Het IP protocol maakt gebruik van een header met extra informatie waarmee de data
ingepakt wordt. De firewall kan die informatie gebruiken, maar moet er rekening mee
houden dat die ook gemanipuleerd kan zijn. Zo wordt in de header, het adres van de
afzender en dat van de bestemming vermeld. De bestemming is bruikbaar voor de
firewall. In het "option" veld kan aangegeven worden langs welke weg het pakket over
het Internet gestuurd moet worden. De antwoorden van deze pakketten leggen
diezelfde weg in omgekeerde richting ook weer af.
Een wijziging hier kan grote gevolgen hebben: iemand die wil meelezen zal graag zijn
adres in dat veld krijgen. Er moet altijd rekening gehouden worden, dat de gegevens in
de header gemanipuleerd kunnen zijn.
Als een IP pakket te lang is wordt het opgesplitst in fragmenten, die bij de ontvanger
weer samengevoegd worden. Daarbij worden de velden Total Length, Identification,
More Fragments, en Fragment Offset gebruikt. Het is voor een firewall moeilijker bij een
opgesplitst pakket om de inhoud te beoordelen.
ICMP staat voor Internet Control Message Protocol, en strekt zich over twee OSI lagen
uit: het wordt overgebracht in de data, maar heeft een IP-functie. ICMP Redirect
berichten hebben invloed op de routing tabel, ook PING maakt gebruik van ICMP. Ook
hier dringt een keuze zich op om dingen te blokkeren.
Linux in een netwerkomgeving
Pagina 44
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.5.2 Stateful Packet Filter
Bij UDP en ICMP is het nog moeilijker dan bij TCP om de verbinding te controleren.
Daarom wordt gebruik gemaakt van een Stateful Packet Filter, die zich ook inlaat met
het leggen van de verbinding, de daaruit gewonnen gegevens later gebruikt bij het
beoordelen van de volgende pakketten. Daarbij komen toestanden in iptables voor als:




ESTABLISHED (verbinding gelegd),
NEW (verbinding tot stand brengen),
RELATED (verbinding tot stand brengen als uitbreiding op een bestaande
verbinding, bijvoorbeeld bij FTP: een controle en een data verbinding),
INVALID (geen of ongeldige verbinding).
Ook al zijn alle "flags" op de meest verwarrende manier veranderd, dan nog mag een
firewall zich niet van zijn stuk laten brengen of door zijn reactie te veel informatie over
zichzelf vrijgeven.
3.5.3 Filter
Eerst wordt er een standaard maatregel ingesteld: bijvoorbeeld: ‘laat alles door behalve
wat hierna verboden wordt’, of: ‘laat niets door tenzij wat hierna toegelaten wordt’. Om
veiligheidsredenen wordt meestal deze laatste manier gekozen.
De filterregels worden achtereenvolgens doorlopen tot het pakket verwerkt is. Daardoor
speelt de volgorde van de filters in de filterregels ook een rol. Er zijn 3 rijen "chains":



INPUT: voor eigen systeem bestemd
OUTPUT: uitgaande pakketten
FORWARD: van één netwerk interface doorgestuurd naar de volgende.
o Kernel -2.2: input + forward + output
o Kernel 2.4: input | forward | output
De "forward" pakketten komen nu dus rechtstreeks in de "forward-rij" terecht, terwijl ze
vroeger de input, forward, en output rij doorliepen.
Linux in een netwerkomgeving
Pagina 45
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
3.5.4 Application level gateway
Application level gateway zit als een proxy tussen de cliënt en de server. De cliënt
verbindt met de proxy, en vraagt daar de informatie aan. Die beslist dan om de vraag
verder te stellen. De gateway kan bijvoorbeeld checken of de gebruiker op de cliënt
toegang heeft tot die dienst. Deze kan ook "content filtering" doen door het weigeren
van URL's, viruscheck, Active-X controls eruit halen, enz. Verder kan een cache de
efficiëntie van het systeem verhogen, en kan bijvoorbeeld vermeden worden dat
persoonsgegevens buiten gaan. Voor het gebruik van een proxy, moet de verbinding
worden opgesteld dooor gebruik te maken van SOCKS. Dat betekent dat de
cliëntsoftware daarin moet voorzien (Bij Konqueror: Settings -> Configure Konqueror ->
Proxy).
Hoewel encryptie ook in het kader van beveiliging wordt gebruikt, is duidelijk dat het de
filtering bemoeilijkt of zelfs tegenwerkt, zeker als die vanaf de cliënt wordt toegepast.
Soms is het echter mogelijk dat met de firewalls te integreren.
3.5.5 IPTables
IPtables bestaat uit twee kanten: de gebruikers- en de kern-zijde. Het kernel deel hoort
bij de kernel, wordt ermee verspreid, erin gecompileerd als iedere andere willekeurige
module zoals: geluid, filesysteem, enz. De opbouw van iptables in de kernel is te zien in
de figuur op de volgende pagina. Naast het belangrijkste deel van iptables dat minimaal
aanwezig moet zijn, is er keuze mogelijk voor onderdelen voor NAT, logging,
connection tracking enz.
De gebruikerskant bestaat uit een "binary", die ook iptables wordt genoemd, maar apart
van de kern verspreidt een aangepast wordt, deze bevat de regels. Voor de regels
wordt de hoofdletterversie gebruikt van de commando’s uit de vorige paragraaf.
NAT is mogelijk op gebied van bron of van bestemming (source NAT werkt in de
POSTROUTING chain, destination NAT werkt in de PREROUTING/OUTPUT chain).
IP-masquerading is een vorm van SNAT (Source NAT).
Linux in een netwerkomgeving
Pagina 46
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Netwerk
mangle
PREROUTING
Nat
PREROUTING
Filter
INPUT
Local Process
Mangle
OUTPUT
Filter
FORWARD
Nat
OUTPUT
Filter
OUTPUT
Nat
POSTROUTING
Network
Figuur 3.5.5.1: opbouw firewall
Het bovenstaande diagram vertegenwoordigt de stroom van datapakjes door de kernel.
In elk vak is een naam te vinden in hoofdletters en in kleine letters. Elke naam in kleine
letters (mangel, nat, filter) verwijst naar een ‘table’. Echter kan beter gezegd worden dat
deze woorden verwijzen naar kernel subroutines waarin de door de beheerder
gedefinieerde regels staan.
Met het commando: iptables –t kan de te programmeren subroutine (table) worden
gekozen. Bijvoorbeeld: iptables –t nat verwijst naar de subroutine ‘nat’. Wanneer
de optie –t niet wordt meegegeven, wordt de opdracht automatisch aan de subroutine
‘filter’ meegegeven.
Linux in een netwerkomgeving
Pagina 47
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
De woorden in hoofdletters definiëren ‘chains’. In dit geval staan hier alleen standaard
‘chains’. Vaak worden de standaardinstellingen toegepast in netwerken omdat deze
vaak al goed werken. Wanneer er toch iets gewijzigd moet worden kan dit worden
gedaan met het commando:
Iptables -P chain-naam
Bijvoorbeeld:
iptables -t nat -A POSTROUTING ...
Bovenstaand commando plaatst een, door de beheerder gedefinieerde, opdrachtregel
in de POSTROUTING ‘chain’. Deze opdrachtregel wordt uitgevoerd door de ‘nat’
subroutine.
Wanneer alle regels zijn gedefinieerd kan de firewall worden gestart met het
commando:
/etc/rc.d/firewall
3.5.6 Firewall Rules
Onderstaande commando’s kunnen worden gebruikt in het configuratiescript van IPtables:







ACCEPT: pakket doorlaten
DROP: pakket weggooien
REJECT: pakket weigeren (afzender krijgt info)
MASQ/NAT: verander IP adres, poortnummer
REDIRECT: omleiden naar andere poort
CRYPT: versleutelen (VPN)
LOG: bijhouden in log-bestand, eventueel bijkomend naast andere actie.
3.5.7 iptables configureren met Webmin
Wie niet zo thuis is in het zelf schrijven van code kan dit natuurlijk altijd laten doen.
Webmin is een uitgebreid programma om Linux te beheren. Ook nu wordt eenvoudig
gebruik gemaakt van deze interface. Tijdens de voortgang van het project is in eerste
instantie gekeken naar het scriptbestand zelf. Vervolgens is de configuratie uitgevoerd
met behulp van Webmin. Hierna is het script weer bekeken om erachter te komen wat
er is verandert. Deze aanpak blijkt een goede leermethode te zijn.
Om een regel in webmin toe te voegen kan via een browser worden gesurft naar:
http://<server-ip>:10000
Linux in een netwerkomgeving
Pagina 48
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Klik vervolgens op het icoon ‘networking’ en vervolgens op ‘Linux Firewall’. Als het goed
is wordt het volgende scherm weergegeven.
Figuur 3.5.7.1: Squid configuratie met Webmail
Zoals te zien is kan worden gekozen voor welke ‘table’ een regel toegevoegd moet
worden. Verder kunnen regels worden toegevoegd voor de ‘chains’: INPUT,
FORWARD en OUTPUT. Vervolgens kunnen deze regels worden bewaard en kan
iptables zo worden geconfigureerd dat deze automatisch start bij het opstarten van de
server.
Linux in een netwerkomgeving
Pagina 49
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk 4: Apache Webserver
De meest gebruikte webserver op Internet is de Apache webserver. Deze webserver
bestaat intussen in veel verschillende versies voor diverse besturingssystemen. Op het
Internet wordt vaak gebruik gemaakt van Linux als Apache platform. Omdat de meeste
bedrijven een eigen webserver hebben, is dit onderwerp in het verslag opgenomen. Het
zal in de toekomst vaker voorkomen dat een engineer een Linux webserver moet
installeren. In dat geval is dit hoofdstuk bedoeld als naslagwerk.
Apache bestaat uit twee onderdelen. Er is een webserver deamon, httpd en het
bijbehorende configuratiebestand httpd.conf. Bij de huidige versies van Apache vindt
alle configuratie plaats in httpd.conf, op oudere versies is de configuratie verdeeld over
drie bestanden namelijk: httpd.conf, access.conf en srm.conf. Het zijn heel veel
instellingen mogelijk in de Apache configuratie, echter een klein deel hiervan is
interessant voor dit verslag. Hieronder zullen deze instellingen worden besproken.





ServerRoot: Deze instelling bepaald wat de rootdirectory is van de Apache
server. Met de rootdirectory wordt in dit geval de directory bedoeld waarin alle
webpagina’s en configuratiebestanden voorkomen. Deze directory verschilt
nogal per distributie. Bij Red Hat bevindt zich deze onder: /var/www/html. Het
wordt aanbevolen deze standaarddirectory te gebruiken. Kostte nogal wat tijd
om deze te veranderen wat niet gelukt is. De huidige gebruikte instelling is:
ServerRoot "/etc/httpd"
Port: Standaard staat deze ingesteld op poort 80. dit is de standaardpoort voor
http. Voor testdoeleinden of slechte manier van beveiliging kan een ander
poortnummer worden opgegeven. Wanneer gebruik wordt gemaakt van
beveiligde SSL verbindingen dan dient hier poort 443 aan te worden
toegevoegd. In de testopstelling is de instelling: Listen 80.
User en Group: Met de directives User en Group kan worden aangegeven als
welke gebruiker of groep de webserver actief is. Standaard zijn dat de
gebruikers Nobody en de groep Nogroup. Dit zijn accounts waaraan weinig
rechten gekoppeld zijn. Op het moment dat een persoon op de website per
ongeluk toegang krijgt tot de shell, moeten de rechten zo laag mogelijk zijn
ingesteld. Iedere wijziging van de gebruikersnaam in de naam van een gebruiker
is een potentieel gevaar voor de beveiliging van de website. De
standaardinstelling is bij de testopstelling gewoon blijven staan.
ServerAdmin: Met deze directive kan het e-mailadres van de beheerder van de
webserver gegeven worden. Dit adres wordt aan de personen op de website
doorgegeven wanneer er problemen zijn. De gemaakte instelling is:
ServerAdmin [email protected]
ServerName: Om de naam van de webserver in te stellen kan deze directive
gebruikt worden. Wanneer de webserver vanaf het Internet benadert moet
worden, moet ervoor worden gezorgd dat dit ook een werkelijk bestaande DNSnaam is. Deze instelling is niet gebruikt omdat er gebruik wordt gemaakt van
DNS.
Linux in een netwerkomgeving
Pagina 50
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.


DocumentRoot: Deze directive wordt gebruikt om een absoluut pad op te geven
naar de directory waarin de HTML documenten staan. Elke installatie heeft
hiervoor een standaardoplossing. Op een webserver voor grotere netwerken kan
het handig zijn om deze directory op een apart volume op de schijf te zetten. Dit
pad is in geval van de Linux testserver: DocumentRoot "/var/www/html". Dit is
gewoon de standaarddirectory voor HTML documenten van Apache.
DirectoryIndex: Een directory index bepaalt op welke manier een gebruiker
overzicht krijgt van de bestanden in een bepaalde directory. Er kan hier gebruik
worden gemaakt van speciale indexbestanden. Deze directive zorg ervoor dat
wanneer bijvoorbeeld in een browser wordt ingetypt: http://www.ictivity.nl dat
automatisch het bestand index.htm wordt opgestart zonder dat de naam van dit
bestand in de browser hoeft te worden ingetypt.
Tijdens het testen was er één probleem, standaard staat hierbij alleen index.html
opgegeven. Op de gebruikte website was de eerste pagina niet index.html maar
Index-frameset.htm. Deze waarde moest dus worden toegevoegd aan deze
directive: DirectoryIndex Index-frameset.htm index.html index.html.var. Daar
komt nog bij dat deze website niet in de standaarddirectory geïnstalleerd was.
Het heeft een tijd geduurd voordat dit probleem was opgelost en Apache goed
draaide.
Er zijn natuurlijk veel meer instellingen te maken. Maar met behulp van deze
instellingen is het mogelijk om een eenvoudige webserver op te zetten. Problemen
hebben zich hierbij eigenlijk nauwelijks voorgedaan. Het enige probleem waar tegenaan
gelopen is, is dat telkens de testpagina werd weergegeven. Na dit probleem in een
forum te hebben geplaatst, bleek een instelling in de DirectoryIndex niet juist te staan.
Na dit te hebben verholpen bleek de webserver goed te werken.
Een aardige toevoeging van het httpd.conf configuratiebestand, is het script dat ergens
op een webpagina is gevonden. Dit script zorgt ervoor dat onveilige http verbindingen
automatisch worden omgeschreven naar het veilige https verbindingen. Dit is handig
voor bedrijven bij toepassingen zoals portals en webmail. Het script ziet er als volgt uit:
# redirect http to https
# If you don't try to access https, then redirect to https
RewriteCond %{SERVER_PORT}
!^443$
RewriteRule ^/(.*)
https://%{SERVER_NAME}/$1 [L,R]
Wanneer gebruik wordt gemaakt van virtuele hosts moeten de volgende twee regels
ook aan iedere virtuele host entry in het httpd.conf worden toegevoegd:
RewriteEngine on
RewriteOptions inherit
Linux in een netwerkomgeving
Pagina 51
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk 5: Configuratie van de Mailserver
Voor veel bedrijven is communicatie met medewerkers van essentieel belang. De
evolutie van groupware heeft de laatste jaren dan ook een enorme vlucht genomen. Er
zijn twee grote mainstream groupware leveranciers, namelijk:


Exchange van Microsoft
Groupwise van Novell
Het is de bedoeling om een open source vervanging te zoeken, die zoveel mogelijk
overeenkomende functionaliteiten bevat met de zojuist genoemde software. In eerste
instantie is op diverse forums gezocht op Internet. Hieruit bleek dat qmail-toaster een
vaak genoemde mailserver is. Nadat was uitgezocht hoe deze geconfigureerd en
geïnstalleerd moest worden kon deze worden geïnstalleerd.
Als snel na de installatie bleek dat dit een leuk mailprogramma is voor thuis maar niet in
een bedrijfsomgeving. Door het ontbreken van enkele essentiële onderdelen voor een
organisatie zoals: kennismanagement, taken, overzichtelijke agenda enz. werd deze
oplossing aan de kant gezet.
Na nog een dag te hebben besteedt aan het zoeken naar alternatieven, bleek SuSE
Linux OpenExchange server ook goede recensies te hebben. OpenExchange is relatief
goedkoop en is eenvoudig te beheren.
OpenExchange bevat onder andere de volgende open source componenten:








Postfix
Apache 1.3
Cyrus IMAP
OpenLDAP
Samba
PostgreSQL
SpamAssassin
Tomcat
SuSE OpenExchange server ondersteunt de volgende standaard
beveiligingsprotocollen:



Transport Layer Security (TLS)
Simple Authentication and Security Layer (SASL)
SMTP Authentication (SMTP-AUTH)
Linux in een netwerkomgeving
Pagina 52
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
5.1 Een standalone, Dedicated e-mail Server
Bij SuSE Linux OpenExchange server wordt SuSE Enterprise Linux 8 meegeleverd.
Deze combinatie is ontwikkeld om te draaien als stand alone, dedicated server. Samen
met Samba en OpenLDAP kan deze server gebruikt worden als domain controller voor
gemengde Linux/Windows netwerken. Samba dient dan als file-share service terwijl
OpenLDAP de gebruikers authenticatie database beheerd.
Een waarschuwing is wel op zijn plaats. Bij SuSE Linux Enterprise server worden
beheerprogramma’s meegeleverd. Dit mag niet worden gebruikt om OpenExchange te
configureren. In plaats daarvan moeten de beheerprogramma’s worden gebruikt van
OpenExchange zelf. Om deze programma’s te benaderen kan een Internet browser
worden gestart met daarin het IP-adres van de server. Vervolgens kan worden ingelogd
met de gebruikersnaam: cyrus. De gebruiker ‘mailadmin’ kan worden gebruikt om de email van de beheerder te lezen. Het wachtwoord voor deze gebruikers is hetzelfde
wachtwoord dat wordt gebruikt voor de ‘root’ account.
Er zijn in OpenExchange server veel toepassingen geïntegreerd, met ingebouwde
veiligheid (SMTP-AUTH, TLS), ondersteuning voor meerdere domeinen, virtuele
domeinen, POP, IMAP en webmail. Inbellen wanneer dit noodzakelijk is (dial-ondemand) is eenvoudig in te stellen. Tevens wordt er een programma meegeleverd die
binnenkomende SPAM kan markeren en verwijderen. Gebruikers kunnen hierbij zelf
aangeven wat er met de gemarkeerde e-mail moet gebeuren.
De belangrijkste functionaliteit van SuSE OpenExchange server is de webinterface die
zowel gebruikt kan worden door gebruikers als door beheerders. Dankzij deze interface
hebben gebruikers geen stand-alone e-mail cliënt op de werkplek nodig. Ondersteuning
voor e-mail cliënts is echter wel toegevoegd aan OpenExchange server voor diegene
die deze echt nodig hebben. Echter deze biedt niet dezelfde mogelijkheden als de
webinterface. Onderstaand zijn een aantal afbeeldingen van de webinterface te zien.
Linux in een netwerkomgeving
Pagina 53
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 5.1.1: Portal nadat gebruiker heeft ingelogd.
Figuur 5.1.2: Overzichtelijke webmail interface
Linux in een netwerkomgeving
Pagina 54
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 5.1.3: De admin interface waarmee OpenExchange geconfigureerd kan worden
5.2 OpenExchange is meer dan een mailserver
Geen enkel bedrijf kiest een groupware pakket om alleen maar mail te versturen. De
basis waarop OpenExchange server draait is een PostgreSQL database. Documenten
worden opgeslagen in deze database als database objecten, in plaats van gewoon
gekopieerd via Samba. De gebruikers zien hier uiteraard helemaal niets van, deze zien
een mooie directory structuur en maken gebruik van een grafische interface. Om items
te benaderen, wordt gebruik gemaakt van hyperlinks. Dit resulteert in een
overzichtelijke structuur (zie figuur 4.2.1). Een laag schijfgebruik wordt gerealiseerd
doordat wanneer een bestand wordt gekopieerd deze alleen een nieuwe snelkoppeling
maakt naar het originele bestand. Op deze manier wordt voorkomen dat een bestand
door gebruikers oneindig vaak wordt gekopieerd.
Linux in een netwerkomgeving
Pagina 55
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 5.2.1: Overzichtelijke database op basis van hyperlinks
Wat erg handig is in OpenExchange server is dat de gebruikers zelf hyperlinks naar
bestanden kunnen aanmaken. Deze kunnen vervolgens worden gedeeld met andere
gebruikers of gebruikersgroepen, zonder dat de organisatie van de bestanden zelf
wordt veranderd. Al deze links bij elkaar vormen een knowledge database. Ook hier
zien de gebruikers alleen hyperlinks, niet de echte bestanden of directories. Voor
gebruikers is het ook handig om de zoekfunctie te gebruiken. Deze doorzoekt alle
teksten op het gezochte trefwoord.
Verder is een agenda aanwezig waarop duidelijk alle geplande afspraken staan.
Tevens is het mogelijk om een andere gebruiker toegang te geven tot diverse
onderdelen van de agenda. Een handige optie is ‘teamview’. Dit maakt het mogelijk om
wanneer er voor meerdere personen afspraken gemaakt moeten worden beide
agenda’s weer te geven om snel een overzicht te krijgen wanneer beide personen
ingepland kunnen worden.
Linux in een netwerkomgeving
Pagina 56
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Figuur 5.2.2: Teamview
Er is zijn discussieforums en ‘pin-boards’ geïntegreerd in OpenExchange server zodat
informatie of taken snel kan worden uitgewisseld. Het ‘pin-board’ wordt ook direct op de
introductiepagina op de portal weergegeven.
Linux in een netwerkomgeving
Pagina 57
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
5.3 Kosten
OpenExchange is een uitgebreid pakket met vele functies. Het pakket bevat het
besturingssysteem en tien groupware cliënts voor de relatief lage prijs van €1475,Gebruikers van externe e-mail cliënts zoals outlook hoeven niet te betalen voor
licenties. Voor elke extra groupware cliënt dient €50 betaalt te worden.
Een overzicht van de kosten van de verschillende mailservers is in de tabel hieronder
weergegeven. Er wordt van uit gegaan dat er geen extra support pakketten worden
aangeschaft. Verder is er van uitgegaan dat alle gebruikers van OpenExchange server
in het bezit zijn van een licentie om op de portal te kunnen inloggen. Voor Groupwise
hoeft niet betaald te worden voor de software zelf, maar alleen voor de cliënts.
Overzicht prijzen mailservers
10
users
Microsoft Exchange server standaard
Novell Groupwise 6.5
SuSE LinuxOpenExchange server
100
users
500
users
1000
users
1.914,00 8.844,00 39.644,00 78.144,00
1.237,50 12.375,00 61.875,00 123.750,00
1.475,00 5.975,00 25.975,00 50.975,00
Overzicht producten
Microsoft Exchange server standaard
Licentie per gebruiker
Novell Groupwise 6.5
Licentie per gebruikers
SuSE Linux OpenExchange server incl. 10
cliënts
Licentie per gebruiker
Tabel 5.3.1: Overzicht prijzen mailservers
1.144,00
77,00
0,00
123,75
1.474,00
50,00
Uit de tabel kan worden opgemaakt dat wanneer SuSE Linux OpenExchange server
wordt gebruikt voor bedrijven met 10 gebruikers dit niet de goedkoopste e-mailserver is.
Pas vanaf bedrijven met 100 gebruikers is deze mailserver goedkoper dan Exchange
van Microsoft of Novell Groupwise. Dit is de reden dat SuSE Linux OpenExchange
server geschikt is voor middelgrote tot grote bedrijven die op zoek zijn naar een goede
mailoplossing, omdat hierin alle belangrijke groupware onderdelen aanwezig zijn en dit
pakket zeer eenvoudig te configureren is.
Linux in een netwerkomgeving
Pagina 58
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Hoofdstuk 6: Linux op werkstation
In een project waarvan de naam “Linux in een netwerkomgeving” is, moet zowel de
serverkant als de cliëntkant worden besproken. Linux op het werkstation in interessant
omdat hiermee een grote besparing kan worden gedaan op de licentiekosten.
In dit hoofdstuk wordt besproken of Linux al klaar is om op het werkstation te worden
toegepast. Belangrijk zijn hier net als bij servers: betrouwbaarheid en performance.
Echter omdat de gebruiker constant met deze computer moet werken komen hier
zaken als: gebruiksvriendelijkheid en beschikbare software bij.
Er is voor gekozen om de Internetversies te downloaden om op die manier een
vergelijking te kunnen maken met betrekking tot bovengenoemde punten. Er wordt per
distributie een korte omschrijving gemaakt om vervolgens de voor- en nadelen met
elkaar te vergelijken.
6.1 Mandrake Linux
De Linux distributie Mandrake Linux was gestart in juli 1998 door Gaël Duval. Al sinds
de eerste release van de distributie is deze al enorm populair. De basis van Mandrake
is gebaseerd op die van Red Hat, met de verschillen dat de standaard desktop werd
veranderd van Gnome naar KDE en de installatieprocedure werd vereenvoudigd door
gebruik te maken van eenvoudige menu’s. Dankzij deze menu’s werd een einde
gemaakt aan het feit dat Linux moeilijk te installeren was. De hardwareondersteuning
en partitie utilities werden door veel gebruikers geprezen als de beste die tot dan toe
beschikbaar waren, terwijl andere distributies er niet in slaagden om een eenvoudig te
gebruiken tool hiervoor te ontwikkelen.
Mandrake Linux is hedendaags volgroeid tot een volwaardige distributie voor
beginnende gebruikers die zoeken naar een alternatief voor Windows. De ontwikkeling
van Mandrake is volledig open en transparant. De updates verschijnen dagelijks op de
server in de zogenaamde cooker directory. Wanneer een nieuwe release in beta fase
verschijnt, volgt een korte maar intense testsessie. Vanaf versie 9 is deze tijd iets
langer geworden. Deze methode van ontwikkelen heeft als voordeel dat de
uitgebrachte software altijd up-to-date is. Het nadeel is echter dat de kans op bugs
groter wordt en dat de distributie minder stabiel is dan bij andere distributies. Veel
gebruikers vinden de hoeveelheid fouten acceptabel, men heeft altijd de nieuwste
software-updates en zij kunnen leven met het idee dat het besturingssysteem af en toe
vastloopt.
Voordelen: Gebruiksvriendelijk, Grafische configuratie utilities, enorm veel support van
de Mandrake gemeenschap, ondersteunt het veranderen van de NTFS partitie grootte.
Nadelen: In sommige nieuwe releases zijn nog veel fouten aanwezig, deze releases
zijn alleen beschikbaar voor personen die lid zijn van de MandrakeClub.
Linux in een netwerkomgeving
Pagina 59
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
6.2 Red Hat Linux & Fedora Core
Voor veel mensen staat Red Hat synoniem voor Linux. Dit omdat Red Hat
waarschijnlijk de meest bekende Linux distributie in de wereld is. De laatste versie van
Red Hat als gratis besturingssysteem is Red Hat 9. Hierna zullen alle gratis versies
worden geleverd onder de naam door Fedora Core. Men is bang dat Fedora Core gaat
dienen als testversie van Red Hat en hierdoor veel bugs zal bevatten.
Wat is er zo speciaal aan Red Hat? Het is een mix van oude en nieuwe pakketten
samen met eigen ontwikkelde software. De pakketten zijn nooit echt up-to-date;
wanneer er een nieuwe beta versie wordt aangekondigd, worden de versienummers
bevroren en worden er alleen nog veiligheidsupdates voor dit pakket uitgebracht. Het
uiteindelijke resultaat is een door en door geteste en stabiele distributie.
Red Hat levert niet zoveel software mee als SuSE. Dat lijkt jammer, maar het is
eigenlijk wel prettig. Bij de distributie is een aantal duidelijke keuzes gemaakt waardoor
het overzicht behouden blijft. Zo levers Red Hat bijvoorbeeld niet zes verschillende email cliënts maar alleen de beste.
Een andere reden waarom Red Hat zo populair is geworden is omdat het handige
services aanbiedt. Een voorbeeld is het Red Hat Network. Software updates zijn via dit
netwerk eenvoudig te downloaden en te installeren. Dit kan gezien worden als een
soort Windows Update waarbij het programma zelf gaat zoeken naar updates en deze
vervolgens zelf installeert zonder dat de tussenkomst van de gebruiker vereist is.
Software updates zijn in principe niet gratis, hiervoor dient een abonnement genomen
te worden. Er is echter ook een gratis account waarvoor iedere twee maanden een
enquête moet worden ingevuld.
Voordelen: Red Hat wordt wereldwijd gebruikt, veel software wordt specifiek voor Red
Hat ontwikkeld, logische opbouw, enorm veel support van de Red Hat gemeenschap,
veel innovatie
Nadelen: slechte multimedia ondersteuning, ongerustheid over de overgang van Red
Hat naar Fedora.
6.3 Debian Linux
Debian is een volledig non-commercieel project. Honderden vrijwillige ontwikkelaars
verspreid over de hele wereld dragen hun steentje bij aan het project. Dit project is
goed georganiseerd en iedereen dient zich strikt aan de eisen van het project te
houden. Het resultaat is een hoogwaardige distributie net de naam: Debian.
Tijdens het ontwikkelen van software doorloopt deze een drietal fasen: “unstable”,
“testing” en “stable”. Wanneer een nieuw softwarepakket net ontwikkeld is wordt deze
als “unstable” aangeduid. Vervolgens worden er verschillende tests mee uitgevoerd.
Wanneer het pakket de tests doorstaat wordt het overgeheveld naar “testing”. Daar
wordt het pakket zwaar getest en zal enkele maanden in beslag nemen. Pas wanneer
hier alle tests succesvol zijn afgerond wordt dit de nieuwe “stable” (stabiele) versie. Dit
resulteert in een stabiele, niet altijd up-to-date distributie.
Linux in een netwerkomgeving
Pagina 60
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Debian staat bekend als een echte techneutendistributie, waarbij de makers
nadrukkelijk niet streven naar winst maar uitsluitend proberen een zo goed mogelijke
distributie in elkaar te draaien. Debian is minder geschikt voor beginners, maar wel voor
Linux-kenners die een flexibel systeem willen dat volledig naar hun hand te zetten is.
Dit blijkt wanneer Linux geïnstalleerd moet worden, geen mooie procedure, maar een
aantal consolebased menu’s waarin aangegeven moet worden wat precies de
bedoeling is. Helaas blinken deze schermen niet uit in duidelijkheid.
Het updaten van de distributie was tot voor kort voor een beginner haast onmogelijk,
maar in de nieuwe distributie wordt de handige tool “apt-get” meegeleverd. Dit is een
handig programma om Debian pakketten te updaten dat rekening houdt met
“dependencies”. Dit houdt in dat wanneer een pakket afhankelijk is van het andere,
deze ook wordt geüpdate om problemen te voorkomen
Voordelen: 100% gratis, goede website en bronnen voor support, goed geteste
software-updates en moeiteloze software updates met “apt-get”.
Nadelen: Alleen gevorderde gebruikers krijgen Debian geïnstalleerd, de stabiele
software-updates zijn al verouderd voordat deze beschikbaar zijn.
6.4 SuSE Linux
SuSE is een bedrijf dat zich van oorsprong vooral op de desktopmarkt heeft gericht,
hoewel er wel een aantal enterprise producten beschikbaar zijn. De distributie heeft
veel positieve reacties gehad voor de installatieprocedure met de YaST
configuratietools. De documentatie die wordt meegeleverd bij de versie die gekocht kan
worden, is pas geleden geprezen als meest complete, meest grondige en de meest
bruikbare die tot nu toe beschikbaar is. De distributie is het meest populair in Europa en
noord Amerika. In Azië en andere delen van de wereld is het niet beschikbaar. Sinds
kort is SuSE overgenomen door Novell.
De ontwikkeling van SuSE vindt volledig achter gesloten deuren plaats. Er zijn geen
publieke beta versies beschikbaar om te testen. Ook is het niet mogelijk om de
volledige versie te downloaden van Internet. Dit is iets wat andere distributies wel doen.
SuSE is verkrijgbaar in twee versies, namelijk: SuSE Personal en SuSE Professional.
In de testopstelling is alleen de versie SuSE Professional beschikbaar. Het verschil zit
in de hoeveelheid meegeleverde software en beschikbare handboeken. Op de
installatie CD’s en DVD is ongeveer alles aanwezig wat er aan Linux software te
bedenken is, zoals videobewerking, openoffice 1.1, enz.
Linux in een netwerkomgeving
Pagina 61
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
De goede indruk van SuSe Linux wordt alleen maar versterkt wanneer het product
geïnstalleerd is. SuSE biedt een zeer complete distributie die prettig oogt en eenvoudig
werkt. Een van de kenmerkende onderdelen is het beheersprogramma YaST2.
Hiermee kan volledig beheer worden uitgevoerd over SuSE Linux. Niet alleen hardware
wordt hiermee geïnstalleerd maar ook software. Op dit laatste punt blinkt SuSE
overigens uit in vergelijking tot de andere besproken distributies: er wordt bij het
installeren van software automatisch gecontroleerd of er andere programma’s nodig zijn
om de software te kunnen gebruiken. Is dit het geval, dan wordt die software
automatisch mee geïnstalleerd.
Voordelen: Professioneel oog tot in ieder detail, eenvoudig te gebruiken YaST
configuratieprogramma
Nadelen: Niet over de hele wereld verkrijgbaar en alleen via softwareleveranciers of via
FTP download.
6.5 Vergelijking
Geen van de hier besproken Linux-distributies is duidelijk slechter dan de ander. Alleen
Debian valt in mijn opzicht iets buiten de boot. Deze is moeilijk te installeren en biedt
standaard geen Openoffice aan, wat de compatibiliteit met Windows werkstations
negatief beïnvloedt. In Mandrake, Red Hat en SuSE is Openoffice wel aanwezig wat de
kantoorfunctionaliteit ten goede komt. Op dit moment kan Red Hat het meest worden
aanbevolen omdat standaard al een goed pakket aan software wordt meegeleverd en
veel Linux-software op Internet voor Red Hat is geschreven. In de toekomst wanneer
Novell samen met SuSE een nieuwe standaard voor Linux in een netwerkomgeving
heeft gevormd zou dit wel eens kunnen veranderen.
Er zijn echter een aantal nadelen te noemen wanneer Linux wordt vergeleken met
Windows op het werkstation. Er kan worden gesteld dat op het gebied van
tekstverwerken beide besturingssystemen elkaar niet ver ontlopen. Linux kan goed met
het bestandsformaat van Microsoft om, die worden gebruikt om Word en Excel
documenten op te slaan. De enige fout die mij bekend is, is wanneer er gebruik wordt
gemaakt van macro’s. Doordat het bestandsformaat goed overeen komt, is het mogelijk
om een gemixt netwerk met Windows – en Linux cliënts op te zetten.
Op dit moment is veel software, die op cliënts draaien, echter geschreven voor
Windows. Hier beginnen dus de problemen. Linux is niet compatible met Windows dus
zal het onmogelijk zijn om deze software op Linux te draaien. Dit is een groot probleem
waar Linux mee te kampen heeft op een werkstation.
De verwachting is echter, omdat Novell zich heeft gestort in het Linux verhaal, dat
softwareleveranciers Linux als volwaardig besturingssysteem gaan zien. Wanneer er
voldoende software voor Linux beschikbaar komt, dan zal het niet lang meer duren
voordat Linux echt gaat doorbreken als het besturingssysteem voor het werkstations.
Maar op dit moment is de beste keuze om te kiezen voor Windows als
besturingssysteem voor op de desktop computer.
Linux in een netwerkomgeving
Pagina 62
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Conclusie
Linux is hard op weg een goed alternatief te vormen voor diverse server
besturingssystemen. Voor ‘statische’ taken als DHCP, DNS, Proxy en webserver is
Linux een, meestal beter en sneller, alternatief dan andere besturingssystemen zoals
Microsoft Windows of Novell. De Primairy Domain Controller (PDC) die met Linux wordt
meegeleverd mist eigenlijk nog een goed overzichtelijke grafische interface waarin de
positie van de gebruikers, printers, enz. in de tree kan worden weergegeven. Doordat
dit overzicht ontbreekt, is deze oplossing alleen geschikt voor kleine- tot middelgrote
bedrijven. De reden is dat dit soort bedrijven weinig medewerkers in dienst hebben
waardoor eenvoudig een administratie van werknemers kan worden bijgehouden.
De Linux distributie Red Hat is op dit moment het best te gebruiken wanneer de Linux
server voor bovenstaande taken wordt gebruikt. Red Hat heeft dit vooral te danken aan
de ruime hoeveelheid informatie die op Internet te vinden is, de vele softwarepakketten
die voor deze distributie geschreven zijn en de support die wordt gegeven. Red Hat
geeft zelfs cursussen aan engineers die zo hun Red Hat Service Engineer certificaat
kunnen behalen.
Wanneer moet worden gekozen welke mailserver geschikt is voor bedrijven, staan de
zaken er anders voor. Na een tweetal mailservers te hebben getest, blijkt
OpenExchange server een prima alternatief voor middelgrote tot grote bedrijven. Het
besturingssysteem dat bij OpenExchange server wordt meegeleverd is SuSE
Enterprise Server, op een andere Linux distributie zal dit niet draaien. Voor de
mailserver kan niet echt een keuze worden gemaakt tussen verschillende distributies.
Wanneer men voor OpenExchange server kiest is men verplicht SuSE enterprise
server te gebruiken.
Wordt naar de keuze voor Linux op een server gekeken naar de stabiliteit,
betrouwbaarheid en performance voor de desktop komen daar nog twee zaken bij
namelijk: gebruiksvriendelijkheid en beschikbare software.
Qua stabiliteit, betrouwbaarheid, performance en gebruiksvriendelijkheid zit het met
Linux wel goed. De gebruiker wordt een mooie goed overzichtelijke grafische interface
voorgeschoteld met mooi login scherm en een start menu waarin programma’s kunnen
worden opgestart. Wat betreft beschikbare software ligt de situatie iets moeilijker.
Wanneer een gebruiker alleen gebruik maakt van standaard software zoals Openoffice
Word of Excel zijn er weinig problemen. Het enige probleem wat mij bekend is, is
wanneer gebruik gemaakt wordt van macro’s, dit wordt door Linux fout geïnterpreteerd.
Wanneer gebruikt gemaakt wordt van softwarepakketten voor een bepaalde doelgroep,
zoals advocatuur software, is dit vaak voor Windows geschreven. Deze software is over
het algemeen niet te draaien op Linux. Dit maakt Linux ongeschikt voor dit soort
toepassingen.
Linux in een netwerkomgeving
Pagina 63
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Dit grote nadeel kan alleen worden weggenomen wanneer deze softwarefabrikanten
hun software beschikbaar maken voor Linux. Veel fabrikanten zijn hier al hard aan
bezig, maar vooralsnog is het nog niet zo ver.
Zijn alle vooraf gestelde doelstellingen gehaald? Nee, een alternatief voor Novell
ZENworks is voor Linux niet gevonden. Er is veel tijd aan een programma Red Carpet
besteed maar dit blijkt niet dezelfde functionaliteit te hebben dan ZENworks.
Tijdens dit project is een extra doelstelling aan het licht gekomen, namelijk de enkele
authenticatie voor alle aangeboden services. Dit zou mogelijk moeten zijn wanneer
gebruik wordt gemaakt van een pimairy domain controller (PDC). Echter moet deze
enkele authenticatie service worden toegevoegd aan de PDC. Dit bleek moeilijker te
zijn dan was gedacht. Na overleg is ervoor gekozen om deze service niet in dit project
mee te nemen.
De conclusie is dat Linux een goed alternatief biedt voor statische server toepassingen
echter om Linux op het werkstation te gebruiken zal men nog even geduld moeten
hebben tot voldoende software beschikbaar gesteld is.
Linux in een netwerkomgeving
Pagina 64
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bronvermelding
Boeken:
Sander van Vugt, Leerboek Linux Systeembeheer, 2003, Academic Service
Schoonhoven, 90 395 2042 9
Internet:
DHCP:
http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-dhcpconfiguring-server.html
http://www.tldp.org/HOWTO/DHCP/x369.html
http://lists.suse.com/archive/suse-linux/2003-May/0020.html
http://www.linuxforum.com/linux-dhcp-server/x369.html
Algemeen:
http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/index.html
http://www.onlamp.com/linux/cmd/
http://www.linuxfocus.org/Nederlands/Themes/sysadm.html
DNS:
http://handsonhowto.com/dns101.html
http://www.faqs.org/docs/securing/chap21sec162.html
SQUID:
http://www.pcquest.com/content/linux/linux8/103030707.asp
Samba:
http://networking.earthweb.com/netos/article.php/1144701
http://networking.earthweb.com/netos/article.php/1151091
http://www.sugoi.org/bits/index.php?bit_id=33
http://www.bilbos-stekkie.com/smb_print_share/index.php?action=0
http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/Samba-HOWTO-Collection3.0-PrintingChapter-11th-draft.html#14_8_2
http://www.samba.netfirms.com/sambconf.htm
Firewall:
http://www.informatie-beveiliging.nl/publicaties/2004/02/pca200402.shtml
http://www-jerry.oit.duke.edu/linux/HOWTO/ipchains_howto.html
http://www.linuxdocs.nl/index.php?pagina=RedHat%20router
http://www.sintjozefscollege.be/ecol/index.php?a=2
http://home.nedlinux.nl/~chromisx/xpadsl.php
http://www.ruwebit.net/article/77
http://www.cites.uiuc.edu/wsg/talks/iptables/iptables-rh8.html
Linux in een netwerkomgeving
Pagina 65
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Mailserver:
http://www.qmailtoaster.com/#mass
http://www.askdavis.com/qmailtoaster/#toasterinstall
http://networking.earthweb.com/netos/article.php/1582441
http://networking.earthweb.com/netos/article.php/10951_1582441_2
Webserver:
http://www.phpfreaks.com/tutorials/12/2.php
http://www.thescripts.com/serveradministration/webservers/apache/theapachewebserv
er/
Webmin:
http://www.webmin.com
http://www.swelltech.com/support/webminguide-1.0/index.html
Red Carpet Enterprise (Application Delivery):
http://www.ximian.com/products/redcarpet_enterprise/
http://www.novell.com/documentation/lg/ximian/rcserver.pdf
Nuttige Links:
Linux ISO’s:
http://www.linuxiso.org/
Updates en add on software voor Linux
http://www.rpmfind.net
Webmin download (Redhat, Caldera, SuSE, Mandrake):
http://prdownloads.sourceforge.net/webadmin/webmin-1.140-1.noarch.rpm
Zelf Linux Distributie maken
http://lfs.pagefault.net/lfs/news.html
Linux in een netwerkomgeving
Pagina 66
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlagen
Linux in een netwerkomgeving
Pagina 67
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 1: DHCP server
# Sample /etc/dhcpd.conf
ddns-update-stye interim;
DHCPDARGS=eth1
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name “ictivity.demon.nl”;
option domain-name-servers 192.168.1.1;
range 192.168.1.20 192.168.1.150;
}
Linux in een netwerkomgeving
Pagina 68
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 2: Caching nameserver
/* Onderstaande Access Control List bevat een lijst met
IP-ranges die binnen het bedrijfsnetwerk gebruikt worden.
Pas deze lijst zo aan dat deze ranges erin opgenomen zijn. */
acl "local_net" {
localhost;
10/8;
172.16/12;
192.168/16;
};
options {
/* voor chroot: /zones */
directory "/var/named/zones";
auth-nxdomain no;
recursion yes;
allow-recursion {
local_net;
};
allow-transfer {
none;
};
};
// generic zones
zone "." {
type hint;
file "root.hint";
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.zone";
};
Linux in een netwerkomgeving
Pagina 69
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 3: Voorbeeld example.com
$TTL 1D
0.10.in-addr.arpa.
erik.example.com. (
IN
SOA
ns.example.com.
2003040901
28800
14400
3600000
;
;
;
;
serial
refresh (8 hours)
retry (4 hours)
expire (5 weeks 6
86400
)
; minimum (1 day)
days 16 hours)
1
1.0
2.0
3.0
Linux in een netwerkomgeving
IN
NS
ns.example.com.
IN
IN
IN
IN
NS
PTR
PTR
PTR
ns.office.example.com.
www.example.com.
ns.example.com.
mail.example.com.
Pagina 70
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 4: Samba
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in
this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
#
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not made any basic syntactic errors.
#
#======================= Global Settings
[global]
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = ICTIVITY
netbios name = Linux
# server string is the equivalent of the NT Description field
server string = Samba Server %v %h
#
#
#
#
#
This option is important for security. It allows you to restrict
connections to machines which are on your local network. The
following example restricts access to two C class networks and
the "loopback" interface. For more examples of the syntax see
the smb.conf man page
hosts allow = 192.168.1. 127.
# Put a capping on the size of the log files (in Kb).
max log size = 50
# Security mode. Most people will want user level security. See
# security_level.txt for details.
security = user
# Password Level allows matching of _n_ characters of the password for
# all combinations of upper and lower case.
; password level = 8
; username level = 8
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
Linux in een netwerkomgeving
Pagina 71
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
#
#
#
#
#
#
The following are needed to allow password changing from Windows to
update the Linux system password also.
NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
NOTE2: You do NOT need these to allow workstations to change only
the encrypted SMB passwords. They allow the Unix password
to be kept in sync with the SMB password.
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n
*passwd:*all*authentication*tokens*updated*successfully*
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
interfaces = 192.168.1.1/24
# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
local master = yes
# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
os level = 64
# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
domain master = yes
# Preferred Master causes Samba to force a local browser election on startup
# and gives it a slightly higher chance of winning the election
preferred master = yes
# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
domain logons = yes
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
logon path = \\%L\Profiles\%U
logon home = \\%L\%U
logon drive = F:
logon script = netlogon.bat
Linux in een netwerkomgeving
Pagina 72
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
#============================ Share Definitions =============================
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
# Un-comment the following and create the netlogon directory for Domain
Logons
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
writable = no
share modes = no
# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory
[Profiles]
path = /home/samba/profiles
browseable = no14
Linux in een netwerkomgeving
Pagina 73
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 5: Meervoudige toegangscontrole en regels
1. Laat alleen bepaalde machines het Internet op:
acl allowed_clients src 172.16.1.10 172.16.1.20 172.16.1.30
http_access allow allowed_clients
http_access deny !allowed_clients
Dit laat alleen machines met de volgende IP adressen op Internet:
172.16.1.10, 172.16.1.20 en 172.16.1.30. De andere IP adressen (niet
aangegeven) kunnen Internet niet op.
2. Beperk de toegang tot bepaalde uren en voor bepaalde tijd:
acl allowed_clients src 172.16.1.1/255.255.0.0
acl regular_days time MTWHF 10:00-16:00
http_access allow allowed_clients regular_days
http_access deny allowed_clients
Hiermee mogen de cliënts in netwerk 172.16.1.1 van maandag tot vrijdag van
10:00 uur tot 16:00 uur het Internet op.
3. Meervoudige toegang voor verschillende cliënts:
acl hosts1 src 172.16.1.10
acl hosts2 src 172.16.1.20
acl hosts3 src 172.16.1.30
acl morning time 10:00-13:00
acl lunch time 13:30-14:30
acl evening time 15:00-18:00
http_access allow host1 morning
http_access allow host1 evening
http_access allow host2 lunch
http_access allow host3 evening
http_access deny all
De bovenstaande regel laat host1 zowel gedurende de ochtend als de
avonduren toe; terwijl host2 en host3 alleen tijdens de lunch en 's avonds
toegang hebben.
Opmerking: Alle elementen van een toegangsregel worden met "AND"
gekoppeld en op de volgende manier uitgevoerd:
http_access Action statement1 AND statement2 AND statement
OR.
Linux in een netwerkomgeving
Pagina 74
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Meervoudige http_access statements worden met "OR" gekoppeld, terwijl
elementen van een toegangsregel met "AND" worden gekoppeld; hierdoor kan
http_access allow host1 morning evening
nooit werken als ochtend en avond statement (morning AND evening),
aangezien dat nooit waar zou zijn en er daardoor geen actie zou worden
ondernomen.
4. Sites Blokkeren
Squid kan de toegang tot een bepaalde site of meerdere sites die een bepaald
woord bevatten, verbieden. Dit kan op de volgende manier worden gedaan:
acl allowed_clients src 192.168.0.1/255.255.255.0
acl banned_sites url_regex abc.com *()(*.com
http_access deny banned_sites
http_access allow allowed_clients
Ditzelfde mechanisme kan ook worden gebruikt om toegang tot sites die een
bepaald woord bevatten, bijvoorbeeld "dummy" of "fake".
acl allowed_clients src 192.168.0.1/255.255.255.0
acl banned_sites url_regex dummy fake
http_access deny banned_sites
http_access allow allowed_machines
Het is niet handig om alle woorden en site namen op te geven in het configuratie
bestand. Dit kan ook in een ander bestand worden ondergebracht (bijvoorbeeld
banned.list in de /etc directory) en ACL kan de gegevens uit dit bestand halen en
hiermee de toegang tot sites ontzeggen.
acl allowed_clients src 192.168.0.1/255.255.255.0
acl banned_sites url_regex "/etc/banned.list"
http_access deny banned_sites
http_access allow allowed_clients
5. De gegevens Cachen
Antwoord op de aanvragen wordt meteen gecached, dit is handig voor de
statistische gegevens. Het is niet nodig om cgi-bin of Servlet te cachen en dit
kan worden voorkomen door gebruik te maken van het "no_cache" ACL
element.
acl cache_prevent1 url_regex cgi-bin /?
acl cache_prevent2 url_regex Servlet
no_cache deny cache_prevent1
no_cache deny cache_prevent2
Linux in een netwerkomgeving
Pagina 75
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 6: MS Project schema
In deze bijlage wordt het schema weergegeven dat wordt besproken in hoofdstuk 1.
Duidelijk te zien zijn de in de tabel vermelde mijlpalen.
Linux in een netwerkomgeving
Pagina 76
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Bijlage 7: Projectverloop
Al tijdens mijn stageperiode (dus ook voordat het PMD ingeleverd moest worden) ben ik
op zoek gegaan naar een onderwerp voor mijn afstudeerverslag. Na overleg met mijn
bedrijfsbegeleider bestond er wederzijds interesse voor Linux. Na enkele dagen de tijd
te hebben genomen bleek het een goede beslissing, gezien het feit dat bijna alle
documentatie van Linux via Internet gepubliceerd wordt. Dit leverde mij voldoende
zekerheid, dat het project niet zal vastlopen doordat geen documentatie gevonden kon
worden. Dit was ook de reden dat uiteindelijk gekozen is om het project aan Linux te
wijden.
Nadat het PMD geschreven was ben ik direct begonnen met het lezen van het bestelde
boek. Dit is een algemeen Linux boek voor beginners (voor titel en auteur zie
bronvermelding). Door dit boek werd de basis gelegd voor mijn kennis van Linux die ik
in het begin niet had. In deze periode heb ik vernomen dat er binnen het bedrijf ICTivity
een cursus Linux zou worden gegeven voor de engineers. Natuurlijk kon ik niet anders
dan te kennen geven dat ik hier ook interesse in had, dus werd deze cursus ook
gevolgd.
Vervolgens werd een begin gemaakt met informatie te zoeken op Internet voor de
verschillende services zoals DHCP, Samba enz… Alleen voor de Squid proxy server is
lange tijd moeten zoeken voordat de juiste documentatie was gevonden. Toen is
besloten dit onderdeel in de planning naar achteren te schuiven en de andere
onderdelen voorrang te geven. Later is Squid alsnog uitgewerkt.
Grote problemen waren er om een alternatief voor ZENworks te vinden. Dit is een
Novell applicatie die wanneer op een werkstation is ingelogd een venster met uit te
voeren applicaties toont. Na ongeveer 3 weken zoeken naar documentatie vragen aan
engineers is deze service opgegeven. Het is gewoonweg nog niet mogelijk om op deze
wijze applicaties aan te bieden onder Linux. Ondertussen is wel de handleiding van
Red Carpet doorgelezen wat het product dan wel kan. Tijd moet tenslotte worden
verantwoord.
In het begin is ook veel tijd verspild aan het opnieuw installeren van de Linux server.
Door problemen met de harde schijf ging af en toe data verloren waardoor de server
niet meer opstartte. Mede door deze problemen is ervoor gekozen om alle services één
voor één te testen in plaats van alle services tegelijkertijd op de server te laten draaien.
Hierdoor ging veel minder werk verloren door de harde schijf. Later is deze schijf wel
vervangen maar de werkwijze hetzelfde gebleven.
Op deze manier is stap voor stap dit verslag tot een naslagwerk uitgewerkt. Afgezien
van de bovenstaande tegenslagen zijn er niet veel problemen opgetreden. Er is
nauwelijks van de planning afgeweken en uiteindelijk is het gewenste resultaat bereikt.
Linux in een netwerkomgeving
Pagina 77
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Register
Commando:
Functie
Blz
/etc/rc.d/init.d <service> start
ACL
chown
desktop environment
Start een service op
Access Control list
Verander de eigenaar van een bestand
Uitbreiding van window manager, universele grafische interface
Database van cliënts die IP-adres hebben gehad,
/var/lib/dhcpd/dhcp.leases
Levert IP-adressen aan werkstations binnen het netwerk
Configuratiebestand van DHCP server, /etc/dhcpd.conf
Opvragen DNS resource record
Domain Name System
Desktop environment
Omgeschreven UNIX tools gratis voor Linux
General Public Licence
Maak nieuwe groep aan
Internet Message Access Protocol
Reverse van zone
Standaard Linux firewall
Desktop environment
Hart van Linux besturingssysteem, bevat modulaire
stuurprogramma's
Zoeken naar bestanden
Maak directory aan
Mount een volume
Configuratiebestand van DNS, /etc/named.conf
Network Address Translation
Verander of maak nieuw wachtwoord voor gebruiker
Primairy Domain Controller
Post Office Protocol
Installeren, verwijderen van Red Hat package files
33
34
31
13
Start een service op
20
DHCP lease database
DHCP server
dhcpd.conf
dig
DNS
Gnome
GNU
GPL
groupadd
IMAP
in-addr.arpa
iptables
KDE
kernel
locate <bestandsnaam>
mkdir
mount
named.conf
NAT
passwd
PDC
POP
rpm
service <naam>
start/stop/restart
shell
smb.conf
Squid
touch
UNIX
useradd
vi
Webmin
Window Manager
X-cliënt
Xfree86
X-server
yast
Linux in een netwerkomgeving
Commando's van gebruikers juist interpreteren en doorgeven
aan kernel
Configuratiebestand van Samba, /etc/samba/smb.conf
Proxy server van Linux
Maak nieuw leeg bestand aan
Voorloper van Linux
Maak nieuwe gebruiker aan
Editor voor configuratiebestanden
Handige webbased tool om Linux te configureren
Uitbreiding van X, laat vensters vergroten en verkleinen
Programma waarmee gewerkt kan worden, wordt doorgegeven
aan X-server
Afgeleide van de UNIX X
Aansturen van grafische kaart
Beheerprogramma van SuSE Linux
19
16
17
24
21
13
14
13
31
51
23
42
13
10
26
31
33
21
45
32
25
51
26
11
26
34
20
8
31
27
40
12
12
12
12
59
Pagina 78
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Linux in een netwerkomgeving
Pagina 79
© ICTivity 2004. Het copyright op dit document berust bij ICTivity BV. Niets uit dit document mag worden verveelvoudigd en/of openbaar gemaakt door middel van
druk, fotokopie, microfilm, geluidsband, electronisch of op elke ander wijze dan ook zonder voorafgaande schriftelijke toestemming van ICTivity BV.
Typefouten voorbehouden.
Download