Linux NET-3-HOWTO, Linux N�tverk.
Terry Dawson, VK2KTJ, Alessandro Rubini (maintainer),
[email protected]. Svensk �vers�ttning av Tomas
Carlsson,
[email protected]
<mailto:
[email protected]>
v1.3, 1 April 1998. Svensk version 14 Juni 1998
Linux har ett k�rnbaserat n�tverksst�d som �r skrivet n�stan helt fr�n
noll. TCP/IP-prestandan i de senaste k�rnorna g�r Linux till ett
v�rdigt alternativ �ven till de b�sta av dess motst�ndare. Detta doku�
ment beskriver hur man installerar och konfigurerar n�tverksmjukvara
och tillh�rande verktyg i Linux.
______________________________________________________________________
Inneh�llsf�rteckning
1. �ndringar fr�n version 1.2
2. Introduktion.
2.1 Feedback
2.2 �vers�ttarens kommentarer
3. S� h�r anv�nder man detta HOWTO dokument (NET-3-HOWTO-HOWTO ?).
4. Generell Information om Linux N�tverk.
4.1 En kort historia om utvecklingen av Linux N�tverksk�rna.
4.2 Var man hittar ytterligare information om Linux n�tverk.
4.3 Var man hittar generell n�tverksinformation (icke Linux-specifik)
5. Generell Information om N�tverkskonfiguration
5.1 Vad beh�ver man f�r att b�rja?
5.1.1 K�llkoden f�r k�rnan.
5.1.2 N�tverksverktyg (Network Tools).
5.1.3 Applikationsprogram f�r n�tverket
5.1.4 Adresser.
5.2 Var skall man skriva konfigurationskommandona?
5.3 Att skapa sina n�tverksgr�nssnitt.
5.4 Att konfigurera ett n�tverksgr�nssnitt.
5.5 Att konfigurera din Name Resolver.
5.5.1 Vad best�r ett namn av?
5.5.2 Vilken information beh�ver man.
5.5.3 /etc/resolv.conf
5.5.4 /etc/host.conf
5.5.5 /etc/hosts
5.6 Att konfigurera loopbackenheten.
5.7 Routing.
5.7.1 S� vad g�r programmet
5.8 Att konfigurera n�tverksservrar och tj�nster.
5.8.1 (TT
5.8.1.1 Ett exempel p� en
5.8.2 (TT
5.8.2.1 Ett exempel p� en
5.9 Andra n�tverksrelaterade konfigurationsfiler.
5.9.1 (TT
5.9.2 (TT
5.10 N�tverkss�kerhet och �tkomstkontroll.
5.10.1 /etc/ftpusers
5.10.2 /etc/securetty
5.10.3 (EM
5.10.3.1 /etc/hosts.allow
5.10.3.2 /etc/hosts.deny
5.10.4 /etc/hosts.equiv
5.10.5 Konfigurera
5.10.6 Brandv�ggar.
5.10.7 Andra f�rslag.
6. N�tverksspecifik Information.
6.1 ARCNet
6.2 Appletalk (
6.2.1 Att konfigurera mjukvaran f�r Appletalk.
6.2.2 Att exportera ett Linuxfilsystem via Appletalk.
6.2.3 Att dela sin skrivare via Appletalk.
6.2.4 Att starta programvaran f�r Appletalk.
6.2.5 Att testa programvaran f�r Appletalk.
6.2.6 Brister i programvaran f�r Appletalk.
6.2.7 Mer information.
6.3 ATM
6.4 AX25 (
6.5 DECNet
6.6 EQL - trafikutj�mnare f�r multipla linor.
6.7 Ethernet
6.8 FDDI
6.9 Frame Relay
6.10 IP-redovisning (IP Accounting)
6.11 IP Aliasing
6.12 IP Brandv�ggar (IP Firewalls)
6.13 IPIP Inkapsling (IPIP Encapsulation)
6.13.1 En tunnlad n�tverkskonfiguration.
6.13.2 En tunnlad datorkonfiguration.
6.14 IPX (
6.15 IPv6
6.16 ISDN
6.17 IP-maskering (IP Masquerade).
6.18 IP Transparent Proxy
6.19 Mobil IP
6.20 Multicast
6.21 NAT - �vers�ttning av n�tverksadresser (Network Address Translation)
6.22 NetRom (
6.23 PLIP (Parallel Line Internet Protocol)
6.24 PPP (Point to Point Protocol)
6.24.1 Att vidh�lla en permanent anslutning till n�tet med
6.25 Rose protokollet (
6.26 SAMBA (st�d f�r `NetBEUI', `NetBios').
6.27 SLIP (Serial Line Internet Protocol) klient.
6.27.1 dip (Dialup IP)
6.27.2 slattach
6.27.3 N�r anv�nder man vilket?
6.27.4 Statisk SLIP-server med uppringd f�rbindelse och
6.27.5 Dynamisk SLIP-server med uppringd f�rbindelse och
6.27.6 Att anv�nda
6.27.7 Permanent SLIP-anslutning med hyrd ledning och
6.28 SLIP (Serial Line Internet Protocol) server.
6.28.1 SLIP-server med
6.28.1.1 Var man f�r tag p�
6.28.1.2 Att konfigurera
6.28.1.3 Att konfigurera
6.28.1.4 Att konfigurera
6.28.1.5 Att konfigurera
6.28.1.6 Att konfigurera
6.28.2 Slip Server med
6.28.2.1 Att konfigurera
6.28.3 SLIP server med paketet
6.29 STRIP (Starmode Radio IP)
6.30 Token Ring
6.31 X.25
6.32 WaveLan
7. Kablage
7.1 Seriell NULL-modem kabel.
7.2 Parallellportskabel (PLIP kabel)
7.3 10base2 (tunn koax) Ethernet-kabel
7.4 Tvinnad tv�par Ethernet-kabel.
8. Terminologi i detta dokument.
9. Linux f�r en ISP?
10. Tillk�nnagivanden
11. Copyright.
______________________________________________________________________
1. �ndringar fr�n version 1.2
Till�gg:
Lade till information om transproxy
Mindre fixar h�r och d�r
R�ttningar/Uppdateringar:
Ny maintainer
ToDo (ej �ndrad, tyv�rr):
L�gg till traffic shaper
Beskriv ny routing algoritm
L�gg till kompileringsalternativ i k�rnan f�r IPv6
Beskriv /proc/sys/net/* .
WanRouter enhet
2. Introduktion.
Den f�rsta NET-FAQen skrevs av Matt Welsh och Terry Dawson f�r att
besvara ofta st�llda fr�gor om n�tverk f�r Linux, detta i en tid f�re
Linux Documentation Project hade startat. Den t�ckte de tidiga
utvecklingsversionerna av Linux n�tverksk�rna. NET-2-HOWTO tog �ver
fr�n NET-FAQ och var ett av de f�rsta LDP HOWTO dokumenten, det t�ckte
version 2, och senare version 3, av Linuxk�rnans n�tverksmjukvara.
Detta dokument tar i sin tur �ver fr�n NET-2-HOWTO och behandlar
endast version 3 av Linux n�tverksk�rna.
Tidigare versioner av detta dokument blev ganska stora beroende p� den
enorma m�ngd material som det skulle t�cka. F�r att minska storleken
har ett antal HOWTO's producerats som behandlar specifika
n�tverks�mnen. Detta dokument kommer, d�r det �r relevant, att
tillst� med referenser till dessa och behandla de �mnen som inte t�cks
i andra dokument.
I April 1998 slutade Terry Dawson att uppr�th�lla NET-3, pga sin h�ga
belastning. Jag �r ny i jobbet, men skall g�ra mitt b�sta f�r att
lyckas.
2.1. Feedback
Jag uppskattar alltid feedback och s�rskilt v�rdefulla bidrag. Var
v�nlig att skicka alla bidrag till email <mailto:
[email protected]>.
2.2. �vers�ttarens kommentarer
F�rst skall s�gas att jag inte �r n�gon expert p� att �vers�tta
dokument fr�n engelska till svenska. N�r dokumentet dessutom �r
fullsp�ckat med tekniska termer s� blir det inte l�ttare. Jag har
f�rs�kt att �vers�tta de flesta termerna �nd� och i de fall som jag
inte gjort detta s� b�r det vara klart vad som menas. I de fall som
�vers�ttningen �r tveksam s� har jag �ven n�mnt den engelska termen.
F�r �vrigt s� finns det m�nga meningar som antagligen inte skulle g�ra
n�got vidare intryck p� en svenskal�rare, men jag hoppas att det g�r
att f�rst� �nd�.
P� ett par st�llen har jag lagt till ett par meningar, jag har d�
markerat detta med `(Sv�)'.
I andra sektioner av detta dokument (f�rutom denna) s� betyder `jag'
originalf�rfattaren.
--Tomas Carlsson,
[email protected]
<mailto:
[email protected]>
3. S� h�r anv�nder man detta HOWTO dokument (NET-3-HOWTO-HOWTO ?).
Formatet p� detta dokument skiljer sig fr�n tidigare versioner. Vi har
grupperat om sektionerna s� att det finns upplysande material i b�rjan
som man kan hoppa �ver om man inte �r intresserad, sedan kommer
generellt material som man m�ste f�rst� innan man forts�tter till de
teknikspecifika delarna i resten av dokumentet.
L�s de generella sektionerna
Dessa sektioner anv�nds i alla, eller n�stan alla, tekniker som
beskrivs senare och det �r viktigt att man f�rst�r dessa.
Se �ver sitt n�tverk
Man b�r veta hur ens n�tverk �r, eller kommer att vara, designat
och exakt vilken h�rdvara och teknik som man kommer att
implementera.
L�s det teknikspecifika sektionerna som �r relaterade till de krav
man har
N�r man vet vad man vill ha s� kan man ta sig an varje komponent
i tur och ordning. De h�r sektionerna behandlar endast detaljer
f�r en specifik teknik.
G�r konfigurationsarbetet
Man b�r f�rs�ka att konfigurera sitt n�tverk och noggrant notera
alla problem man st�ter p�.
Leta efter ytterligare hj�lp om det beh�vs
Om man st�ter p� problem som detta dokument inte kan hj�lpa till
med s� l�s sektionen om var man kan hitta hj�lp eller var man
kan rapportera buggar.
Ha kul!
N�tverk �r roligt, njut av det.
4. Generell Information om Linux N�tverk.
4.1. En kort historia om utvecklingen av Linux N�tverksk�rna.
Att utveckla en helt ny implementering av TCP/IP protokollstacken i
k�rnan som skulle prestera lika bra som existerande implementeringar
var inte en l�tt uppgift. Valet att inte porta en av de existerande
implementeringarna gjordes vid en tid d� det r�dde os�kerhet
betr�ffande om de existerande implementeringarna kunde bli besv�rade
av restriktiva copyrights p� grund av ett r�ttsfall av U.S.L och d�
det fanns mycket entusiasm f�r att g�ra det annorlunda och kanske till
och med b�ttre �n det redan hade gjorts.
Den f�rsta frivilliga att leda utvecklingen av n�tverkskoden var Ross
Biro <
[email protected]>. Ross gjorde en enkel och inkomplett men
mestadels anv�ndbar implementering, som ut�kades med en Ethernet-
drivrutin f�r ett WD-8003 n�tverkskort. Detta r�ckte f�r att f� m�nga
personer att testa och experimentera med koden och n�gra klarade till
och med av att ansluta maskiner till Internet med denna
implementering. Trycket p� n�tverksst�d �kade i Linuxv�rlden och till
slut var kostnaden f�r or�ttvist tryck p� Ross st�rre �n vad han fick
ut av projektet s� han lade av som huvudutvecklare. Ross
anstr�ngningar f�r att f� ig�ng projektet och ta ansvar f�r att
verkligen producera n�gonting anv�ndbart under s�dana kontroversiella
omst�ndigheter var vad som drev p� allt framtida arbete och var d�rf�r
en viktig del av framg�ngen med den nuvarande produkten.
Orest Zborowski <
[email protected]> producerade det f�rsta
programmeringsgr�nssnittet f�r BSD sockets till Linuxk�rnan. Detta var
ett stort steg fram�t eftersom det till�t m�nga av de existerande
n�tverksapplikationerna att bli portade till Linux utan omfattande
modifiering.
N�gon g�ng vid denna tid utvecklade Laurence Culhane
<
[email protected]> de f�rsta drivrutinerna f�r Linux som st�dde
SLIP-protokollet. Dessa gjorde det m�jligt f�r m�nga m�nniskor som
inte hade tillg�ng till Ethernet-n�tverk att experimentera med den nya
n�tverksmjukvaran. �terigen s� tog n�gra personer denna drivrutin och
lyckades ansluta sig till Internet. Detta gav m�nga en smak av de
m�jligheter som kunde bli realiserade om Linux hade fullt n�tverksst�d
och �kade antalet anv�ndare av den existerande n�tverksmjukvaran.
En av de som aktivt hade arbetat med uppgiften att implementera
n�tverksst�d var Fred van Kempen <
[email protected]>. Efter
en tid av os�kerhet efter Ross avhopp fr�n positionen som
huvudutvecklare s� erbj�d Fred sin tid och insats. Fred hade n�gra
ambiti�sa planer f�r vart han ville leda Linux n�tverksmjukvara och
han b�rjade framskrida i den riktningen. Fred producerade en serie
n�tverkskod som kallades 'NET-2' k�rnkod ('NET'-koden var Ross) som
m�nga kunde anv�nda ganska anv�ndbart. Fred's NET-2 kod anv�ndes av
ett hyfsat stort antal entusiaster, som �kade allt eftersom ryktet
spred sig att koden fungerade. Vid denna tid var n�tverksmjukvaran
fortfarande ett stort antal patchar till standardversionen av k�rnan
och var inte inkluderad i den normala versionen. NET-FAQ och
NET-2-HOWTO beskrev d� den ganska komplicerade rutinen f�r att f� allt
att fungera. Freds m�l var att utveckla nyheter till standard
implementeringen, och detta tog tid. Linuxv�rlden v�ntade ot�ligt p�
n�got som fungerade p�litligt och, precis som med Ross, s� �kade
trycket p� Fred som huvudutvecklare.
Alan Cox <
[email protected]> f�reslog en l�sning till problemet.
Han f�reslog att han skulle ta Freds NET-2 kod och debugga den, g�ra
den p�litlig och stabil s� att den skulle tillfredsst�lla de ot�liga
anv�ndarna och samtidigt l�tta p� trycket p� Fred s� att han kunde
forts�tta sitt jobb. Alan b�rjade med detta, med viss framg�ng och
hans f�rsta version av n�tverkskod kallades 'NET-2D(ebugged)'. Koden
fungerade p�litligt i m�nga typiska konfigurationer och anv�ndarna var
n�jda. Alan hade egna ideer och f�rdigheter att bidra med till
projektet vilket ledde till m�nga diskussioner relaterade till
riktningen p� NET-2 koden. Det skapades tv� olika l�ger i
Linuxv�rlden, en med filosofin 'f� det att fungera, sen g�r det
b�ttre' och den andra 'g�r det b�ttre f�rst'. Linus st�dde Alans
utveckling och inkluderade Alans kod i standarddistributionen av
k�rnkoden. Detta placerade Fred i en sv�r situation. Fortsatt
utveckling skulle sakna anv�ndning och testning av den stora
anv�ndarskaran och detta skulle betyda att det skulle bli sv�rt och g�
l�ngsamt. Fred fortsatte att arbeta en kort tid men lade till slut av
och Alan blev den nya ledaren f�r Linux n�tverksutveckling.
Snart avsl�jade Donald Becker <
[email protected]> sina
talanger i l�gniv�aspekterna f�r n�tverk och producerade en enorm
m�ngd av Ethernet-drivrutiner, n�stan alla de som finns i nuvarande
k�rnor �r utvecklade av Donald. Det finns andra som har givit
betydelsefulla bidrag, men Donalds arbete �r produktivt och kr�ver
speciell uppm�rksamhet.
Alan fortsatte att f�rfina NET-2-Debugged koden en tid samtidigt som
han arbetade p� det som fanns p� 'TODO'-listan. D� Linux 1.3.*
k�rnkoden hade v�xt till sig hade n�tverkskoden g�tt �ver till NET-3
versionen som nuvarande versioner grundar sig p�. Alan arbetade p�
m�nga olika aspekter p� n�tverkskoden och med hj�lp av en m�ngd
talangfulla personer fr�n Linuxv�rlden v�xte koden i alla m�jliga
riktningar. Alan producerade dynamiska n�tverksenheter och de f�rsta
standard AX.25 och IPX implementeringarna. Alan har fortsatt att meka
med koden, l�ngsamt strukturerat om och f�rb�ttrat den till det
tillst�nd den �r i idag.
PPP-st�d lades till av Michael Callahan <
[email protected]> och
Al Longyear <
[email protected]>, detta var ocks� kritiskt f�r att
�ka antalet personer som anv�nde Linux f�r n�tverk.
Jonathon Naylor <
[email protected]> har bidragit med att g�ra
betydande f�rb�ttringar av Alans AX.25 kod, lagt till st�d f�r NetRom
och Rose protokoll. AX.25/NetRom/Rose st�det i sig sj�lv �r ganska
betydelsefullt, f�r att inget annat operativsystem har inbyggt st�d
f�r dessa protokoll f�rutom Linux.
Det finns naturligtvis hundratals andra personer som har givit
betydelsefulla bidrag till utvecklingen av Linux n�tverksmjukvara.
N�gra av dessa kommer att n�mnas senare i de teknikspecifika
sektionerna, andra har bidragit med moduler, drivrutiner, buggfixar,
f�rslag, testrapporter och moraliskt st�d. I alla dessa fall kan var
och en s�ga att den varit del av utvecklingen. Linux n�tverkskod �r
ett utm�rkt exempel p� de resultat som kan uppn�s med Linux
anarkistiska utvecklingsstil, om man inte �r f�rv�nad �ver detta �n,
s� blir man det snart f�r utvecklingen har inte slutat �n.
4.2. Var man hittar ytterligare information om Linux n�tverk.
Det finns ett antal st�llen d�r man kan hitta bra information om Linux
n�tverk.
Alan Cox, den nuvarande handhavaren av Linux n�trverkskod har en World
Wide Web sida som inneh�ller h�jdpunkter fr�n utvecklingen av
n�tverkskoden: www.uk.linux.org
<
http://www.uk.linux.org/NetNews.html>.
Ett annat bra st�lle �r en bok, Network Administrators Guide, skriven
av Olaf Kirch. Den tillh�r Linux Documentatation Project
<
http://sunsite.unc.edu/LDP/> och man kan l�sa den online p� Network
Administrators Guide HTML version
<
http://sunsite.unc.edu/LDP/LDP/nag/nag.html> eller h�mta den i olika
format via ftp fr�n sunsite.unc.edu LDP ftp archive
<
ftp://sunsite.unc.edu/pub/Linux/docs/LDP/network-guide/>. Olafs bok
�r ganska omfattande och ger en bra �versikt av h�gniv�konfiguration
av n�tverket i Linux.
Det finns en nyhetsgrupp i Linux nyhetshierarkin som �r avsedd f�r
n�tverk och dess relaterade �mnen, den �r: comp.os.linux.networking
<news:comp.os.linux.networking>
Det finns en mailing-lista som man kan prenumerera p� d�r man kan
fr�ga fr�gor relaterade till Linux n�tverk. F�r att prenumerera skall
man skicka ett e-post meddelande:
To:
[email protected]
Subject: anything at all
Message:
subscribe linux-net
P� de olika IRC n�tverken finns det ofta #linux kanaler p� vilka
personer kan svara p� fr�gor om Linux n�tverk.
Kom ih�g att n�r man rapporterar ett problem s� skall man inkludera s�
mycket relevanta detaljer om problemet som man kan. Speciellt s� b�r
man specificera vilka versioner av mjukvara man anv�nder, s�rskilt
k�rnversionen, versionen p� verktyg s�som pppd eller dip och den
exakta karakt�ren av problemet som man upplever. Detta betyder bland
annat att notera den exakta syntaxen p� felmeddelanden som man f�r och
alla kommandon som man anv�nder.
4.3. Var man hittar generell n�tverksinformation (icke Linux-speci�
fik)
Om man vill ha grundl�ggande information om TCP/IP n�tverk, s� kan jag
rekommendera f�ljande dokument:
tcp/ip introduction
detta dokument finns b�de som text version
<
ftp://athos.rutgers.edu/runet/tcp-ip-intro.doc> och som
postscript version <
ftp://athos.rutgers.edu/runet/tcp-ip-
intro.ps>.
tcp/ip administration
detta dokument finns b�de som text version
<
ftp://athos.rutgers.edu/runet/tcp-ip-admin.doc> och som
postscript version <
ftp://athos.rutgers.edu/runet/tcp-ip-
admin.ps>.
Om man vill ha mer detaljerad information om TCP/IP n�tverk s� kan jag
rekommendera:
"Internetworking with TCP/IP"
av Douglas E. Comer
ISBN 0-13-474321-0
Prentice Hall publications.
Man kan ocks� prova nyhetsgruppen comp.protocols.tcp-ip
<news:comp.protocols.tcp-ip>.
En viktig informationsk�lla n�r man �r ute efter teknisk information
relaterad till Internet och TCP/IP protokollen �r RFCs. RFC �r en
f�rkortning av 'Request For Comment' och �r det standardiserade s�ttet
att l�mna ut och dokumentera protokollstandarder f�r Internet. Det
finns m�nga st�llen att h�mta RFCs fr�n. M�nga av dessa �r ftp-sajter
och andra tillhandah�ller World Wide Web sidor med s�kmotorer d�r man
kan kan s�ka i RFC databasen med nyckelord.
En m�jlig k�lla f�r RFCs �r: Nexor RFC database
<
http://pubweb.nexor.co.uk/public/rfc/index/rfc.html>.
5. Generell Information om N�tverkskonfiguration
F�ljande delsektioner inneh�ller information som man m�ste f�rst� f�r
att kunna konfigurera sitt n�tverk. Det �r fundamentala principer som
g�ller oavsett karakt�ren p� n�tverket som man skall anv�nda.
5.1. Vad beh�ver man f�r att b�rja?
Innan man b�rjar bygga eller konfigurera sitt n�tverk beh�ver man
n�gra saker. De viktigaste �r:
5.1.1. K�llkoden f�r k�rnan.
Eftersom k�rnan som man k�r nu inte n�dv�ndigtvis �nnu har st�d f�r de
n�tverk och n�tverkskort som man vill anv�nda s� beh�ver man
antagligen k�llkoden f�r k�rnan s� att man kan kompilera om den med
l�mpliga till�gg.
Man kan alltid h�mta den senaste k�llkoden fr�n: ftp.funet.fi
<
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0>.
Vanligtvis s� packas k�llkoden upp till katalogen /usr/src/linux. F�r
mer information om hur man l�gger till patchar och hur man kompilerar
k�rnan s� b�r man l�sa Kernel-HOWTO <Kernel-HOWTO.html>. F�r
information om hur man konfigurerar k�rnans moduler s� b�r man l�sa
Module-HOWTO <Module-HOWTO.html>.
Om inte annat s�gs specifikt s� rekommenderar jag att man h�ller dig
till standardversionerna av k�rnan (de med j�mna nummer som andra
siffra i versionsnummret). Versioner under utveckling (de med udda
andra siffra) kan ha strukturella eller andra �ndringar som kan skapa
problem med annan mjukvara i sitt system. Om man �r os�ker p� om man
klarar av att l�sa den typen av problem, s� skall man inte anv�nda de
versionerna.
5.1.2. N�tverksverktyg (Network Tools).
N�tverksverktygen �r de program som man anv�nder f�r att konfigurera
n�tverksenheter i Linux. Med dessa verktyg kan man tilldela adresser
till enheter och konfigurera routes till exempel.
De flesta moderna Linuxdistributioner �r utrustade med
n�tverksverktyg, s� om man har installerat fr�n en distribution och
�nnu inte installerat n�tverksverktygen s� b�r man g�ra detta nu.
Om man inte har installerat fr�n en distribution s� beh�ver man
k�llkoden f�r att kompilera verktygen sj�lv. Detta �r inte sv�rt.
N�tverksverktygen handhas av Bernd Eckenfels och finns p�:ftp.inka.de
<
ftp://ftp.inka.de/pub/comp/Linux/networking/NetTools/> och �r
speglade p�: ftp.uk.linux.org
<
ftp://ftp.uk.linux.org/pub/linux/Networking/base/>.
Man skall vara noga med att v�lja en version som passar den k�rna som
man har t�nkt att anv�nda och med att f�lja instruktionerna i paketet
f�r att installera.
F�r att installera den senaste versionen d� detta skrivs s� beh�ver
man g�ra f�ljande:
#
# cd /usr/src
# tar xvfz net-tools-1.33.tar.gz
# cd net-tools-1.33
# make config
# make
# make install
#
Dessutom, om man t�nker konfigurera en brandv�gg eller anv�nda IP-
maskering, s� beh�ver man ipfwadm kommandot. Den senaste versionen
finns p�: ftp.xos.nl <ftp:/ftp.xos.nl/pub/linux/ipfwadm>. �terigen s�
finns det ett antal versioner tillg�ngliga. Se till att v�lja den som
passar b�st till din k�rna.
F�r att installera den senaste versionen d� detta skrivs s� beh�ver
man g�ra f�ljande:
#
# cd /usr/src
# tar xvfz ipfwadm-2.3.0.tar.gz
# cd ipfwadm-2.3.0
# make
# make install
#
5.1.3. Applikationsprogram f�r n�tverket
Applikationsprogrammen �r program s�som telnet och ftp och deras
respektive serverprogram. David Holland <
[email protected]>
handhar en distribution av de vanligaste av dessa. man kan h�mta dem
fr�n: ftp.uk.linux.org
<
ftp://ftp.uk.linux.org/pub/linux/Networking/base>.
F�r att installera den senaste versionen d� detta skrivs s� beh�ver
man g�ra f�ljande:
#
# cd /usr/src
# tar xvfz /pub/net/NetKit-B-0.08.tar.gz
# cd NetKit-B-0.08
# more README
# vi MCONFIG
# make
# make install
#
5.1.4. Adresser.
Internet Protokoll Adresser �r uppbyggda av fyra bytes. Konventionen
�r att skriva adresser i vad som kallas 'punkterad decimal notation'.
I denna formen �r varje byte konverterad till ett decimalt tal
(0-255), utan nollor i b�rjan, och skrivs med varje byte separerad med
ett '.' tecken. Varje (n�tverks-)gr�nssnitt hos en v�rddator eller
router har en IP-adress. I vissa fall �r det till�tet att ha samma IP-
adress p� alla gr�nssnitt p� en och samma maskin, men vanligtvis har
varje gr�nssnitt sin egen adress.
Internet Protokoll n�tverk �r kontinuerliga sekvenser av IP-adresser.
Alla adresser inom ett n�tverk har ett antal siffror i adressen
gemensamma. Den del av adressen som �r gemensam f�r alla adresser inom
ett n�tverk kallas 'n�tverksdelen' ('network portion') av adressen.
Antalet bitar som �r delade av alla adresser inom ett n�tverk kallas
'n�tmasken' ('netmask') och det �r n�tmaskens uppgift att avg�ra vilka
adresser som h�r till n�tverket som n�tmasken tillh�r och vilka som
inte g�r det. Beakta f�ljande exempel:
----------------- ---------------
Host Address 192.168.110.23
Network Mask 255.255.255.0
Network Portion 192.168.110.
Host portion .23
----------------- ---------------
Network Address 192.168.110.0
Broadcast Address 192.168.110.255
----------------- ---------------
Alla adresser som blir 'bitvis andade' med sin n�tmask kommer att
avsl�ja adressen till n�tverket som den tillh�r. N�tverksadressen �r
d�rf�r den l�gst numrerade adressen i den rad av adresser som finns i
n�tverket och har v�rddatordelen av adressen satt till nollor.
Broadcastadressen �r en speciell adress som varje v�rddator p�
n�tverket lyssnar till ut�ver sin egen unika adress. Till denna adress
s�nds datagram om det �r t�nkt att alla maskiner p� n�tverket skall ta
emot dem. Vissa typer av data s�som route information och
varningsmeddelanden s�nds till broadcastadressen s� att alla maskiner
p� n�tverket kan ta emot dem samtidigt. Det finns tv� vanligt
f�rekommande standarder f�r vad broadcastadressen skall vara. Den mest
anv�nda �r att den h�gsta m�jliga adressen i n�tverket anv�nds som
broadcastadress. I exemplet ovan skulle detta vara 192.168.110.255. Av
n�gon anledning anv�nder vissa sajter n�tverksadressen som
broadcastadress. I praktiken spelar det ingen st�rre roll vilket man
anv�nder men man m�ste vara s�ker p� att alla maskiner p� n�tverket
anv�nder samma broadcastadress.
Av administrativa sk�l n�gon g�ng tidigt i utvecklingen av IP-
protokollet delades adresserna in i n�gra slumpvisa grupper av n�tverk
och dessa n�tverk grupperades i vad som kallas f�r klasser. Dessa
klasser tillhandah�ller ett antal n�tverk av standardstorlekar som kan
bli allokerade. De allokerade �r:
----------------------------------------------------------
| Network | Netmask | Network Addresses |
| Class | | |
----------------------------------------------------------
| A | 255.0.0.0 | 0.0.0.0 - 127.255.255.255 |
| B | 255.255.0.0 | 128.0.0.0 - 191.255.255.255 |
| C | 255.255.255.0 | 192.0.0.0 - 223.255.255.255 |
|Multicast| 240.0.0.0 | 224.0.0.0 - 239.255.255.255 |
----------------------------------------------------------
Vilka adresser som man skall anv�nda beror p� vad det �r exakt man
skall g�ra. Man kan beh�va anv�nda en kombination av f�ljande f�r att
f� de adresser man beh�ver:
Installera en Linuxmaskin p� ett existerande IP-n�tverk
Om man vill installera en Linuxmaskin p� ett existerande IP-
n�tverk s� b�r man kontakta den som administrerar n�tverket och
fr�ga efter f�ljande:
� IP-adress f�r v�rddatorn (Host IP Address)
� IP n�tverksadress (IP Network Address)
� IP broadcastadress
� IP n�tmask (IP Netmask)
� Routeradress
� DNS adress (Domain Name Server Address)
Man skall sedan konfigurera sin Linux n�tverksenhet med de
uppgifterna. man kan inte hitta p� dem och f�rv�nta sig att det
skall fungera.
Bygga ett helt nytt n�tverk som aldrig skall anslutas till Internet
Om man bygger ett privat n�tverk som man aldrig t�nker ansluta
till Internet s� kan man v�lja vilka adresser man vill. Men, f�r
s�kerhets och konsistens skull s� har vissa IP-adresser blivit
reserverade speciellt f�r detta �ndam�l. De �r specificerade i
RFC1597 och �r f�ljande:
-----------------------------------------------------------
| RESERVED PRIVATE NETWORK ALLOCATIONS |
-----------------------------------------------------------
| Network | Netmask | Network Addresses |
| Class | | |
-----------------------------------------------------------
| A | 255.0.0.0 | 10.0.0.0 - 10.255.255.255 |
| B | 255.255.0.0 | 172.16.0.0 - 172.31.255.255 |
| C | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 |
-----------------------------------------------------------
Man b�r f�rst best�mma hur stort n�tverket skall vara och sedan
v�lja s� m�nga adresser som man beh�ver.
5.2. Var skall man skriva konfigurationskommandona?
Det finns n�gra olika metoder f�r Linux systemstartprocedurer. Efter
det att k�rnan bootar, s� exekverar den alltid ett program som heter
init. init programmet l�ser sedan en konfigurationsfil som heter
/etc/inittab och inleder uppstartsprocessen. Det finns n�gra olika
versioner av init och det �r denna variationen som �r den st�rsta
orsaken till skillnad mellan distributioner eller maskiner.
Vanligtvis s� inneh�ller /etc/inittab filen en rad som ser ut
n�gonting som liknar:
si::sysinit:/etc/init.d/boot
Denna raden specificerar namnet p� det shell-script som verkligen
utf�r uppstarten. Denna fil skulle kunna j�mf�ras med filen
AUTOEXEC.BAT i MS-DOS.
Vanligtvis finns det andra script som anropas av boot-scriptet och
ofta s� konfigureras n�tverket i n�got av dessa.
F�ljande tabell kan anv�ndas som guide f�r ett system:
-------------------------------------------------------------------------------
Distrib. |Interface Config/Routing |Server Initialisation
-------------------------------------------------------------------------------
Debian |/etc/init.d/network |/etc/init.d/netbase
| |/etc/init.d/netstd_init
| |/etc/init.d/netstd_nfs
| |/etc/init.d/netstd_misc
-------------------------------------------------------------------------------
Slackware|/etc/rc.d/rc.inet1 |/etc/rc.d/rc.inet2
-------------------------------------------------------------------------------
RedHat |/etc/sysconfig/network-scripts/ifup-<ifname>|/etc/rc.d/init.d/network
-------------------------------------------------------------------------------
De flesta moderna distributioner har ett program med vilket man kan
konfigurera m�nga av de vanligaste sorterna av n�tverksgr�nssnitt. Om
man har en av dessa s� b�r man se om det kan g�ra det man vill innan
man ger sig p� manuell konfiguration.
-----------------------------------------
Distrib | Network configuration program
-----------------------------------------
RedHat | /sbin/netcfg
Slackware | /sbin/netconfig
-----------------------------------------
5.3. Att skapa sina n�tverksgr�nssnitt.
I m�nga Unix operativsystem s� framtr�der n�tverksenheterna i /dev
katalogen. S� �r inte fallet i Linux. I Linux skapas n�tverksenheterna
dynamiskt i mjukvara och d�rmed m�ste inte enhetsfiler finnas.
I de flesta fall skapas n�tverksenheterna automatiskt av drivrutinen
n�r den initialiseras och hittar din h�rdvara. Till exempel s� skapar
Ethernetdrivrutinen eth[0..n] gr�nssnitten sekvensiellt medan den
hittar din Etherneth�rdvara. Det f�rsta Ethernetkortet som hittas blir
eth0, det andra eth1 osv.
Men i n�gra fall, tex slip och ppp, s� skapas n�tverksenheterna genom
att n�got anv�ndarprogram k�rs. Samma sekvensiella numrering g�ller,
men enheterna skapas inte automatiskt vid systemstarten. Anledningen
till detta �r att, till skillnad fr�n Ethernetenheterna, s� kan
antalet aktiva slip eller ppp enheter variera under tiden systemet �r
ig�ng. De h�r fallen g�s igenom mer noggrannt senare.
5.4. Att konfigurera ett n�tverksgr�nssnitt.
N�r man har alla program man beh�ver och sina adress- och
n�tverksuppgifter s� kan man konfigurera sina n�tverksgr�nssnitt. N�r
vi pratar om att konfigurera ett n�tverksgr�nssnitt s� pratar vi om
processen att tilldela en n�tverksenhet l�mpliga adresser och att ge
l�mpliga v�rden till andra konfigurerbara parametrar hos en
n�tverksenhet. Det mest anv�nda programmet f�r detta �r kommandot
ifconfig (interface configure).
Vanligtvis b�r man anv�nda ett kommando som liknar f�ljande:
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
I detta fallet konfigurerar jag ett Ethernetkort eth0 med IP-adressen
192.168.0.1 och en n�tmask 255.255.255.0. Parametern up som f�ljer
kommandot talar om f�r enheten att den skall bli aktiv.
K�rnan f�ruts�tter vissa f�rvalda v�rden n�r man konfigurerar
gr�nssnitt. Till exempel s� kan man specificera n�tverksadress och
broadcastadress f�r ett gr�nssnitt. Men om man inte g�r det, som i
exemplet ovan, s� g�r k�rnan rimliga gissningar baserade p� n�tmasken,
och om man inte specificerat n�gon n�tmask s� tittar k�rnan p� klassen
av IP-adress. I exemplet ovan skulle k�rnan anta att det �r ett klass
C n�tverk som skall konfigureras och d�rmed s�tta n�tverksadressen
till 192.168.0.0 och broadcastadressen till 192.168.0.255.
Det finns m�nga andra parametrar till ifconfig. De viktigaste �r:
up aktiverar ett gr�nssnitt.
down
deaktiverar ett gr�nssnitt.
[-]arp
sl�r av eller sl�r p� 'address resolution protocol' f�r
gr�nssnittet.
[-]allmulti
sl�r av eller sl�r p� mottagning av alla h�rdvaru-
multicastpaket. H�rdvaru-multicast l�ter grupper av maskiner att
ta emot paket som �r adresserade till speciella destinationer.
Detta kan vara viktigt om man anv�nder applikationer s�som
videokonferenssystem men anv�nds normalt inte.
mtu N
specificerar MTU f�r enheten.
netmask addr
specificerar n�tmasken f�r n�tverket som maskinen tillh�r.
irq addr
denna parameter fungerar endast f�r viss h�rdvara och s�tter IRQ
f�r enheten.
[-]broadcast [addr]
sl�r p� mottagning av datagram som skickas till
broadcastadressen, eller sl�r av mottagning av dessa datagram.
[-]pointopoint [addr]
s�tter adressen p� maskinen p� andra �nden av en punkt till
punkt f�rbindelse som tex slip eller ppp.
hw <type> <addr>
s�tter h�rdvaruadressen f�r n�tverksenheten. Oftast �r detta
inte anv�ndbart f�r Ethernet, men �r anv�ndbart f�r andra typer
av n�tverk som tex AX.25.
Man kan anv�nda kommandot ifconfig p� alla n�tverksgr�nssnitt. Vissa
anv�ndarprogram, tex pppd och dip, konfigurerar enheterna automatisk
n�r de skapar dem, s� manuell anv�ndning av ifconfig �r inte
n�dv�ndig.
5.5. Att konfigurera din Name Resolver.
Name Resolvern �r en del av Linux standardbibliotek. Dess huvudsakliga
funktion �r att tillhandah�lla en tj�nst f�r att �vers�tta
m�nniskov�nliga datornamn som ftp.funet.fi till maskinv�nliga IP-
adresser som 128.214.248.6.
5.5.1. Vad best�r ett namn av?
De flesta �r antagligen bekanta med hur datornamn upptr�der i
Internet, men man kanske inte vet hur de �r konstruerade, eller
rekonstruerade. Internet dom�nnamn �r av hierarkisk karakt�r, dvs de
har tr�dstruktur. En dom�n �r en familj, eller grupp av namn. En dom�n
kan brytas ned i subdom�ner. En toppdom�n �r en dom�n som inte �r en
subdom�n. Toppdom�nerna �r specificerade i RFC-920. N�gra exempel p�
de vanligaste topdom�nerna �r:
COM
Kommersiella Organisationer
EDU
Utbildningsorganisationer
GOV
Regeringsorganisationer
MIL
Milit�rorganisationer
ORG
Andra Organisationer
NET
Internet-Relaterade Organisationer
Landskod
Detta �r koder som best�r av tv� bokst�ver och som representerar
ett visst land.
Alla dessa toppdom�ner har subdom�ner. Toppdom�nerna baserade p�
landsnamn bryts sedan ned i subdom�ner baserade p� com, edu, gov, mil
och org dom�ner (detta �r ju dock inte fallet i .se-dom�nen �nnu.
�vers�ttarens kommentar). S� till exempel blir det com.au och gov.au
f�r kommersiella och regeringsorganisationer i Australien. Av
historiska sk�l s� anv�nds de dom�ner som tillh�r de icke
landsbaserade toppdom�nerna mestadels av organisationer i USA, trots
att USA har sin egen landskod .us.
N�sta nedbrytningsniv� representerar oftast namnet p� organisationen.
Ytterligare subdom�ner varierar i karakt�r, oftast s� baseras n�sta
niv� p� avdelningar inom organisationen, men den kan baseras p� vilket
kriterium som helst som har n�gon betydelse f�r
n�tverksadministrat�rerna i organisationen.
Delen l�ngst till v�nster av namnet �r alltid det unika namnet som
v�rddatorn har och det kallas f�r hostname, den delen av namnet som
finns till h�ger om hostname kallas f�r domainname och hela namnet
heter Fully Qualified Domain Name.
Med min egen emailv�rddator som exempel, s� �r `Fully Qualified Domain
Name' perf.no.itg.telstra.com.au. Detta betyder att hostname �r perf
och domainname �r no.itg.telstra.com.au. Dom�nnamnet �r baserat p� en
toppdom�n vilken �r baserad p� mitt land, Australien och eftersom min
epostadress tillh�r en komersiell organisation s� har vi .com p� n�sta
niv�. F�retagets namn �r (var) telstra och v�r interna namnstruktur �r
baserad p� den organisationella strukturen, i mitt fall s� tillh�r
maskinen Information Technology Group, Network Operations sektionen.
5.5.2. Vilken information beh�ver man.
Man beh�ver veta vilken dom�n datorns namn skall tillh�ra. Name
Resolvermjukvaran tillhandah�ller namn�vers�ttning genom att g�ra
f�rfr�gningar till en Domain Name Server, s� man beh�ver veta IP-
adressen till en lokal namnserver som man kan anv�nda.
Det finns tre filer som man beh�ver editera, jag ber�ttar om dem i tur
och ordning.
5.5.3. /etc/resolv.conf
Filen /etc/resolv.conf �r huvudfilen f�r att konfigurera
namn�vers�ttaren. Dess format �r ganska enkelt. Det �r en textfil med
ett nyckelord per rad. Det finns tre nyckelord som vanligtvis anv�nds,
de �r:
domain
detta nyckelord specificerar det lokala dom�nnamnet.
search
detta nyckelord specificerar en lista med alternativa dom�nnamn
att leta i efter ett datornamn.
nameserver
detta nyckelord, som kan anv�ndas flera g�nger, specificerar en
IP-adress till en namnserver (Domain Name Server) att anv�nda
n�r man �vers�tter namn.
Ett exempel p� /etc/resolv.conf kan se ut n�gonting som f�ljande:
domain maths.wu.edu.au
search maths.wu.edu.au wu.edu.au
nameserver 192.168.10.1
nameserver 192.168.12.1
Detta exempel anger att man l�gger till dom�nnamnet maths.wu.edu.au
till datornamn som ges utan dom�nnamn, och om datorn inte hittas d�r
s� skall man leta �ven i wu.edu.au dom�nen. Tv� namnservrar �r speci�
ficerade, som b�da kan kontaktas av namn�vers�ttaren n�r ett namn
skall �vers�ttas.
5.5.4. /etc/host.conf
I filen /etc/host.conf kan man konfigurera hur namn�vers�ttaren beter
sig. Formatet f�r filen �r beskrivet i detalj i manualsidan resolv+. I
n�stan alla fall fungerar f�ljande exempel:
order hosts,bind
multi on
Denna konfiguration talar om f�r �vers�ttaren att titta i filen
/etc/hosts innan den f�rs�ker g�ra en f�rfr�gning till namnservern och
att returnera alla giltiga adresser f�r en dator som den hittar i
/etc/hosts och inte bara den f�rsta.
5.5.5. /etc/hosts
I filen /etc/hosts kan man l�gga namn och IP-adresser f�r lokala
maskiner. Om man placerar ett datornamn med respektive IP-adress i
denna fil s� beh�ver man inte g�ra en f�rfr�gan till namnservern f�r
att f� reda p� dess IP-adress. Nackdelen med detta �r att man m�ste
h�lla filen uppdaterad sj�lv ifall IP-adresserna �ndras. I ett v�l
underh�llet system s� finns endast rader med 'loopback' och lokala
datornamn i denna fil.
# /etc/hosts
127.0.0.1 localhost loopback
192.168.0.1 this.host.name
Man kan ange mer �n ett datornamn per rad som p� den f�rsta raden i
exemplet, vilket �r standardutformningen f�r loopbackenheten.
5.6. Att konfigurera loopbackenheten.
loopback-enheten �r ett s�rskilt gr�nssnitt med vilket man kan g�ra
anslutningar till sig sj�lv. Det finns olika anledningar varf�r man
skulle vilja g�ra detta, till exempel s� kanske man vill testa n�gon
n�tverksmjukvara utan att st�ra n�gon annan p� sitt n�tverk. Av
tradition s� har IP-adressen 127.0.0.1 reserverats speciellt f�r
loopback. S�, oavsett vilken maskin man g�r till, om man �ppnar en
telnet-anslutning till 127.0.0.1 s� blir man alltid ansluten till den
lokala datorn.
Att konfigurera loopbackenheten �r enkelt och man b�r g�ra f�ljande:
# ifconfig lo 127.0.0.1
# route add -host 127.0.0.1 lo
Vi pratar mer om route kommandot i n�sta sektion.
5.7. Routing.
Routing �r ett stort �mne. Det skulle vara l�tt att skriva stora
m�ngder text om detta. De flesta kommer att ha hyfsat enkla krav p�
routingen, men vissa har det inte. Jag kommer bara att behandla
grunderna om routing. Om man �r intresserad av mer detaljerad
information s� f�resl�r jag att man letar i referenserna som ges i
b�rjan av detta dokument.
L�t oss b�rja med en definition. Vad �r IP routing? H�r f�ljer den
definition som jag anv�nder:
IP routing �r processen d�r en dator med flera n�tverk�
sanslutningar avg�r vart den skall skicka IP datagram som
den har tagit emot.
Det kan vara bra att illustrera detta med ett exempel. Antag en typisk
kontorsrouter, den skulle kunna ha en PPP-l�nk till Internet, ett
antal Ethernetsegment som g�r till arbetsstationerna och en annan PPP-
l�nk till ett annat kontor. N�r routern tar emot ett datagram p� n�gon
av dess n�tverksanslutningar, s� �r routing mekanismen den anv�nder
f�r att avg�ra till vilken av n�tverksanslutningarna som den skall
skicka vidare datagrammet. Enkla datorer beh�ver ocks� anv�nda
routing, alla Internetdatorer har �tminstone tv� n�tverksenheter, en
�r loopbackenheten som beskrivs ovan och den andra �r den som den
anv�nder f�r att 'prata' med resten av n�tverket, kanske ett
Ethernetkort, kanske ett PPP- eller SLIP-gr�nssnitt.
Hur fungerar routing? Varje dator har en speciell lista med
routingregler som kallas f�r routingtabellen (routing table). Denna
tabell inneh�ller rader som vanligtvis inneh�ller �tminstone tre f�lt,
det f�rsta �r en destinationsadress, det andra �r namnet p�
gr�nssnittet som datagrammet skall routas till och det tredje �r IP-
adressen p� en annan maskin som skall ta datagrammet p� sitt n�sta
steg genom n�tverket. I Linux kan man se denna tabell genom att
anv�nda f�ljande kommando:
# cat /proc/net/route
eller genom att anv�nda n�got av f�ljande kommandon:
# /sbin/route -n
# /bin/netstat -r
Routingprocessen �r hyfsat enkel: ett inkommande datagram tas emot,
destinationsadressen unders�ks och j�mf�rs med varje rad i tabellen.
Den rad som b�st matchar adressen v�ljs och datagrammet skickas vidare
till det specificerade gr�nssnittet. Om gateway-f�ltet �r ifyllt s�
skickas datagrammet vidare till den maskinen via det specificerade
gr�nssnittet, annars antas det att destinationsadressen finns p�
n�tverket som gr�nssnittet �r kopplat till.
F�r att manipulera tabellen anv�nder man ett speciellt kommando. Detta
kommando tar kommandoradsargument och konverterar dem till systemanrop
vilka ber k�rnan att l�gga till, ta bort eller �ndra rader i
routingtabellen. Kommandot �r route.
Ett enkelt exempel. Antag att man har ett Ethernetn�tverk. Man har
f�tt veta att det �r ett klass C n�tverk med n�tverksadressen
192.168.1.0. Man har f�tt IP-adressen 192.168.1.10 som man kan anv�nda
och man har f�tt veta att 192.168.1.1 �r en router som �r ansluten
till Internet.
Det f�rsta steget �r att konfigurera gr�nssnittet som det beskrivits
ovan. Man skulle anv�nda ett kommando som:
# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
Man beh�ver nu l�gga till en rad i routingtabellen f�r att tala om f�r
k�rnan att datagram till alla adresser som passar 192.168.1.* skall
s�ndas till en Ethernet-enhet. Detta med ett kommando som:
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
Notera -net parametern som anv�nds f�r att tala om f�r routingprogram�
met att denna rad �r en n�tverksroute. Det andra alternativet �r en
-host route som �r en route som �r till en specifik IP-adress.
Med denna route kan man uppr�tta IP-anslutningar till alla datorer p�
sitt Ethernet-segment. Men vad h�nder med alla IP-datorer som inte
finns p� ens Ethernet-segment?
Det skulle vara ett v�ldigt sv�rt jobb att beh�va l�gga till router
till varje t�nkbart n�tverk, s� det finns ett specialtrix som anv�nds
f�r att f�renkla denna uppgift. Trixet kallas f�r default route.
Default routen passar varje m�jlig destination, men d�ligt, s� om det
finns n�gon annan rad som passar den �nskade adressen b�ttre s� kommer
den att anv�ndas ist�llet f�r default routen. Tanken med default
routen �r helt enkelt att man skall kunna s�ga "och allt annat skall
skickas dit". S� i exemplet som vi f�ljt s� b�r man anv�nda en rad
som:
# route add default gw 192.168.1.1 eth0
Parametern gw talar om f�r route kommandot att n�sta parameter �r IP-
adressen, eller namnet, p� en gateway eller router dit alla datagram
som passar denna rad skall skickas f�r vidare routing.
S� exemplets kompletta konfiguration skulle se ut s� h�r:
# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# route add default gw 192.168.1.1 eth0
Om man tittar noga i sina rc-filer f�r n�tverket s� kommer man att
hitta �tminstone en som liknar detta. Detta �r en v�ldigt vanlig kon�
figuration.
L�t oss nu titta p� en n�got mer komplicerad routingkonfiguration.
Antag att vi konfigurerar routern som vi tittade p� tidigare, med en
PPP-l�nk till Internet och n�gra LAN-segment med arbetsstationer p�
kontoret. Antag att routern har tre Ethernet-segment och en PPP-l�nk.
V�r routingkonfiguration skulle likna f�ljande:
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# route add -net 192.168.2.0 netmask 255.255.255.0 eth1
# route add -net 192.168.3.0 netmask 255.255.255.0 eth2
# route add default ppp0
Varje arbetsstation skulle anv�nda den enklare formen som beskrevs
ovan, endast routern beh�ver ange alla n�tverksrouter separat eftersom
hos arbetsstationerna s� tar default route mekanismen hand om allihop
och l�ter routern sk�ta den 'riktiga' routingen. Man kanske undrar
varf�r defaultrouten inte anger en gw. Anledningen �r enkel, seriella
l�nkprotokoll s�som PPP och SLIP har alltid endast tv� maskiner p�
sitt n�tverk, en i varje �nda. Att ange maskinen p� andra sidan l�nken
som gateway �r meningsl�st och redundant eftersom det inte finns n�got
annat val, s� man beh�ver inte ange n�gon gateway f�r den typen av
n�tverksanslutningar. Andra n�tverkstyper s�som Ethernet, arcnet eller
Token Ring kr�ver att en gateway specificeras eftersom dessa n�tverken
st�djer att ett stort antal datorer ansluts till dem.
5.7.1. S� vad g�r programmet routed ?
Routingkonfigurationen som beskrivs ovan passar b�st f�r enklare
n�tverksarrangemang d�r det endast finns en m�jlig v�g till varje
destination. N�r man har ett mer komplext arrangemang s� blir det
lite besv�rligare. Som tur �r beh�ver de flesta inte bry sig om detta.
Det stora problemet med 'manuell routing' eller 'statisk routing' �r
att om en maskin eller l�nk fallerar i n�tverket s� kan man endast
dirigera om sina datagram, om det finns n�gon annan v�g, genom att
manuellt ge l�mpliga kommandon. Naturligtvis �r detta klumpigt,
l�ngsamt, opraktiskt och felben�get. Olika tekniker har utvecklats
f�r att automatiskt �ndra routingtabeller om det uppst�r n�tverksfel
d�r det finns alternativa v�gar att leda trafiken, alla dessa tekniker
�r l�st samlade under termen 'dynamiska routing algoritmer'.
Man kanske har h�rt talas om n�gra av de vanligare dynamiska
routingalgorimerna. De allra vanligaste �r RIP (Routing Information
Protocol) och OSPF (Open Shortest Path First). RIP �r v�ldigt vanlig i
sm� n�tverk som till exempel sm�/mellanstora f�retagsn�tverk. OSPF �r
modernare och mer kapabel att hantera stora n�tverk och b�ttre
anpassad till omgivningar d�r det finns ett stort antal m�jliga v�gar
genom ett n�tverk. Vanliga implementeringar av dessa �r: routed (RIP)
och gated (RIP, OSPF och andra). Programmet routed finns normalt med i
Linuxdistributioner eller finns inkluderat i 'NetKit' paketet ovan.
Ett exempel p� var och hur man skulle kunna anv�nda en dynamisk
routingalgoritm skulle kunna se ut som f�ljer:
192.168.1.0 / 192.168.2.0 /
255.255.255.0 255.255.255.0
- -
| |
| /-----\ /-----\ |
| | |ppp0 // ppp0| | |
eth0 |---| A |------//---------| B |---| eth0
| | | // | | |
| \-----/ \-----/ |
| \ ppp1 ppp1 / |
- \ / -
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
ppp0\ /ppp1
/-----\
| |
| C |
| |
\-----/
|eth0
|
|---------|
192.168.3.0 /
255.255.255.0
Vi har tre routrar A, B och C. Var och en har ett Ethernet-segment med
ett klass C IP-n�tverk (n�tmask 255.255.255.0). Varje router har �ven
en PPP-l�nk till var och en av de andra routrarna. N�tverket bildar en
triangel.
Det b�r vara klart att routingtabellen f�r router A skulle kunna se ut
som:
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# route add -net 192.168.2.0 netmask 255.255.255.0 ppp0
# route add -net 192.168.3.0 netmask 255.255.255.0 ppp1
Detta skulle fungera utm�rkt �nda tills l�nken mellan router A och B
fallerar. Om s� skulle ske s� skulle datorer p� A's Ethernet-segment
inte kunna n� datorer p� B's Ethernet-segment eftersom dess datagram
skulle routas till A's ppp0-l�nk, vilken �r trasig. De skulle fort�
farande kunna 'prata' med datorer p� C's Ethernet-segment och datorer
p� C's Ethernet-segment skulle kunna kontakta datorer p� B's Ethernet-
segment eftersom l�nkarna mellan A och C respektive mellan C och B
fortfarande fungerar.
Men v�nta lite nu, om A kan prata med C och C fortfarande kan prata
med B, varf�r skulle inte A kunna routa sina datagram till B via C och
l�ta C skicka dem till B? Detta �r precis den typen av problem som
dynamiska routingalgoritmer som RIP designades f�r att l�sa. Om var
och en av routrarna A, B och C k�rde en routingdaemon s� skulle deras
routingtabeller automatiskt uppdateras till att spegla det nya
tillst�ndet i n�tverket om n�gon av l�nkarna skulle fallera. F�r att
konfigurera ett s�dant n�tverk �r enkelt, p� varje router beh�ver man
endast g�ra tv� saker. I detta fall f�r router A:
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
# /usr/sbin/routed
Routingdaemonen routed hittar automatiskt alla aktiva n�tverksportar
n�r den startar och skickar och lyssnar efter meddelanden p� var och
en av n�tverksenheterna s� att den kan fastst�lla och uppdatera rout�
ingtabellen p� datorn.
Detta har varit en v�ldigt �versiktlig f�rklaring av dynamisk routing
och var man b�r anv�nda det. Om man vill ha mer information s� s�k
ibland referenserna i b�rjan av dokumentet.
De viktiga punkterna relaterade till dynamisk routing �r:
1. Man beh�ver bara anv�nda dynamisk routing n�r ens Linuxburk har
m�jligheten att v�lja flera olika routes till en destination.
2. Den dynamiska routingdaemonen kommer automatiskt att modifiera
routingtabellen f�r att st�lla in sig till f�r�ndringar i
n�tverket.
3. RIP �r bra anpassat f�r sm� till medelstora n�tverk.
5.8. Att konfigurera n�tverksservrar och tj�nster.
N�tverksservrar och tj�nster �r de program som l�ter en avl�gsen
anv�ndare anv�nda sig av ens Linuxburk. Serverprogram lyssnar p�
n�tverksportar. N�tverksportar �r hj�lpmedel f�r att adressera en
speciell tj�nst p� en dator och �r hur en server vet skillnaden mellan
en inkommande telnet-anslutning och en inkommande ftp-anslutning. Den
avl�gsna anv�ndaren uppr�ttar en n�tverksanslutning till Linuxburken
och serverprogrammet, n�tverksdaemonen, lyssnar p� den porten och
accepterar anslutningen och exekverar. Det finns tv� s�tt p� vilka
n�tverksdaemoner kan fungera. B�da �r flitigt anv�nda i praktiken. De
tv� s�tten �r:
frist�ende
n�tverksdaemonen lyssnar p� den angivna porten och n�r den
uppt�cker en inkommande anslutning s� sk�ter den om anslutningen
sj�lv f�r att vidare tillhandah�lla tj�nster.
slav till inetd servern
inetd servern �r en s�rskild n�tverksdaemon som �r specialiserad
p� att ta hand om inkommande n�tvarksanslutningar. Den har en
konfigurationsfil som talar om vilket program som skall k�ras d�
en inkommande anslutning tas emot. Varje port kan konfigureras
f�r n�got av protokollen TCP eller UDP. Portarna �r beskrivna i
en annan fil som vi skall prata om snart.
Det finns tv� viktiga filer som beh�ver konfigureras. De �r /etc/ser�
vices som tilldelar namn till portnummer och /etc/inetd.conf som �r
konfigurationsfilen till n�tverksdaemonen inetd.
5.8.1. /etc/services
Filen /etc/services �r en enkel databas som associerar ett
m�nniskov�nligt namn med en maskinv�nlig port. Formatet �r ganska
enkelt. Filen �r en textfil d�r varje rad representerar en rad i
databasen. Varje rad best�r av tre f�lt som �r separerade av valfritt
antal vita tecken (tab eller space). F�lten �r:
name port/protocol aliases # comment
name
ett namn, best�ende av ett ord, som representerar tj�nsten som
skall beskrivas.
port/protocol
detta f�lt �r indelat i tv� delf�lt.
port
ett nummer som anger portnummret som den namngivna tj�nsten
kommer att vara tillg�nglig p�. De flesta vanliga tj�nster
har tilldelats reserverade nummer. Dessa finns beskrivna i
RFC-1340.
protocol
detta delf�lt kan s�ttas till antingen tcp eller udp.
Det �r viktigt att notera att en rad med 18/tcp �r v�ldigt olik
en rad med 18/udp och att det inte finns n�gon teknisk anledning
till att samma tj�nst finns tillg�nglig p� b�da. Normalt r�der
sunt f�rnuft och det �r bara om en viss tj�nst finns tillg�nglig
via b�de tcp och udp som man kommer att se rader med b�da.
aliases
andra namn som kan anv�ndas f�r att referera till denna
tj�nsten.
All text som finns efter ett # tecken p� en rad ignoreras och behand�
las som en kommentar.
5.8.1.1. Ett exempel p� en /etc/services fil.
Alla moderna Linuxdistributioner kommer med en bra /etc/services fil.
Men i fall man r�kar bygga ett system fr�n grunden s� �r h�r en kopia
av /etc/services filen som kommer med Debian <
http://www.debian.org/>
distributionen.
# /etc/services:
# $Id: services,v 1.3 1996/05/06 21:42:37 tobias Exp $
#
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1340, ``Assigned Numbers'' (July 1992). Not all ports
# are included, only the more common ones.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp
# 24 - private
smtp 25/tcp mail
# 26 - unassigned
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
re-mail-ck 50/tcp # Remote Mail Checking Protocol
re-mail-ck 50/udp # Remote Mail Checking Protocol
domain 53/tcp nameserver # name-domain server
domain 53/udp nameserver
mtp 57/tcp # deprecated
bootps 67/tcp # BOOTP server
bootps 67/udp
bootpc 68/tcp # BOOTP client
bootpc 68/udp
tftp 69/udp
gopher 70/tcp # Internet Gopher
gopher 70/udp
rje 77/tcp netrjs
finger 79/tcp
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol
link 87/tcp ttylink
kerberos 88/tcp kerberos5 krb5 # Kerberos v5
kerberos 88/udp kerberos5 krb5 # Kerberos v5
supdup 95/tcp
# 100 - reserved
hostnames 101/tcp hostname # usually from sri-nic
iso-tsap 102/tcp tsap # part of ISODE.
csnet-ns 105/tcp cso-ns # also used by CSO name server
csnet-ns 105/udp cso-ns
rtelnet 107/tcp # Remote Telnet
rtelnet 107/udp
pop-2 109/tcp postoffice # POP version 2
pop-2 109/udp
pop-3 110/tcp # POP version 3
pop-3 110/udp
sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP
sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP
auth 113/tcp authentication tap ident
sftp 115/tcp
uucp-path 117/tcp
nntp 119/tcp readnews untp # USENET News Transfer Protocol
ntp 123/tcp
ntp 123/udp # Network Time Protocol
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
imap2 143/tcp # Interim Mail Access Proto v2
imap2 143/udp
snmp 161/udp # Simple Net Mgmt Proto
snmp-trap 162/udp snmptrap # Traps for SNMP
cmip-man 163/tcp # ISO mgmt over IP (CMOT)
cmip-man 163/udp
cmip-agent 164/tcp
cmip-agent 164/udp
xdmcp 177/tcp # X Display Mgr. Control Proto
xdmcp 177/udp
nextstep 178/tcp NeXTStep NextStep # NeXTStep window
nextstep 178/udp NeXTStep NextStep # server
bgp 179/tcp # Border Gateway Proto.
bgp 179/udp
prospero 191/tcp # Cliff Neuman's Prospero
prospero 191/udp
irc 194/tcp # Internet Relay Chat
irc 194/udp
smux 199/tcp # SNMP Unix Multiplexer
smux 199/udp
at-rtmp 201/tcp # AppleTalk routing
at-rtmp 201/udp
at-nbp 202/tcp # AppleTalk name binding
at-nbp 202/udp
at-echo 204/tcp # AppleTalk echo
at-echo 204/udp
at-zis 206/tcp # AppleTalk zone information
at-zis 206/udp
z3950 210/tcp wais # NISO Z39.50 database
z3950 210/udp wais
ipx 213/tcp # IPX
ipx 213/udp
imap3 220/tcp # Interactive Mail Access
imap3 220/udp # Protocol v3
ulistserv 372/tcp # UNIX Listserv
ulistserv 372/udp
#
# UNIX specific services
#
exec 512/tcp
biff 512/udp comsat
login 513/tcp
who 513/udp whod
shell 514/tcp cmd # no passwords used
syslog 514/udp
printer 515/tcp spooler # line printer spooler
talk 517/udp
ntalk 518/udp
route 520/udp router routed # RIP
timed 525/udp timeserver
tempo 526/tcp newdate
courier 530/tcp rpc
conference 531/tcp chat
netnews 532/tcp readnews
netwall 533/udp # -for emergency broadcasts
uucp 540/tcp uucpd # uucp daemon
remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
klogin 543/tcp # Kerberized `rlogin' (v5)
kshell 544/tcp krcmd # Kerberized `rsh' (v5)
kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
#
webster 765/tcp # Network dictionary
webster 765/udp
#
# From ``Assigned Numbers'':
#
#> The Registered Ports are not controlled by the IANA and on most systems
#> can be used by ordinary user processes or programs executed by ordinary
#> users.
#
#> Ports are used in the TCP [45,106] to name the ends of logical
#> connections which carry long term conversations. For the purpose of
#> providing services to unknown callers, a service contact port is
#> defined. This list specifies the port used by the server process as its
#> contact port. While the IANA can not control uses of these ports it
#> does register or list uses of these ports as a convienence to the
#> community.
#
ingreslock 1524/tcp
ingreslock 1524/udp
prospero-np 1525/tcp # Prospero non-privileged
prospero-np 1525/udp
rfe 5002/tcp # Radio Free Ethernet
rfe 5002/udp # Actually uses UDP only
bbs 7000/tcp # BBS service
#
#
# Kerberos (Project Athena/MIT) services
# Note that these are for Kerberos v4 and are unofficial. Sites running
# v4 should uncomment these and comment out the v5 entries above.
#
kerberos4 750/udp kdc # Kerberos (server) udp
kerberos4 750/tcp kdc # Kerberos (server) tcp
kerberos_master 751/udp # Kerberos authentication
kerberos_master 751/tcp # Kerberos authentication
passwd_server 752/udp # Kerberos passwd server
krb_prop 754/tcp # Kerberos slave propagation
krbupdate 760/tcp kreg # Kerberos registration
kpasswd 761/tcp kpwd # Kerberos "passwd"
kpop 1109/tcp # Pop with Kerberos
knetd 2053/tcp # Kerberos de-multiplexor
zephyr-srv 2102/udp # Zephyr server
zephyr-clt 2103/udp # Zephyr serv-hm connection
zephyr-hm 2104/udp # Zephyr hostmanager
eklogin 2105/tcp # Kerberos encrypted rlogin
#
# Unofficial but necessary (for NetBSD) services
#
supfilesrv 871/tcp # SUP server
supfiledbg 1127/tcp # SUP debugging
#
# Datagram Delivery Protocol services
#
rtmp 1/ddp # Routing Table Maintenance Protocol
nbp 2/ddp # Name Binding Protocol
echo 4/ddp # AppleTalk Echo Protocol
zip 6/ddp # Zone Information Protocol
#
# Debian GNU/Linux services
rmtcfg 1236/tcp # Gracilis Packeten remote config server
xtel 1313/tcp # french minitel
cfinger 2003/tcp # GNU Finger
postgres 4321/tcp # POSTGRES
mandelspawn 9359/udp mandelbrot # network mandelbrot
# Local services
5.8.2. /etc/inetd.conf
Filen /etc/inetd.conf �r konfigurationsfilen f�r serverdaemonen inetd.
Dess funktion �r att tala om f�r inetd vad som skall h�nda n�r den tar
emot en anslutningsf�rfr�gan f�r en viss tj�nst. F�r varje tj�nst f�r
vilken man �nskar acceptera anslutningar m�ste man tala om f�r inetd
vilken n�tverksserver den skall starta och hur den skall startas.
Dess format �r ganska enkelt. Det �r en textfil d�r varje rad
beskriver en tj�nst som man vill tillhandah�lla. All text efter ett #
tecken p� en rad ignoreras och ses som en kommentar. Varje rad
inneh�ller sju f�lt som �r separerade av valfritt antal vita tecken
(tab eller space). Det generella formatet �r som f�ljer:
service socket_type proto flags user server_path server_args
service
�r tj�nsten som �r relevant f�r denna konfiguration som den
ben�mns i /etc/services.
socket_type
detta f�lt beskriver vilken typ av socket som denna rad kommer
att beteckna som relevant, till�tna v�rden �r stream, dgram,
raw, rdm eller seqpacket. Detta �r lite tekniskt till karakt�ren
men som tumregel s� anv�nder n�stan alla tcp-baserade tj�nster
stream och alla udp-baserade tj�nster dgram. Det �r bara v�ldigt
speciella typer av daemoner som anv�nder de andra v�rdena.
proto
protokollet som skall anses som giltigt f�r denna rad. Detta
skall passa ihop med l�mplig rad i /etc/services och �r
vanligtvis antingen tcp eller udp. Sun RPC (Remote Procedure
Call) baserade tj�nster anv�nder rpc/tcp eller rcp/udp.
flags
det finns egentligen bara tv� m�jliga v�rden f�r detta f�lt.
Detta f�lt talar om f�r inetd om serverprogramvaran st�nger
socketen efter det att den startats och d�rf�r om inetd kan
starta en annan server p� n�sta anslutningsf�rfr�gan. �terigen
s� �r detta lite besv�rligt att lista ut, men som tumregel s�
skall alla tcp servrar ha v�rdet nowait och de flesta udp
servrar wait. Observera att det finns undantag f�r detta, s� man
b�r endast f�lja exemplet om man inte vet.
user
detta f�lt talar om vilket anv�ndarkonto fr�n /etc/passwd som
skall s�ttas som �gare till n�tverksdaemonen n�r den startas.
Detta �r ofta anv�ndbart f�r att skydda sig mot s�kerhetsrisker.
Man kan s�tta v�rdet till nobody s� att skadan minimeras ifall
n�tverksserverns s�kerhet fallerar. Men vanligtvis s� �r detta
f�lt satt till root eftersom m�nga servrar m�ste ha root-
r�ttigheter f�r att fungera korrekt.
server_path
detta f�lt skall inneh�lla det absoluta filnamnet till
serverprogrammet som skall exekveras f�r denna raden.
server_args
detta f�ltet utg�r resten av raden och �r valfri. Det �r h�r som
man placerar kommandoradsargument som man vill skicka med till
serverdaemonen n�r den startas.
5.8.2.1. Ett exempel p� en /etc/inetd.conf fil.
Som f�r filen /etc/services s� inkluderar alla moderna distributioner
en bra /etc/inetd.conf fil som man kan arbeta med. F�r att vara
komplett s� inkluderas /etc/inetd.conf fr�n Debian
<
http://www.debian.org/> distributionen.
# /etc/inetd.conf: see inetd(8) for further informations.
#
# Internet server configuration database
#
#
# Modified for Debian by Peter Tobias <
[email protected]>
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# Internal services
#
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
time stream tcp nowait root internal
time dgram udp wait root internal
#
# These are standard services.
#
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd
#fsp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.fspd
#
# Shell, login, exec and talk are BSD protocols.
#
shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd
login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd
talk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.talkd
ntalk dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.ntalkd
#
# Mail, news and uucp services.
#
smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.smtpd
#nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/in.nntpd
#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico
#comsat dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.comsat
#
# Pop et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d
#
# `cfinger' is for the GNU finger server available for Debian. (NOTE: The
# current implementation of the `finger' daemon allows it to be run as `root'.)
#
#cfinger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.cfingerd
#finger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.fingerd
#netstat stream tcp nowait nobody /usr/sbin/tcpd /bin/netstat
#systat stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot
#bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
#
# Kerberos authenticated services (these probably need to be corrected)
#
#klogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k
#eklogin stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind -k -x
#kshell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd -k
#
# Services run ONLY on the Kerberos server (these probably need to be corrected)
#
#krbupdate stream tcp nowait root /usr/sbin/tcpd /usr/sbin/registerd
#kpasswd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/kpasswdd
#
# RPC based services
#
#mountd/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.mountd
#rstatd/1-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rstatd
#rusersd/2-3 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rusersd
#walld/1 dgram rpc/udp wait root /usr/sbin/tcpd /usr/sbin/rpc.rwalld
#
# End of inetd.conf.
ident stream tcp nowait nobody /usr/sbin/identd identd -i
5.9. Andra n�tverksrelaterade konfigurationsfiler.
Det finns ett antal andra filer som �r relaterade till
n�tverkskonfiguration i Linux som man skulle kunna vara intresserad
av. Man beh�ver kanske aldrig modifiera dessa filer, men det �r v�rt
att beskriva dem �nd� s� att man vet vad de inneh�ller och vad de
anv�nds till.
5.9.1. /etc/protocols
Filen /etc/protocols �r en databas som mappar protokollens id-nummer
mot protokollens namn. Detta anv�nds av programmerare f�r att l�ta dem
ange protokoll med dess namn i program, och �ven av vissa program, som
till exempel tcpdump, f�r att kunna skriva ut namn ist�llet f�r
nummer. Syntaxen f�r filen �r:
protocolname number aliases
I Debian <
http://www.debian.org/> distributionen ser /etc/protocols ut
som f�ljande:
# /etc/protocols:
# $Id: protocols,v 1.1 1995/02/24 01:09:41 imurdock Exp $
#
# Internet (IP) protocols
#
# from: @(#)protocols 5.1 (Berkeley) 4/17/89
#
# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).
ip 0 IP # internet protocol, pseudo protocol number
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # Internet Group Management
ggp 3 GGP # gateway-gateway protocol
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
st 5 ST # ST datagram mode
tcp 6 TCP # transmission control protocol
egp 8 EGP # exterior gateway protocol
pup 12 PUP # PARC universal packet protocol
udp 17 UDP # user datagram protocol
hmp 20 HMP # host monitoring protocol
xns-idp 22 XNS-IDP # Xerox NS IDP
rdp 27 RDP # "reliable datagram" protocol
iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4
xtp 36 XTP # Xpress Tranfer Protocol
ddp 37 DDP # Datagram Delivery Protocol
idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport
rspf 73 RSPF # Radio Shortest Path First.
vmtp 81 VMTP # Versatile Message Transport
ospf 89 OSPFIGP # Open Shortest Path First IGP
ipip 94 IPIP # Yet Another IP encapsulation
encap 98 ENCAP # Yet Another IP encapsulation
5.9.2. /etc/networks
Filen /etc/networks har en liknande funktion som filen /etc/hosts. Den
tillhandah�ller en enkel databas av n�tverksnamn som mappas mot
n�tverksadresser. Dess format skiljer sig genom att det f�r endast
finnas tv� f�lt per rad och att f�lten skrivs som:
networkname networkaddress
Ett exempel kam se ut s�h�r:
loopnet 127.0.0.0
localnet 192.168.0.0
amprnet 44.0.0.0
N�r man anv�nder kommandon som route, om en destination �r ett n�tverk
och det n�tverket finns i /etc/networks, s� kommer route att visa
n�tverksnamnet ist�llet f�r dess adress.
5.10. N�tverkss�kerhet och �tkomstkontroll.
L�t mig b�rja denna sektion med att varna f�r att s�kra en maskin och
ett n�tverk mot illvilliga attacker �r en komplex konst. Jag anser mig
inte sj�lv vara en expert p� detta omr�de och �ven om de f�ljande
mekanismerna som jag beskriver kommer att hj�lpa, s� om man �r riktigt
allvarlig n�r det g�ller s�kerhet s� rekommenderar jag att man g�r
egna unders�kningar i �mnet. Det finns m�nga bra referenser p�
Internet relaterade till detta �mne.
En viktig tumregel �r: `K�r inte servrar som inte skall anv�ndas'.
M�nga distributioner kommer konfigurerade med alla m�jliga tj�nster
som startas automatiskt. F�r att s�kerst�lla en miniminiv� av s�kerhet
s� b�r man g� igenom sin /etc/inetd.conf och kommentera bort (s�tt ett
'#' i b�rjan av raden) alla rader som inneh�ller tj�nster vilka man
inte t�nker anv�nda. Bra kandidater �r tj�nster s�som: shell, login,
exec, uucp, ftp och informativa tj�nster som finger, netstat och
systat.
Det finns alla m�jliga sorters s�kerhets- och
�tkomstkontrollmekanismer, jag kommer att beskriva de mest element�ra
av dem.
5.10.1. /etc/ftpusers
Filen /etc/ftpusers �r en enkel mekanism med vilken man kan v�gra
vissa anv�ndare att logga in till maskinen via ftp. Filen
/etc/ftpusers l�ses av ftp-daemonen (ftpd) n�r en inkommande ftp-
anslutning tas emot. Filen �r en enkel lista av de anv�ndare som inte
�r till�tna att logga in. Den skulle kunna se ut som:
# /etc/ftpusers - users not allowed to login via ftp
root
uucp
bin
mail
5.10.2. /etc/securetty
I filen /etc/securetty kan man specificera vilka tty enheter som root
�r till�ten att logga in p�. Filen /etc/securetty l�ses av
loginprogrammet (vanligtvis /bin/login). Dess format �r en lista av de
tty enhetsnamn som �r till�tna, p� alla andra �r root login otill�ten:
# /etc/securetty - tty's on which root is allowed to login
tty1
tty2
tty3
tty4
5.10.3. tcpd �tkomstkontrollmekanism.
Programmet tcpd som man sett listat i /etc/inetd.conf tillhandah�ller
loggning och �tkomstkontrollmekanismer f�r tj�nster som det �r
konfigurerat att skydda.
N�r det aktiveras av programmet inetd s� l�ser det tv� filer som
inneh�ller �tkomstregler och antingen till�ter det eller nekar �tkomst
till servern som det skyddar.
Programmet s�ker i reglerna tills dess att det hittar det f�rsta
m�nstret som passar. Hittar det inget passande m�nster s� antas det
att �tkomst skall till�tas till vem som helst. Filerna som s�ks igenom
i sekvens �r: /etc/hosts.allow, /etc/hosts.deny. Jag kommer att
beskriva dem i ordning. F�r en komplett beskrivning av detta s� b�r
man titta i l�mpliga manualblad (hosts_access(5) �r ett bra st�lle att
b�rja p�).
5.10.3.1. /etc/hosts.allow
Filen /etc/hosts.allow �r en konfigurationsfil f�r programmet
/usr/sbin/tcpd. Filen inneh�ller regler som beskriver vilka datorer
som �r till�tna �tkomst till en tj�nst p� maskinen.
Filformatet �r ganska enkelt:
# /etc/hosts.allow
#
# <service list>: <host list> [: command]
service list
�r en kommaseparerad lista av servernamn som denna regeln g�ller
f�r. Exempel: ftpd, telnetd och fingerd.
host list
�r en kommaseparerad lista av datornamn. Man kan �ven anv�nda
IP-adresser. Man kan dessutom ange datornamn eller adresser med
hj�lp av 'wildcards' f�r att t�cka grupper av datorer. Exempel:
gw.vk2ktj.ampr.org f�r att t�cka en enskild dator, .uts.edu.au
f�r att t�cka alla datornamn som slutar med den str�ngen, 44.
f�r att t�cka alla IP-adresser som b�rjar med de siffrorna. Det
finns n�gra s�rskilda tokens f�r att f�renkla konfigurationen,
n�gra av dessa �r: ALL t�cker alla datorer, LOCAL t�cker alla
datornamn som inte inneh�ller en '.' dvs som �r i samma dom�n
som din maskin och PARANOID t�cker alla datorer vars namn inte
st�mmer �verens med sin adress (name spoofing). Det finns en
sista anv�ndbar token. EXCEPT till�ter dig att ange en lista med
undantag. Detta visas i ett exempel senare.
command
�r en valfri parameter. Detta �r det absoluta filnamnet f�r ett
kommando som skall exekveras varje g�ng denna regel anv�nds.
Det skulle till exempel kunna k�ra ett program som f�rs�ker
identifiera vem som �r p�loggad p� den anslutande datorn, eller
att generera ett mail eller n�gon annan varning till en
systemadministrat�r att n�gon f�rs�ker ansluta. Det finns ett
antal ut�kningar som kan inkluderas, till exempel: %h expanderar
till namnet p� den anslutande datorn eller adress om den inte
har n�got namn, %d daemonnamnet anropas.
Ett exempel:
# /etc/hosts.allow
#
# Allow mail to anyone
in.smtpd: ALL
# All telnet and ftp to only hosts within my domain and my host at home.
telnetd, ftpd: LOCAL, myhost.athome.org.au
# Allow finger to anyone but keep a record of who they are.
fingerd: ALL: (finger @%h | mail -s "finger from %h" root)
5.10.3.2. /etc/hosts.deny
Filen /etc/hosts.deny �r en konfigurationsfil f�r programmet
/usr/sbin/tcpd. Filen inneh�ller regler som beskriver vilka datorer
som �r nekade �tkomst till en tj�nst p� maskinen.
Ett enkelt exempel:
# /etc/hosts.deny
#
# Disallow all hosts with suspect hostnames
ALL: PARANOID
#
# Disallow all hosts.
ALL: ALL
Raden med PARANOID �r egentligen redundant eftersom den andra raden
f�ller allt i vilket fall. N�gon av dessa rader skulle vara t�nkbara
beroende p� vilka krav man har.
Att ha ALL: ALL i /etc/hosts.deny och sedan specifikt ange de tj�nster
och datorer som man vill ha i filen /etc/hosts.allow �r den s�kraste
konfigurationen.
5.10.4. /etc/hosts.equiv
Filen hosts.equiv anv�nds f�r att ge vissa datorer och anv�ndare
�tkomstr�ttigheter till konton p� maskinen utan att beh�va ange ett
l�senord. Detta �r anv�ndbart i en s�ker omgivning d�r man
kontrollerar alla maskinerna, men det �r en s�kerhetsrisk i annat
fall. Datorn �r bara s� s�ker som den minst s�kra av de datorer man
litar p�. F�r att maximera s�kerheten s� b�r man inte anv�nda denna
mekanismen och p�verka sina anv�ndare att inte anv�nda filen .rhosts
heller.
5.10.5. Konfigurera ftp -daemonen ordentligt.
M�nga sajter �r intresserade av att k�ra en anonym ftp server f�r att
till�ta andra personer att ladda upp och ladda ner filer utan att ha
ett s�rskilt anv�ndarid. Om man best�mmer sig f�r att tillhandah�lla
denna tj�nst s� skall man se till att man konfigurerar sin ftp-daemon
ordentligt f�r anonym �tkomst. De flesta manualblad f�r ftpd(8)
beskriver hur man skall g�ra detta. Man b�r alltid f�rs�kra sig om att
man f�ljer dessa instruktioner. Ett viktigt tips �r att inte anv�nda
en kopia av sin /etc/passwd fil i /etc katalogen f�r det anonyma
kontot, se till att man tar bort alla detaljer om konton som man inte
m�ste ha, annars kommer man att vara s�rbar mot tekniker f�r
l�senordscracking.
5.10.6. Brandv�ggar.
Att inte till�ta datagram att ens n� fram till din maskin eller
servrar �r ett utm�rkt s�tt att s�kra systemet. Detta beskrivs i
Firewall-HOWTO <Firewall-HOWTO.html>.
5.10.7. Andra f�rslag.
H�r �r n�gra andra, potentiellt religi�sa f�rslag som man kan t�nka
p�.
sendmail
oavsett dess popularitet s� framtr�der sendmail daemonen med
skr�mmande j�mna mellanrum p� s�kerhetsmeddelanden. Det �r upp
till en sj�lv om man v�ljer att k�ra den.
NFS och andra Sun RPC tj�nster
man b�r vara aktsam med dessa. Det finns alla m�jliga olika s�tt
att utnyttja dessa tj�nster. Det �r sv�rt att hitta alternativ
till en tj�nst som NFS, men om man konfigurerar dem s� skall man
se till att vara f�rsiktig med vem man ger mount-r�ttigheter
till.
6. N�tverksspecifik Information.
F�ljande delsektioner �r specifika f�r vissa n�tverkstekniker.
Informationen i dessa sektioner g�ller inte n�dv�ndigtvis f�r n�gon
annan n�tverksteknik.
6.1. ARCNet
Enhetsnamn f�r ARCNet �r `arc0e', `arc1e', `arc2e' osv eller `arc0s',
`arc1s', `arc2s' osv. Det f�rsta kortet som hittas av k�rnan tilldelas
`arc0e' eller `arc0s' och resten tilldelas namn sekvensiellt i den
ordning som de hittas. Bokstaven p� slutet av namnet betecknar om man
har valt Ethenet-inkapsling som paketformat eller RFC1051 som
paketformat.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
<*> ARCnet support
[ ] Enable arc0e (ARCnet "Ether-Encap" packet format)
[ ] Enable arc0s (ARCnet RFC1051 packet format)
N�r man v�l har en k�rna som st�der sitt Ethernetkort s� �r
konfiguration av kortet l�tt.
Man skulle kunna anv�nda n�got som liknar:
# ifconfig arc0e 192.168.0.1 netmask 255.255.255.0 up
# route add -net 192.168.0.0 netmask 255.255.255.0 arc0e
Titta g�rna i filerna /usr/src/linux/Documentation/networking/arc�
net.txt och /usr/src/linux/Documentation/networking/arcnet-hard�
ware.txt f�r mer information.
ARCNet-st�d utvecklades av Avery Pennarun,
[email protected].
6.2. Appletalk ( AF_APPLETALK )
Appletalk har inga s�rskilda enhetsnamn eftersom det anv�nder
existerande n�tverksenheter.
Kompileringsalternativ f�r K�rnan:
Networking options --->
<*> Appletalk DDP
Appletalk-st�d g�r det m�jligt f�r Linuxburken att kommunicera med
Apple-n�tverk. Ett viktigt anv�ndningsomr�de f�r detta �r m�jligheten
att kunna dela resurser, som till exempel skrivare och h�rddiskar,
mellan Linux- och Appledatorer. Man beh�ver ytterligare programvara,
netatalk, f�r detta. Wesley Craig,
[email protected], representerar
en grupp som heter `Research Systems Unix Group' p� University of
Michigan och de har utvecklat netatalk-paketet som tillhandah�ller
programvara som implementerar protokollstacken f�r Appletalk och n�gra
andra anv�ndbara verktyg. Paketet netatalk finns antingen med i Lin�
uxditributionen, eller s� kan man ladda hem det via ftp fr�n Univer�
sity of Michigan <
ftp://terminator.rs.itd.umich.edu/unix/netatalk/>
F�r att kompilera och installera paketet g�r man ungef�r s� h�r:
# cd /usr/src
# tar xvfz .../netatalk-1.4b2.tar.Z
- You may want to edit the `Makefile' at this point, specifically to change
the DESTDIR variable which defines where the files will be installed later.
The default of /usr/local/atalk is fairly safe.
# make
- as root:
# make install
6.2.1. Att konfigurera mjukvaran f�r Appletalk.
Det f�rsta man m�ste g�ra f�r att f� det att fungera �r att se till
att de r�tta raderna finns med i filen /etc/services. Raderna man
beh�ver �r:
rtmp 1/ddp # Routing Table Maintenance Protocol
nbp 2/ddp # Name Binding Protocol
echo 4/ddp # AppleTalk Echo Protocol
zip 6/ddp # Zone Information Protocol
N�sta steg �r att skapa konfigurationsfiler f�r Appletalk i katalogen
/usr/local/atalk/etc (eller var man nu installerade paketet).
Den f�rsta filen som beh�vs �r /usr/local/atalk/etc/atalkd.conf. Till
en b�rjan beh�ver denna fil endast en rad som anger namnet p� den
n�tverksenhet som �r kopplad n�tverket d�r Applemaskinerna finns:
eth0
Daemonen f�r Appletalk kommer att l�gga dit fler detaljer n�r den
k�rs.
6.2.2. Att exportera ett Linuxfilsystem via Appletalk.
Man kan exportera filsystem fr�n sin Linuxburk till n�tverket s� att
Applemaskinerna p� n�tverket kan anv�nda dem.
F�r att g�ra detta s� beh�ver man konfigurera filen
/usr/local/atalk/etc/AppleVolumes.system. Det finns ytterligare en
konfigurationsfil som heter /usr/local/atalk/etc/AppleVolumes.default
som har precis samma format och beskriver vilka filsystem som kan
anv�ndas av anv�ndare som ansluter med g�st-r�ttigheter.
Alla detaljer om hur man konfigurerar dessa finns i manualbladet f�r
afpd.
Ett enkelt exempel:
/tmp Scratch
/home/ftp/pub "Public Area"
Detta skulle exportera /tmp-filsystemet som en AppleShare-volym
`Scratch' och /home/ftp/pub-katalogen som en AppleShare-volym `Public
Area'. Volymnamnen �r inte obligatoriska, daemonen v�ljer namn om man
inte anger dem, men det skadar inte att ange dem �nd�.
6.2.3. Att dela sin skrivare via Appletalk.
Man kan dela sin Linuxskrivare med sina Applemaskiner ganska enkelt.
Man beh�ver k�ra programmet papd (Appletalk Printer Access Protocol
Daemon). N�r man k�r detta program s� tar det emot f�rfr�gningar fr�n
Applemaskinerna och spoolar utskriftsjobben till den lokala line-
printer daemonen.
Man beh�ver �ndra filen /usr/local/atalk/etc/papd.conf f�r att
konfigurera daemonen. Syntaxen f�r denna fil �r densamma som f�r den
vanliga /etc/printcap filen. Namnet som man ger till definitionen
registreras med Appletalks namns�ttningsprotokoll, NBP.
En exempelkonfiguration kan se ut s� h�r:
TricWriter:\
:pr=lp:op=cg:
Vilken skulle skapa en printer som kallas f�r `TricWriter' som blir
tillg�nglig f�r Appletalkn�tverket och alla accepterade jobb skulle
skrivas ut p� Linuxskrivaren `lp' (som den definieras i filen
/etc/printcap) genom att anv�nda lpd. Uttrycket `op=cg' talar om att
Linux-anv�ndaren `cg' �r ansvarig f�r skrivaren.
6.2.4. Att starta programvaran f�r Appletalk.
Nu b�r man var redo att testa denna enkla konfiguration. Det finns en
fil rc.atalk som f�ljer med paketet netatalk som borde fungera f�r de
flesta, s� allt man beh�ver g�ra �r f�ljande:
# /usr/local/atalk/etc/rc.atalk
och allt borde startas och fungera. Man skall inte se n�gra
felmeddelanden och programvaran kommer att skicka meddelanden till
konsolen som indikerar varje steg som startas.
6.2.5. Att testa programvaran f�r Appletalk.
F�r att testa att mjukvaran fungerar som den skall, s� g�r man till en
av sina Applemaskiner, tar ner �pplemenyn, v�ljer V�ljaren (Chooser),
klickar p� AppleShare, och Linuxburken b�r synas.
6.2.6. Brister i programvaran f�r Appletalk.
� Man kanske m�ste starta Appletalk-st�det innan man konfigurerar
sitt IP-n�tverk. Om man har problem med att starta
Appletalkprogrammen, eller om man, efter att ha startat dem, har
problem med sitt IP-n�tverk, s� f�rs�ker man med att starta
Appletalk innan man k�r sin /etc/rc.d/rc.inet1 fil.
� Daemonen afpd (Apple Filing Protocol Daemon) st�kar till ordentligt
i filsystemet. Under mount-punkterna s� skapar den ett par
kataloger som heter .AppleDesktop och Network Trash Folder. Sedan
f�r varje katalog som man bes�ker s� kommer den att skapa en
.AppleDouble under dem s� att den kan spara diverse information. S�
man b�r t�nka efter innan man exporterar /, man kommer att ha det
skoj n�r man st�dar upp efter�t.
� Daemonen afpd f�rv�ntar sig l�senord i klartext fr�n Macarna.
S�kerhet kan vara ett problem, s� man skall vara f�rsiktig n�r man
k�r denna daemonen p� en dator som �r ansluten till Internet, man
har sig sj�lv att skylla om n�gon elak person g�r n�gon skada.
� Existerande diagnostiseringsverktyg som netstat och ifconfig st�der
inte Appletalk. R� information �r tillg�nglig i katalogen
/proc/net/ om man beh�ver den.
6.2.7. Mer information.
En mycket mer detaljerad information om hur man konfigurerar Appletalk
f�r Linux finns i Anders Brownworths Linux Netatalk-HOWTO sida p�
thehamptons.com <
http://thehamptons.com/anders/netatalk/>.
6.3. ATM
Werner Almesberger <
[email protected]> h�ller i ett
projekt f�r att skapa st�d f�r Asynchronous Transfer Mode i Linux.
Uppdaterad information om statusen f�r projektet kan f�s fr�n
lrcwww.epfl.ch <
http://lrcwww.epfl.ch/linux-atm/>.
6.4. AX25 ( AF_AX25 )
Enhetsnamn f�r AX.25 �r `sl0', `sl1', osv i 2.0.* k�rnor eller `ax0',
`ax1', osv i 2.1.* k�rnor.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] Amateur Radio AX.25 Level 2
AX25, Netrom och Rose protokollen t�cks av AX25-HOWTO
<AX25-HOWTO.html>. Dessa protokoll anv�nds av Amat�rradio-operat�rer
i hela v�rlden f�r paketradio experiment.
Det mesta arbetet f�r att implementera protokollen har utf�rts av
Jonathon Naylor,
[email protected].
6.5. DECNet
St�d f�r DECNet h�ller f�r tillf�llet p� att utvecklas. Man kan r�kna
med att det dyker upp i sena 2.1.* k�rnor.
6.6. EQL - trafikutj�mnare f�r multipla linor.
Enhetsnamnet f�r EQL �r `eql'. Med standardk�rnan kan man endast ha en
EQL-enhet per maskin. EQL tillhandah�ller hj�lpmedel f�r att anv�nda
multipla punkt till punkt f�rbindelser (tex PPP, SLIP eller PLIP) som
en ensam logisk l�nk f�r att b�ra TCP/IP. Ofta �r det billigare att
anv�nda flera linor med l�gre hastighet �n att ha en h�ghastighetslina
installerad.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
<*> EQL (serial line load balancing) support
F�r att st�dja denna mekanism s� m�ste maskinen p� andra sidan av
linorna ocks� st�dja EQL. Linux, Livingstone Portmasters och nyare
dial-in servrar st�der kompatibla tj�nster.
F�r att konfigurera EQL beh�ver man eql-verktygen som finns p�:
sunsite.unc.edu
<
ftp://sunsite.unc.edu/pub/linux/system/Serial/eql-1.2.tar.gz>.
Konfigurationen �r hyfsat okomplicerad. Man b�rjar med att konfigurera
eql-gr�nssnittet. Eql-gr�nssnittet �r precis som alla andra
n�tverksgr�nssnitt. Man kan konfigurera IP-adressen och MTU genom att
anv�nda ifconfig, s� ungef�r som:
ifconfig eql 192.168.10.1 mtu 1006
Sedan beh�ver man manuellt initiera var och en av linorna som man
skall anv�nda. Dessa kan vara en valfri kombination av punkt till
punkt f�rbindelser. Hur man initierar de anslutningarna beror p�
vilken typ av l�nkar de �r, se passande sektioner f�r mer information.
Till sist skall man associera den seriella l�nken med EQL-enheten,
detta kallas f�r `enslaving' och g�rs med kommandot eql_enslave:
eql_enslave eql sl0 28800
eql_enslave eql ppp0 14400
Parametern `estimated speed' som man ger till eql_enslave g�r ingen
direkt nytta. Den anv�nds av EQL-drivrutinen f�r att avg�ra hur stor
del av datagrammen som den enheten skall f� ta emot, s� man kan fin�
justera balansen hos linorna genom att �ndra p� detta v�rde.
F�r att disassociera en lina fr�n en EQL-enhet s� anv�nder man
kommandot eql_emancipate:
eql_emancipate eql sl0
Man l�gger till routing som om det vore en normal punkt till punkt
f�rbindelse, f�rutom att router skall referera till eql enheten
ist�llet f�r de verkliga seriella enheterna:
route add default eql
EQL-drivrutinen utvecklades av Simon Janes,
[email protected].
6.7. Ethernet
Enhetsnamn f�r Ethernet �r `eth0', `eth1', `eth2' osv. Det f�rsta
kortet som hittas f�r namnet `eth0' och resten tilldelas namn
sekvensiellt i den ordning som de hittas.
F�r att ta reda p� hur man f�r sitt Ethernet-kort att fungera i Linux
s� b�r man titta i Ethernet-HOWTO <Ethernet-HOWTO.html>.
N�r man v�l har en k�rna som st�der sitt Ethernet-kort s� �r det
enkelt att konfigurera kortet.
Vanligtvis s� anv�nds ungef�r f�ljande:
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
De flesta drivrutinerna f�r Ethernet utvecklades av Donald Becker,
[email protected].
6.8. FDDI
Enhetsnamnen f�r FDDI �r `fddi0', `fddi1', `fddi2' osv. Det f�rsta
kortet som hittas f�r namnet `fddi0' och resten tilldelas namn
sekvensiellt i den ordning som de hittas.
Larry Stefani,
[email protected], har utvecklat en drivrutin f�r
EISA och PCI FDDI-kort fr�n Digital Equipment Corporation.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] FDDI driver support
[*] Digital DEFEA and DEFPA adapter support
N�r man v�l har en k�rna som st�der sitt FDDI-kort, s� konfigureras
FDDI-kortet n�stan likadant som Ethernet-kortet. Man beh�ver bara ange
l�mpliga FDDI-enhetsnamn till kommandona ifconfig och route.
6.9. Frame Relay
Enhetsnamnen f�r Frame Relay �r `dlci00', `dlci01' osv f�r DLCI
inkapslingsenheter och `sdla0', `sdla1' osv f�r FRAD(s).
Frame Relay �r en ny teknik att bygga n�tverk och �r designad att
passa datakommunikation vars trafik �r av oregelbunden karakt�r. Man
ansluter till ett Frame Realay n�tverk genom att anv�nda en Frame
Relay Access Device (FRAD). Linux Frame Relay st�djer IP �ver Frame
Relay s� som det beskrivs i RFC1490.
Kompileringsalternativ f�r K�rnan:
Network device support --->
<*> Frame relay DLCI support (EXPERIMENTAL)
(24) Max open DLCI
(8) Max DLCI per device
<*> SDLA (Sangoma S502/S508) support
Mike McLagan,
[email protected], utvecklade st�det och
konfigurationsverktygen f�r Frame Relay.
F�r n�rvarande �r de FRADs som st�ds f�ljande: Sangoma Technologies
<
http://www.sangoma.com/> S502A, S502E och S508.
F�r att konfigurera FRAD och DLCI enheter efter det att man har
kompilerat om sin k�rna s� beh�ver man konfigurationsverktygen f�r
Frame Relay. Dessa finns p�: ftp.invlogic.com
<
ftp://ftp.invlogic.com/pub/linux/fr/frad-0.15.tgz>. Det �r
okomplicerat att kompilera och installera verktygen, men avsaknaden av
en toppniv�-Makefile g�r det till en manuell process:
# cd /usr/src
# tar xvfz .../frad-0.15.tgz
# cd frad-0.15
# for i in common dlci frad; make -C $i clean; make -C $i; done
# mkdir /etc/frad
# install -m 644 -o root -g root bin/*.sfm /etc/frad
# install -m 700 -o root -g root frad/fradcfg /sbin
# install -m 700 -o root -g root dlci/dlcicfg /sbin
Efter att man har installerat verktygen skall man skapa en fil som
heter /etc/frad/router.conf. Man kan anv�nda f�ljande mall, som �r en
modifierad version av en exempelfil:
# /etc/frad/router.conf
# This is a template configuration for frame relay.
# All tags are included. The default values are based on the code
# supplied with the DOS drivers for the Sangoma S502A card.
#
# A '#' anywhere in a line constitutes a comment
# Blanks are ignored (you can indent with tabs too)
# Unknown [] entries and unknown keys are ignored
#
[Devices]
Count=1 # number of devices to configure
Dev_1=sdla0 # the name of a device
#Dev_2=sdla1 # the name of a device
# Specified here, these are applied to all devices and can be overriden for
# each individual board.
#
Access=CPE
Clock=Internal
KBaud=64
Flags=TX
#
# MTU=1500 # Maximum transmit IFrame length, default is 4096
# T391=10 # T391 value 5 - 30, default is 10
# T392=15 # T392 value 5 - 30, default is 15
# N391=6 # N391 value 1 - 255, default is 6
# N392=3 # N392 value 1 - 10, default is 3
# N393=4 # N393 value 1 - 10, default is 4
# Specified here, these set the defaults for all boards
# CIRfwd=16 # CIR forward 1 - 64
# Bc_fwd=16 # Bc forward 1 - 512
# Be_fwd=0 # Be forward 0 - 511
# CIRbak=16 # CIR backward 1 - 64
# Bc_bak=16 # Bc backward 1 - 512
# Be_bak=0 # Be backward 0 - 511
#
#
# Device specific configuration
#
#
#
# The first device is a Sangoma S502E
#
[sdla0]
Type=Sangoma # Type of the device to configure, currently only
# SANGOMA is recognised
#
# These keys are specific to the 'Sangoma' type
#
# The type of Sangoma board - S502A, S502E, S508
Board=S502E
#
# The name of the test firmware for the Sangoma board
# Testware=/usr/src/frad-0.10/bin/sdla_tst.502
#
# The name of the FR firmware
# Firmware=/usr/src/frad-0.10/bin/frm_rel.502
#
Port=360 # Port for this particular card
Mem=C8 # Address of memory window, A0-EE, depending on card
IRQ=5 # IRQ number, do not supply for S502A
DLCIs=1 # Number of DLCI's attached to this device
DLCI_1=16 # DLCI #1's number, 16 - 991
# DLCI_2=17
# DLCI_3=18
# DLCI_4=19
# DLCI_5=20
#
# Specified here, these apply to this device only,
# and override defaults from above
#
# Access=CPE # CPE or NODE, default is CPE
# Flags=TXIgnore,RXIgnore,BufferFrames,DropAborted,Stats,MCI,AutoDLCI
# Clock=Internal # External or Internal, default is Internal
# Baud=128 # Specified baud rate of attached CSU/DSU
# MTU=2048 # Maximum transmit IFrame length, default is 4096
# T391=10 # T391 value 5 - 30, default is 10
# T392=15 # T392 value 5 - 30, default is 15
# N391=6 # N391 value 1 - 255, default is 6
# N392=3 # N392 value 1 - 10, default is 3
# N393=4 # N393 value 1 - 10, default is 4
#
# The second device is some other card
#
# [sdla1]
# Type=FancyCard # Type of the device to configure.
# Board= # Type of Sangoma board
# Key=Value # values specific to this type of device
#
# DLCI Default configuration parameters
# These may be overridden in the DLCI specific configurations
#
CIRfwd=64 # CIR forward 1 - 64
# Bc_fwd=16 # Bc forward 1 - 512
# Be_fwd=0 # Be forward 0 - 511
# CIRbak=16 # CIR backward 1 - 64
# Bc_bak=16 # Bc backward 1 - 512
# Be_bak=0 # Be backward 0 - 511
#
# DLCI Configuration
# These are all optional. The naming convention is
# [DLCI_D<devicenum>_<DLCI_Num>]
#
[DLCI_D1_16]
# IP=
# Net=
# Mask=
# Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=64
# Bc_fwd=512
# Be_fwd=0
# CIRbak=64
# Bc_bak=512
# Be_bak=0
[DLCI_D2_16]
# IP=
# Net=
# Mask=
# Flags defined by Sangoma: TXIgnore,RXIgnore,BufferFrames
# DLCIFlags=TXIgnore,RXIgnore,BufferFrames
# CIRfwd=16
# Bc_fwd=16
# Be_fwd=0
# CIRbak=16
# Bc_bak=16
# Be_bak=0
N�r man har skapat sin /etc/frad/router.conf fil s� �r det enda som
�terst�r att konfigurera enheterna. Detta �r bara lite sv�rare �n att
konfigurera en normal n�tverksenhet. Man m�ste komma ih�g att starta
upp FRAD-enheten innan DLCI inkapslingsenheterna.
# Configure the frad hardware and the DLCI parameters
/sbin/fradcfg /etc/frad/router.conf || exit 1
/sbin/dlcicfg file /etc/frad/router.conf
#
# Bring up the FRAD device
ifconfig sdla0 up
#
# Configure the DLCI encapsulation interfaces and routing
ifconfig dlci00 192.168.10.1 pointopoint 192.168.10.2 up
route add -net 192.168.10.0 netmask 255.255.255.0 dlci00
#
ifconfig dlci01 192.168.11.1 pointopoint 192.168.11.2 up
route add -net 192.168.11.0 netmask 255.255.255.0 dlci00
#
route add default dev dlci00
#
6.10. IP-redovisning (IP Accounting)
Med IP-redovisningsegenskaperna i Linuxk�rnan kan man samla ihop och
analysera viss data fr�n n�tverksanv�ndningen. Datan som samlas ihop
best�r av antalet paket och antalet bytes ackumulerade sedan talen
senast nollst�lldes. Man kan specificera en m�ngd olika regler f�r att
kategorisera talen f�r att passa sina �ndam�l.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] IP: accounting
N�r man har kompilerat och installerat k�rnan s� beh�ver man anv�nda
kommandot ipfwadm f�r att konfigurera IP-redovisningen. Det finns
m�nga olika s�tt att bryta ner redovisningsinformationen. Jag har valt
ett enkelt exempel p� vad som skulle kunna vara anv�ndbart, man kan
l�sa manualbladet f�r kommandot ipfwadm f�r mer information.
Scenario: man har ett Ethernet-n�tverk som �r anslutet till Internet
via en PPP-l�nk. P� sitt Ethernet har man en maskin som erbjuder ett
antal tj�nster och man �r intresserad av att veta hur mycket trafik
som genereras av telnet, rlogin, ftp och www trafik.
Man skulle d� kunna anv�nda f�ljande:
#
# Flush the accounting rules
ipfwadm -A -f
#
# Add rules for local ethernet segment
ipfwadm -A in -a -P tcp -D 44.136.8.96/29 20
ipfwadm -A out -a -P tcp -S 44.136.8.96/29 20
ipfwadm -A in -a -P tcp -D 44.136.8.96/29 23
ipfwadm -A out -a -P tcp -S 44.136.8.96/29 23
ipfwadm -A in -a -P tcp -D 44.136.8.96/29 80
ipfwadm -A out -a -P tcp -S 44.136.8.96/29 80
ipfwadm -A in -a -P tcp -D 44.136.8.96/29 513
ipfwadm -A out -a -P tcp -S 44.136.8.96/29 513
ipfwadm -A in -a -P tcp -D 44.136.8.96/29
ipfwadm -A out -a -P tcp -D 44.136.8.96/29
ipfwadm -A in -a -P udp -D 44.136.8.96/29
ipfwadm -A out -a -P udp -D 44.136.8.96/29
ipfwadm -A in -a -P icmp -D 44.136.8.96/29
ipfwadm -A out -a -P icmp -D 44.136.8.96/29
#
# Rules for default
ipfwadm -A in -a -P tcp -D 0/0 20
ipfwadm -A out -a -P tcp -S 0/0 20
ipfwadm -A in -a -P tcp -D 0/0 23
ipfwadm -A out -a -P tcp -S 0/0 23
ipfwadm -A in -a -P tcp -D 0/0 80
ipfwadm -A out -a -P tcp -S 0/0 80
ipfwadm -A in -a -P tcp -D 0/0 513
ipfwadm -A out -a -P tcp -S 0/0 513
ipfwadm -A in -a -P tcp -D 0/0
ipfwadm -A out -a -P tcp -D 0/0
ipfwadm -A in -a -P udp -D 0/0
ipfwadm -A out -a -P udp -D 0/0
ipfwadm -A in -a -P icmp -D 0/0
ipfwadm -A out -a -P icmp -D 0/0
#
# List the rules
ipfwadm -A -l -n
#
Det sista kommandot listar var och en av redovisningsreglerna och
visar de ihopsamlade summorna.
En viktig notering �r att n�r man analyserar datan �r att summan f�r
alla regler som passar in kommer att �kas s� f�r att erh�lla summor
f�r enskilda protokoll s� m�ste man r�kna lite grann. Om jag tex ville
veta hur mycket data som inte var ftp, telnet, rlogin eller www s�
skulle jag subtrahera de individuella summorna fr�n den regel som
passar in p� alla portarna.
# ipfwadm -A -l -n
IP accounting rules
pkts bytes dir prot source destination ports
0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 20
0 0 out tcp 44.136.8.96/29 0.0.0.0/0 20 -> *
0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 23
0 0 out tcp 44.136.8.96/29 0.0.0.0/0 23 -> *
10 1166 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 80
10 572 out tcp 44.136.8.96/29 0.0.0.0/0 80 -> *
242 9777 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 513
220 18198 out tcp 44.136.8.96/29 0.0.0.0/0 513 -> *
252 10943 in tcp 0.0.0.0/0 44.136.8.96/29 * -> *
231 18831 out tcp 0.0.0.0/0 44.136.8.96/29 * -> *
0 0 in udp 0.0.0.0/0 44.136.8.96/29 * -> *
0 0 out udp 0.0.0.0/0 44.136.8.96/29 * -> *
0 0 in icmp 0.0.0.0/0 44.136.8.96/29 *
0 0 out icmp 0.0.0.0/0 44.136.8.96/29 *
0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 20
0 0 out tcp 0.0.0.0/0 0.0.0.0/0 20 -> *
0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 23
0 0 out tcp 0.0.0.0/0 0.0.0.0/0 23 -> *
10 1166 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 80
10 572 out tcp 0.0.0.0/0 0.0.0.0/0 80 -> *
243 9817 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 513
221 18259 out tcp 0.0.0.0/0 0.0.0.0/0 513 -> *
253 10983 in tcp 0.0.0.0/0 0.0.0.0/0 * -> *
231 18831 out tcp 0.0.0.0/0 0.0.0.0/0 * -> *
0 0 in udp 0.0.0.0/0 0.0.0.0/0 * -> *
0 0 out udp 0.0.0.0/0 0.0.0.0/0 * -> *
0 0 in icmp 0.0.0.0/0 0.0.0.0/0 *
0 0 out icmp 0.0.0.0/0 0.0.0.0/0 *
#
6.11. IP Aliasing
Det finns vissa applikationer d�r det �r anv�ndbart att kunna tilldela
flera IP-adresser till en och samma n�tverksenhet. Titta i IP-Aliasing
mini-HOWTO f�r mer information �n vad man hittar h�r.
Kompileringsalternativ f�r K�rnan:
Networking options --->
....
[*] Network aliasing
....
<*> IP: aliasing support
N�r man har kompilerat och installerat sin k�rna med st�d f�r IP
Aliasing s� �r det v�ldigt enkelt att konfigurera. Aliasen l�ggs till
virtuella n�tverksenheter som �r associerade med den verkliga enheten.
En enkel namnkonvention anv�nds, n�mligen <enhetsnamn>:<virtuellt
enhetsnummer>, tex eth0:0, ppp0:1 osv. Notera att en virtuell enhet
endast kan konfigureras efter det att den riktiga enheten har konfig�
urerats.
Till exempel, antag att man har ett Ethernet-n�tverk som inneh�ller
tv� olika IP-subn�t p� en g�ng. Man vill nu att maskinen skall ha
direkt access till b�da. Man skulle anv�nda n�got som:
#
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# ifconfig eth0:0 192.168.10.1 netmask 255.255.255.0 up
# route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0
#
F�r att ta bort ett alias s� l�gger man till ett `-' i slutet p� dess
namn:
# ifconfig eth0:0- 0
Alla router som �r relaterade till det aliaset kommer ocks� att tas
bort automatiskt.
6.12. IP Brandv�ggar (IP Firewalls)
IP-brandv�ggar t�cks mer i detalj i Firewall-HOWTO <Firewall-
HOWTO.html>. Med en IP-brandv�gg kan man skydda sin maskin mot
otill�ten �tkomst via n�tverket genom att filtrera bort eller till�ta
datagram till eller ifr�n IP-adresser som man anger. Det finns regler
i tre olika klasser: inkommande filtrering, utg�ende filtrering och
filtrering vid vidareskickning. Reglerna f�r inkommande g�ller
datagram som tas emot av en n�tverksenhet. Reglerna f�r utg�ende
g�ller datagram som skall skickas av en n�tverksenhet. Reglerna f�r
vidareskickning g�ller de datagram som tas emot men inte skall till
den aktuella maskinen, dvs datagram som skall routas.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] Network firewalls
....
[*] IP: forwarding/gatewaying
....
[*] IP: firewalling
[ ] IP: firewall packet logging
Konfigurationen av reglerna f�r brandv�ggen g�rs med hj�lp av
kommandot ipfwadm. Som jag n�mnde tidigare s� �r jag ingen expert p�
s�kerhet, s� �ven om jag visar ett exempel som g�r att anv�nda s�
rekommenderas egna unders�kningar i �mnet om s�kerhet �r s�rskilt
viktigt.
Det kanske vanligaste anv�ndningsomr�det f�r en brandv�gg �r n�r man
anv�nder sin Linuxburk som en router och brandv�gg f�r att skydda sitt
lokala n�tverk mot otill�ten �tkomst utifr�n.
F�ljande konfiguration �r baserad p� ett bidrag fr�n Arnt Gulbrandsen,
<
[email protected]>.
Exemplet beskriver en konfiguration av brandv�ggsreglerna i Linux-
brandv�ggen/routern som illustreras i denna figur:
- -
\ | 172.16.37.0
\ | /255.255.255.0
\ --------- |
| 172.16.174.30 | Linux | |
NET =================| f/w |------| ..37.19
| PPP | router| | --------
/ --------- |--| Mail |
/ | | /DNS |
/ | --------
- -
Kommandona som f�ljer placeras normalt i en rc fil s� att de startas
automatiskt varje g�ng systemet startas. F�r maximal s�kerhet s� borde
de utf�ras efter det att n�tverksgr�nssnitten konfigurerats, men innan
enheterna aktiveras s� att man p� detta s�tt hindrar att n�gon f�r
tillg�ng till maskinen medan den startar upp.
#!/bin/sh
# Flush the 'Forwarding' rules table
# Change the default policy to 'accept'
#
/sbin/ipfwadm -F -f
/sbin/ipfwadm -F -p accept
#
# .. and for 'Incoming'
#
/sbin/ipfwadm -I -f
/sbin/ipfwadm -I -p accept
# First off, seal off the PPP interface
# I'd love to use '-a deny' instead of '-a reject -y' but then it
# would be impossible to originate connections on that interface too.
# The -o causes all rejected datagrams to be logged. This trades
# disk space against knowledge of an attack of configuration error.
#
/sbin/ipfwadm -I -a reject -y -o -P tcp -S 0/0 -D 172.16.174.30
# Throw away certain kinds of obviously forged packets right away:
# Nothing should come from multicast/anycast/broadcast addresses
#
/sbin/ipfwadm -F -a deny -o -S 224.0/3 -D 172.16.37.0/24
#
# and nothing coming from the loopback network should ever be
# seen on a wire
#
/sbin/ipfwadm -F -a deny -o -S 127.0/8 -D 172.16.37.0/24
# accept incoming SMTP and DNS connections, but only
# to the Mail/Name Server
#
/sbin/ipfwadm -F -a accept -P tcp -S 0/0 -D 172.16.37.19 25 53
#
# DNS uses UDP as well as TCP, so allow that too
# for questions to our name server
#
/sbin/ipfwadm -F -a accept -P udp -S 0/0 -D 172.16.37.19 53
#
# but not "answers" coming to dangerous ports like NFS and
# Larry McVoy's NFS extension. If you run squid, add its port here.
#
/sbin/ipfwadm -F -a deny -o -P udp -S 0/0 53 \
-D 172.16.37.0/24 2049 2050
# answers to other user ports are okay
#
/sbin/ipfwadm -F -a accept -P udp -S 0/0 53 \
-D 172.16.37.0/24 53 1024:65535
# Reject incoming connections to identd
# We use 'reject' here so that the connecting host is told
# straight away not to bother continuing, otherwise we'd experience
# delays while ident timed out.
#
/sbin/ipfwadm -F -a reject -o -P tcp -S 0/0 -D 172.16.37.0/24 113
# Accept some common service connections from the 192.168.64 and
# 192.168.65 networks, they are friends that we trust.
#
/sbin/ipfwadm -F -a accept -P tcp -S 192.168.64.0/23 \
-D 172.16.37.0/24 20:23
# accept and pass through anything originating inside
#
/sbin/ipfwadm -F -a accept -P tcp -S 172.16.37.0/24 -D 0/0
# deny most other incoming TCP connections and log them
# (append 1:1023 if you have problems with ftp not working)
#
/sbin/ipfwadm -F -a deny -o -y -P tcp -S 0/0 -D 172.16.37.0/24
# ... for UDP too
#
/sbin/ipfwadm -F -a deny -o -P udp -S 0/0 -D 172.16.37.0/24
Att g�ra en bra konfiguration av brandv�ggen �r lite trixigt. Exemplet
ovan borde dock vara en hyfsad startpunkt. Manualbladet f�r kommandot
ipfwadm inneh�ller mer hj�lp om hur man anv�nder det. Om man t�nker
konfigurera en brandv�gg, s� skall man se till att fr�ga runt och f�
s� mycket r�d man kan ifr�n k�llor som man anser vara p�litliga. L�t
sedan n�gon testa konfigurationen fr�n utsidan.
6.13. IPIP Inkapsling (IPIP Encapsulation)
Varf�r skulle man vilja kapsla in IP-datagram i andra IP-datagram? Det
l�ter som en konstig sak att g�ra om man aldrig sett ett exempel p�
det innan. Ok, h�r �r ett par vanliga omr�den d�r det anv�nds: Mobil
IP och IP-Multicast. Men d�r det antagligen anv�nds mest �r ocks� det
mest ok�nda omr�det, Amat�rradio.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
....
<*> IP: tunneling
Tunnlingsenheterna heter `tunl0', `tunl1' osv.
"Men varf�r....?". Ok, ok. Konventionella regler f�r IP-routing s�ger
att ett IP-n�tverk best�r av en n�tverksadress och en n�tmask. Detta
producerar en serie kontinuerliga adresser som alla kan routas till en
och samma utg�ende lina. Detta �r v�ldigt bekv�mt, men det inneb�r att
man bara kan anv�nda en viss IP-adress n�r man �r ansluten till ett
visst n�tverk som adressen tillh�r. I de flesta fall g�r detta bra,
men om man �r en mobil 'n�t-inv�nare' s� kanske man inte alltid �r
ansluten till ett och samma n�tverk hela tiden. IPIP inkapsling (IP-
tunnling) g�r det m�jligt att slippa den restriktionen genom att l�ta
datagram som �r destinerade till en viss IP-adress packas in i ett
nytt IP-paket och omdirigeras till en annan IP-adress. Om man vet att
man kommer att arbeta p� ett annat IP-n�tverk ett tag s� kan man
st�lla in en maskin p� sitt hemman�t att ta emot ens datagram och
sedan omdirigera dem till den adress som man anv�nder tempor�rt.
6.13.1. En tunnlad n�tverkskonfiguration.
Som alltid, s� tycker jag att en figur fungerar b�ttre �n en massa
f�rvirrande text, s� h�r kommer en:
192.168.1/24 192.168.2/24
- -
| ppp0 = ppp0 = |
| aaa.bbb.ccc.ddd fff.ggg.hhh.iii |
| |
| /-----\ /-----\ |
| | | // | | |
|---| A |------//---------| B |---|
| | | // | | |
| \-----/ \-----/ |
| |
- -
Figuren illustrerar en annan m�jlig anledning till IPIP-inkapsling,
ett virtuellt privat n�tverk. Detta exempel f�ruts�tter att man har
tv� maskiner som b�da har en enkel uppringd anslutning till Internet.
B�da datorerna allokeras en IP-adress. Bakom dessa maskiner finns
n�gra privata LAN konfigurerade med reserverade n�tverksadresser.
Antag att man vill l�ta vilken dator som helst p� n�tverk A
kommunicera med vilken dator som helst p� n�tverk B, precis som om de
vore anslutna till Internet med en n�tverksroute. IPIP-inkapsling
fixar detta. Notera att inkapslingen inte l�ser problemet med att l�ta
datorerna p� n�tverken A och B kommunicera med n�gon annan dator p�
Internet, d� beh�ver man trix som IP-maskering. Inkapsling g�rs
normalt av maskiner som upptr�der som routrar.
Linux routern `A' skulle konfigureras med:
#
PATH=/sbin:/usr/sbin
#
# Ethernet configuration
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.1 up
route add -net 192.168.2.0 netmask 255.255.255.0 gw fff.ggg.hhh.iii tunl0
Linux routern `B' skulle konfigureras med:
#
PATH=/sbin:/usr/sbin
#
# Ethernet configuration
ifconfig eth0 192.168.2.1 netmask 255.255.255.0 up
route add -net 192.168.2.0 netmask 255.255.255.0 eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.2.1 up
route add -net 192.168.1.0 netmask 255.255.255.0 gw aaa.bbb.ccc.ddd tunl0
Kommandot:
route add -net 192.168.1.0 netmask 255.255.255.0 gw aaa.bbb.ccc.ddd tunl0
betyder: 'Skicka alla datagram �mnade f�r 192.168.1.0/24 inuti ett
IPIP-inkapslat datagram med destinationsadressen aaa.bbb.ccc.ddd'.
Notera att konfigurationen finns p� b�da sidor. Tunnlingsenheten
anv�nder `gw' parametern i routen som destination f�r IP-datagrammet
som kapslar in originaldatagrammet. Den maskinen m�ste d� veta hur man
'packar upp' ett IPIP-datagram, dvs den m�ste ocks� ha en
tunnlingsenhet.
6.13.2. En tunnlad datorkonfiguration.
Man m�ste inte routa ett helt n�tverk. Man skulle till exempel kunna
routa en enskild IP-adress. I s�dana fall skulle man kunna konfigurera
tunl enheten p� den 'avl�gsna' maskinen med sin hemma-IP-adress och i
A-�ndan bara anv�nda dator-route (och Proxy Arp) ist�llet f�r en
n�tverksroute via tunnlingsenheten. L�t oss rita om och modifiera v�r
konfiguration efter detta. Nu har vi bara datorn `B' som vill agera
och uppf�ra sig som om den b�de var ansluten till Internet och �ven en
del av n�tverket som st�ds av datorn `A':
192.168.1/24
-
| ppp0 = ppp0 =
| aaa.bbb.ccc.ddd fff.ggg.hhh.iii
|
| /-----\ /-----\
| | | // | |
|---| A |------//---------| B |
| | | // | |
| \-----/ \-----/
| also: 192.168.1.12
-
Linux routern `A' skulle konfigureras med:
#
PATH=/sbin:/usr/sbin
#
# Ethernet configuration
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.1 up
route add -host 192.168.1.12 gw fff.ggg.hhh.iii tunl0
#
# Proxy ARP for the remote host
arp -s 192.168.1.12 xx:xx:xx:xx:xx:xx pub
Linuxdatorn `B' skulle konfigureras med:
#
PATH=/sbin:/usr/sbin
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.12 up
route add -net 192.168.1.0 netmask 255.255.255.0 gw aaa.bbb.ccc.ddd tunl0
Denna typ av konfiguration �r mer typisk f�r Mobil IP. D�r en enskild
dator vill flytta omkring p� Internet och hela tiden anv�nda samma IP-
adress. Mer information om detta finns i sektionen om Mobil IP.
6.14. IPX ( AF_IPX )
IPX-protokollet anv�nds mest i LAN-omgivningar med Novell NetWare(tm).
Linux har st�d f�r att kunna agera som en n�tverks�ndpunkt, eller som
en router f�r IPX.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] The IPX protocol
[ ] Full internal IPX network
IPX-protokollet och NCPFS t�cks mer detaljerat i IPX-HOWTO <IPX-
HOWTO.html>.
6.15. IPv6
Precis n�r man tror att man f�rst�r hur IP-n�tverk fungerar s� �ndras
reglerna! IPv6 �r en f�rkortning av Internet Protocol version 6. IPv6
kan ibland ocks� kallas f�r IPng (IP next generation) (Sv�). IPv6
utvecklades i huvudsak f�r att ta bort oron i Internetv�rlden att det
snart �r slut p� IP-adresser som kan delas ut. IPv6-adresserna �r 16
bytes stora (128 bits). IPv6 har ett antal andra �ndringar, mest
f�renklingar, som kommer att g�ra IPv6-n�tverk l�ttare att underh�lla
�n IPv4-n�tverk.
Linux har redan en fungerande, men inte komplett, IPv6-implementation
i version 2.1.* av k�rnan.
Om man vill experimentera med n�sta generations Internetteknik, eller
om man beh�ver den, s� b�r man l�sa IPv6-FAQ som finns p�
www.terra.net <
http://www.terra.net/ipv6/>.
6.16. ISDN
Integrated Services Digital Network (ISDN) �r en serie standarder som
specificerar ett generellt switchat digitalt n�tverk. En
ISDN-`uppringning' skapar en synkron punkt till punkt f�rbindelse till
destinationen. ISDN k�rs normalt p� h�ghastighetsl�nkar som delas in i
ett antal diskreta kanaler. Det finns tv� olika typer av kanaler, `B-
kanaler' som b�r anv�ndardatan och `D-kanaler' som anv�nds f�r
kontrollinformation till ISDN-v�xeln. I Australien till exempel s� kan
ISDN levereras med en 2Mbps-l�nk som delas in i 30 diskreta 64kbps B-
kanaler och en 64kbps D-kanal. Valfritt antal kanaler kan anv�ndas
samtidigt i valfri kombination. Man kan till exempel uppr�tta 30 olika
anslutningar p� 64kbps var till 30 olika destinationer, eller s� kan
man uppr�tta 15 olika anslutningar p� 128kbps var till 15 olika
destinationer (med tv� kanaler per anslutning), eller bara ett litet
antal kanaler och l�mna resten vilande. En kanal kan anv�ndas till
b�de inkommande och utg�ende anslutningar. Den ursprungliga avsikten
med ISDN var att telefonbolagen ville kunna erbjuda en enda datatj�nst
som kunde ge antingen telefon- (digitalt) eller datatj�nster till hem
och kontor utan att kunden skulle beh�va �ndra n�gon konfiguration.
Det finns n�gra olika s�tt att ansluta en dator till en ISDN-tj�nst.
Ett s�tt �r att anv�nda enhet som heter `Terminaladapter' som ansluter
till en `Network Terminating Unit' vilken telefonbolaget har
installerat i samband med ISDN-tj�nsten och som har ett antal seriella
gr�nssnitt. Ett av de gr�nssnitten anv�nds f�r att skicka kommandon
som uppr�ttar en f�rbindelse och konfiguration och de andra �r
anslutna till n�tverket som skall anv�ndas. Linux fungerar i denna
omgivningen utan modifikation, man behandlar bara terminaladaptern som
vilken annan seriell enhet som helst. Ett annat s�tt, vilket �r s� som
k�rnan st�der ISDN, �r att installera ett ISDN-kort i Linuxburken och
sedan l�ta mjukvaran i Linux hantera protokollen och uppr�tta
f�rbindelser.
Kompileringsalternativ f�r K�rnan:
ISDN subsystem --->
<*> ISDN support
[ ] Support synchronous PPP
[ ] Support audio via ISDN
< > ICN 2B and 4B support
< > PCBIT-D support
< > Teles/NICCY1016PC/Creatix support
Implementationen av ISDN i Linux st�der ett antal olika interna ISDN-
kort. Dessa finns listade i konfigurationen f�r k�rnan:
� ICN 2B and 4B
� Octal PCBIT-D
� Teles ISDN-cards and compatibles
N�gra av dessa kort kr�ver att man laddar hem s�rskild programvara
f�r att de skall fungera. Det finns ett separat verktyg att g�ra
detta med.
Alla detaljer om hur man konfigurerar ISDN f�r Linux finns
tillg�ngligt i katalogen /usr/src/linux/Documentation/isdn/ och en FAQ
f�r isdn4linux finns p� www.lrz-muenchen.de <
http://www.lrz-
muenchen.de/~ui161ab/www/isdn/>.
En anm�rkning om PPP. PPP-protokollen fungerar antingen f�r asynkrona
eller synkrona seriella linor. PPP-daemonen som vanligtvis levereras
med Linux, `pppd', st�der endast asynkront l�ge. Om man vill k�ra PPP-
protokoll via ISDN s� m�ste man anv�nda en s�rskilt modifierad
version. Var man hittar den finns beskrivet i dokumentationen som
n�mns ovan.
6.17. IP-maskering (IP Masquerade).
M�nga har en enkel uppringd anslutning till Internet. N�stan alla som
anv�nder den typen av konfiguration allokeras en enda IP-adress av
ISPn. Det r�cker normalt f�r att en dator skall ha full �tkomst till
Internet. IP-maskering �r ett smart trix som g�r det m�jligt att ha
m�nga maskiner som anv�nder en enda IP-adress genom att l�ta de andra
datorerna se ut som, d�rav termen maskering, maskinen som har den
uppringda anslutningen. Det finns dock en liten brist,
maskeringsfunktionen fungerar n�stan alltid bara i ena riktningen. Det
betyder att de f�rkl�dda datorerna kan ansluta ut�t, men de kan inte
ta emot n�tverksanslutningar fr�n andra datorer. Detta betyder att
vissa n�tverkstj�nster inte fungerar, tex talk, och andra som till
exempel ftp m�ste konfigureras att k�ra i passivt (PASV) l�ge f�r att
fungera. Lyckligtvis s� fungerar de vanligaste tj�nsterna som till
exempel telnet, World Wide Web och irc utm�rkt.
Kompileringsalternativ f�r K�rnan:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
[*] Network firewalls
....
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
....
[*] IP: masquerading (EXPERIMENTAL)
Vanligtvis har man sin Linuxburk konfigurerad f�r uppringd SLIP eller
PPP, precis som om det var en frist�enda dator. Dessutom s� skulle den
ha en ytterligare n�tverksenhet konfigurerad, kanske Ethernet som �r
konfigurerat med en reserverad n�tverksadress. Datorerna som skall
f�rkl�das skulle d� finnas p� det n�tverket. Var och en av de
datorerna skulle st�lla in IP-adressen p� Linuxboxens Ethernet-kort
som `default gateway' eller router. Observera att de andra datorerna
(de som inte har den uppringda anslutningen) inte beh�ver konfigureras
med IP-maskering, de beh�ver endast veta vilken dator som �r `default
gateway' (Sv�).
En typisk konfiguration:
- -
\ | 192.168.1.0
\ | /255.255.255.0
\ --------- |
| | Linux | .1.1 |
NET =================| masq |------|
| PPP/slip | router| | --------
/ --------- |--| host |
/ | | |
/ | --------
- -
De viktigaste kommandona f�r denna konfiguration �r:
# Network route for ethernet
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# Default route to the rest of the internet.
route add default ppp0
#
# Cause all hosts on the 192.168.1/24 network to be masqueraded.
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
Man kan hitta mer information om detta p� IP Masquerade Resource Page
<
http://www.hwy401.com/achau/ipmasq/> eller i IP-Masquerade-MINI-
HOWTO.
6.18. IP Transparent Proxy
Med IP transparent proxy kan man omdirigera servrar eller tj�nster
�mnade f�r en annan dator till tj�nsterna p� denna maskinen. Detta
kan till exempel vara anv�ndbart om man har en Linuxburk som router
och �ven tillhandah�ller en proxy-server. D� skulle man omdirigera
alla anslutningar �mnade f�r en avl�gsen tj�nst till den lokala proxy-
servern.
Kompileringsalternativ f�r K�rnan:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
[*] Network firewalls
....
[*] TCP/IP networking
....
[*] IP: firewalling
....
[*] IP: transparent proxy support (EXPERIMENTAL)
Man konfigurerar transparent proxy med kommandot ipfwadm.
Ett exempel som kan vara anv�ndbart f�ljer:
ipfwadm -I -a accept -D 0/0 telnet -r 2323
Detta exempel g�r att alla f�rs�k att uppr�tta en telnet-anslutning
(port 23) till n�gon dator kommer att omdirigeras till port 2323 p�
denna dator. Om man k�r en tj�nst p� den porten s� kan man vidarebefo�
dra telnet-anslutningar, logga dem eller g�ra vadhelst man �nskar.
Ett mer intressant exempel �r att omdirigera all http-trafik genom en
lokal cache. Men protokollet som anv�nds av proxy-servrar �r
annorlunda �n vanlig http: d�r en klient ansluter till
www.server.com:80 och fr�gar efter /s�kv�g/sida/, men n�r den ansluter
till en lokal cache kontaktar den proxy.local.domain:8080 och fr�gar
efter www.server.com/path/page.
F�r att filtrera en http-f�rfr�gan genom den lokala proxyn s� beh�ver
man l�gga till det protokollet genom att k�ra en liten server, som
heter transproxy (som man hittar p� www). Man kan d� k�ra transproxy
p� port 8081 och ge f�ljande kommando:
ipfwadm -I -a accept -D 0/0 80 -r 8081
Programmet transproxy kommer d� att ta emot alla anslutningar �mnade
f�r externa servrar och dirigera dem till den lokala proxyn efter att
den har fixat till protokollskillnaderna.
6.19. Mobil IP
Termen IP-mobilitet beskriver f�rm�gan att f�r en dator flytta sina
n�tverksanslutningar fr�n en punkt p� Internet till en annan utan att
�ndra sin IP-adress eller tappa anslutningen. Vanligtvis n�r en IP-
dator byter anslutningspunkt s� m�ste den �ven byta IP-adress. IP-
mobilitet �vervinner detta problem genom att allokera en fix IP-adress
till den mobila datorn och anv�nda IP-inkapsling (tunnling) med
automatisk routing f�r att se till att datagrammen som �r �mnade f�r
den routas till den IP-adress som den verkligen anv�nder.
Ett projekt �r ig�ng f�r att ta fram ett komplett paket med verktyg
f�r IP-mobilitet i Linux. Information om projektet kan f�s p� Linux
Mobile IP Home Page <
http://anchor.cs.binghamton.edu/~mobileip/>.
6.20. Multicast
Med IP-multicasting kan datagram routas till ett godtyckligt antal IP-
datorer p� olika IP-n�tverk samtidigt. Denna mekanism kan till exempel
anv�ndas f�r att s�nda broadcastmaterial, som tex video eller ljud,
till ett stort antal datorer p� Internet samtidigt utan att var och en
av dessa datorer beh�ver belasta n�tverket med en egen `kopia' av
materialet.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] TCP/IP networking
....
[*] IP: multicasting
Man beh�ver �ven ett paket med verktyg och g�ra mindre
n�tverkskonfiguration. Ett st�lle att h�mta information om hur man
installerar dessa f�r Linux finns p�: www.teksouth.com
<
http://www.teksouth.com/linux/multicast/>.
6.21. NAT - �vers�ttning av n�tverksadresser (Network Address Trans�
lation)
NAT �r en standardiserad storebror till Linux IP-maskering. Det finns
en detaljerad specifikation i RFC1631. NAT tillhandah�ller funktioner
som IP-maskering inte g�r vilket g�r det mer passande f�r anv�ndning i
brandv�ggsroutrar hos f�retag och i st�rre installationer.
En alpha-implementation av NAT f�r Linux 2.0.29 k�rnan har utvecklats
av Michael Hasenstein,
[email protected].
Michaels dokumentation och implementation finn p� Linux IP Network
Address Web Page <
http://www.csn.tu-chemnitz.de/HyperNews/get/linux-
ip-nat.html>
Nyare Linux 2.1.* k�rnor har ocks� viss NAT-funktionalitet i
routingalgoritmen.
6.22. NetRom ( AF_NETROM )
Enhetsnamn f�r NetRom �r `nr0', `nr1', osv.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] Amateur Radio AX.25 Level 2
[*] Amateur Radio NET/ROM
Protokollen AX25, Netrom och Rose finns beskrivna i AX25-HOWTO
<AX25-HOWTO.html>. Dessa protokoll anv�nds av radioamat�rer i hela
v�rlden i experiment med paketradio.
Det mesta arbetet med implementationen av dessa protokoll har gjorts
av Jonathon Naylor,
[email protected].
6.23. PLIP (Parallel Line Internet Protocol)
Enhetsnamn f�r PLIP �r `plip0', `plip1 and plip2.
Kompileringsalternativ f�r K�rnan:
Networking options --->
<*> PLIP (parallel port) support
PLIP, �r som SLIP i den mening att det anv�nds f�r att skapa en punkt
till punkt n�tverksf�rbindelse mellan tv� maskiner. Men det skiljer
sig genom att det �r designat f�r att anv�nda de parallella
skrivarportarna p� datorn ist�llet f�r de seriella (ett kabelschema
finns l�ngre fram i dokumentet). Eftersom det �r m�jligt att �verf�ra
mer �n en bit �t g�ngen med en parallellport, s� �r det m�jligt att
uppn� h�gre hastigheter med PLIP-gr�nssnittet �n vad man g�r med
seriell enhet. Dessutom kan �ven den enklaste av alla parallellportar,
skrivarporten, anv�ndas i st�llet f�r att man skall beh�va k�pa
j�mf�relsevis dyra 16550AFN UARTs till de seriella portarna. PLIP
anv�nder dock mycket CPU-tid j�mf�rt med en seriell l�nk och �r
naturligtvis inget bra val om man kan f� tag p� n�gra billiga
Ethernet-kort, men det fungerar om inget annat finns tillg�ngligt och
det fungerar dessutom ganska bra. Man kan f�rv�nta sig en
�verf�ringshastighet p� ungef�r 20 kB/s n�r en l�nk fungerar bra.
PLIP-drivrutinerna sl�ss med parallell-drivrutinen om h�rdvaran. Om
man vill anv�nda b�da drivrutinerna s� skall man kompilera b�da som
moduler s� kan man v�lja vilken port man skall anv�nda f�r PLIP och
vilka portar man skall anv�nda f�r skrivardrivrutinen. Se Modules-
HOWTO <Modules-HOWTO.html> f�r mer information om hur man konfigurerar
moduler till k�rnan.
Notera att vissa b�rbara datorer anv�nder chipsets som inte fungerar
med PLIP d�rf�r att de inte till�ter vissa kombinationer av signaler
som PLIP beh�ver, som skrivare inte anv�nder.
Linux PLIP-gr�nssnitt �r kompatibelt med Crynwyr Packet Driver PLIP
vilket betyder att man kan ansluta sin Linuxburk till en DOS-maskin
som k�r en annan typ av TCP/IP via PLIP.
I 2.0.* k�rnor �r PLIP-enheterna mappade mot I/O-port och IRQ som
f�ljer:
device i/o IRQ
------ ----- ---
plip0 0x3bc 5
plip1 0x378 7
plip2 0x278 2
Om man inte har parallellportar som st�mmer �verens med n�gon av
ovanst�ende kombinationer s� kan man �ndra en ports IRQ med kommandot
ifconfig och parametern `irq'. Man m�ste d� sl� p� IRQ p� skrivarpor�
tarna i sitt ROM BIOS (om det st�der det).
I senare 2.1.* k�rnor med Plug'n'Play st�d s� allokeras PLIP-enheterna
sekvensiellt n�r de hittas precis som Ethernet-enheterna.
N�r man kompilerar k�rnan �r det en fil som man kanske beh�ver titta i
f�r att konfigurera PLIP. Filen �r /usr/src/linux/driver/net/CONFIG
och den inneh�ller PLIP timrar i millisekunder. De f�rvalda �r
antagligen ok i de flesta fall. Man m�ste antagligen �ka p� dem om man
har en s�rskilt l�ngsam dator, d� man faktiskt skall �ka timrarna p�
den andra datorn. Det finns ett program plipconfig med vilket man kan
�ndra dessa timerinst�llningar utan att kompilera om k�rnan. Det
kommandot f�ljer med i m�nga Linuxdistributioner.
F�r att konfigurera ett PLIP-gr�nssnitt s� m�ste man l�gga till
f�ljande rader i sin rc-fil f�r n�tverket:
#
# Attach a PLIP interface
#
# configure first parallel port as a plip device
/sbin/ifconfig plip0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up
#
# End plip
D�r:
IPA.IPA.IPA.IPA
representerar ens egen IP-adress.
IPR.IPR.IPR.IPR
representerar IP-adress p� den andra maskinen.
Parametern pointopoint har samma betydelse som f�r SLIP, den
specificerar adressen p� maskinen i andra �nden av l�nken.
I n�stan alla fall kan man behandla PLIP-gr�nssnittet som om det var
ett SLIP-gr�nssnitt, f�rutom att varken dip eller slattach beh�ver,
eller kan anv�ndas.
Mer information om PLIP kan hittas i: PLIP-mini-HOWTO <mini/PLIP>
6.24. PPP (Point to Point Protocol)
Enhetsnamn f�r PPP �r `ppp0', `ppp1, osv. Enheter numreras
sekvensiellt och den f�rsta enheten som konfigureras f�r `ppp0'.
Kompileringsalternativ f�r K�rnan:
Networking options --->
<*> PPP (point-to-point) support
Detaljer om PPP-konfiguration finns i PPP-HOWTO <PPP-HOWTO.html>.
6.24.1. Att vidh�lla en permanent anslutning till n�tet med pppd .
Om man har en semi-permanent anslutning till n�tet och vill att ens
maskin automatiskt skall �teruppta PPP-anslutningen om den bryts s�
finns det ett enkelt trix som g�r detta:
Konfigurera PPP s� att det kan startas genom att root-anv�ndaren ger
kommandot:
# pppd
Se till att `-detach' parametern finns konfigurerad i filen
/etc/ppp/options. Sedan skall f�ljande rader l�ggas in i filen
/etc/inittab, tillsammans med getty-definitionerna:
pd:23:respawn:/usr/sbin/pppd
Detta g�r s� att programmet init h�ller koll p� pppd och automatiskt
startar om det ifall det d�r.
6.25. Rose protokollet ( AF_ROSE )
Enhetsnamn f�r Rose �r `rs0', `rs1', osv. i 2.1.* k�rnor. Rose finns
endast i 2.1.* k�rnor.
Kompileringsalternativ f�r K�rnan:
Networking options --->
[*] Amateur Radio AX.25 Level 2
[*] Amateur Radio NET/ROM
Protokollen AX25, Netrom och Rose finns beskrivna i AX25-HOWTO
<AX25-HOWTO.html>. Dessa protokoll anv�nds av radioamat�rer i hela
v�rlden i experiment med paketradio.
Det mesta arbetet med implementationen av dessa protokoll har gjorts
av Jonathon Naylor,
[email protected].
6.26. SAMBA (st�d f�r `NetBEUI', `NetBios').
SAMBA �r en implementation av protokollet `Session Management Block'.
Med SAMBA kan system fr�n bland annat Microsoft anv�nda diskar och
skrivare i en Linuxbox.
Detaljer om SAMBA och dess konfiguration finns i SMB-HOWTO <SMB-
HOWTO.html>.
6.27. SLIP (Serial Line Internet Protocol) klient.
Enhetsnamn f�r SLIP �r `sl0', `sl1' osv. Enheter numreras sekvensiellt
och den f�rsta enheten som konfigureras f�r `sl0'.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
<*> SLIP (serial line) support
[ ] CSLIP compressed headers
[ ] Keepalive and linefill
[ ] Six bit SLIP encapsulation
Med SLIP kan man anv�nda TCP/IP �ver en seriell lina, som kan vara en
telefonledning och modem, eller en hyrd ledning av n�got slag. F�r att
kunna anv�nda SLIP beh�ver man ha tillg�ng till en SLIP-server i sitt
n�romr�de. M�nga universitet och f�retag i hela v�rlden
tillhandah�ller SLIP-�tkomst.
SLIP anv�nder de seriella portarna p� datorn f�r att b�ra IP-datagram.
F�r att g�ra detta m�ste det ha kontroll �ver de seriella enheterna.
SLIP-enheter ben�mns med sl0, sl1 osv. Hur motsvarar detta de seriella
enheterna? N�tverkskoden anv�nder vad som heter ett ioctl-anrop (i/o
control) f�r att �ndra de seriella enheterna till SLIP-enheter. Det
finns tv� program som kan g�ra detta, de heter dip och slattach.
6.27.1. dip (Dialup IP)
dip �r ett smart program som kan st�lla in hastigheten p� den seriella
enheten, kommendera modemet att ringa upp den andra �ndan av l�nken,
automatiskt logga in p� servern, s�ka efter meddelanden som man f�r
fr�n servern och ta fram information fr�n dem som tex IP-adress och
dessutom kan programmet utf�ra ioctl-kommandot som beh�vs f�r att
s�tta den seriella porten i SLIP-l�ge. dip har ett kraftfullt
scriptspr�k i vilket man kan automatisera sitt inloggningsf�rfarande.
Programmet finns p�: sunsite.unc.edu
<
ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/dip/dip337o-
uri.tgz>.
F�r att installera det, f�rs�k med f�ljande:
#
# cd /usr/src
# gzip -dc dip337o-uri.tgz | tar xvf -
# cd dip-3.3.7o
<edit Makefile>
# make install
#
Makefile antar att det finns en grupp som heter uucp, men om man vill
kan man �ndra det till dip eller SLIP beroende p� sin konfiguration.
6.27.2. slattach
I motsats till dip s� �r slattach ett v�ldigt enkelt program som �r
v�ldigt enkelt att anv�nda, men det �r inte s� sofistikerat som dip.
Det har inte n�got scriptspr�k och allt det g�r �r att konfigurera den
seriella enheten som en SLIP-enhet. Det antar att man har all
information man beh�ver och att den seriella l�nken �r uppr�ttad n�r
man k�r programmet. slattach �r idealiskt att anv�nda om man har en
permanent f�rbindelse till en server, till exempel en fysisk kabel
eller en hyrd ledning.
6.27.3. N�r anv�nder man vilket?
Man skulle anv�nda dip om man har en uppringd f�rbindelse, eller n�gon
annan tempor�r f�rbindelse, till sin SLIP-server. Man skulle anv�nda
slattach om man har en hyrd ledning mellan sin maskin och SLIP-servern
och n�r man inte beh�ver g�ra n�got s�rskilt f�r att f�rbindelsen
skall fungera. Se avsnittet `Permanent SLIP-anslutning' f�r mer
information.
Att konfigurera SLIP �r ungef�r som att konfigurera ett Ethernet-
gr�nssnitt ( L�s avsnittet `Att konfigurera en Ethernet-enhet' ovan).
Det finns dock vissa viktiga skillnader.
F�rst och fr�mst s� �r SLIP-l�nkar olika Ethernet-n�tverk i den
meningen att det alltid endast finns tv� datorer p� n�tverket, en i
varje �nda av l�nken. Till skillnad fr�n Ethernet, som �r
tillg�ngligt s� fort man �r inkopplad, s� m�ste man kanske, beroende
p� typen av l�nk, initialisera anslutningen p� n�got speciellt s�tt.
Om man anv�nder dip s� g�r man det normalt inte vid systemstarten,
utan senare n�r man �r redo att anv�nda l�nken. Det �r m�jligt att
automatisera den processen. Om man anv�nder slattach s� vill man
antagligen l�gga till n�gra rader i sin rc.inet1-fil. Detta beskrivs
snart.
Det finns tv� huvudtyper av SLIP-servrar: Dynamisk IP-adress servrar
och statisk IP-adress servrar. N�stan alla SLIP-servrar presenterar en
prompt d�r man skall logga in med anv�ndarnamn och l�senord. dip kan
logga in automatiskt.
6.27.4. Statisk SLIP-server med uppringd f�rbindelse och dip
En statisk SLIP-server �r en server i vilken man har f�tt en IP-adress
som �r ens egen. Varje g�ng man ansluter till servern s� konfigurerar
man sin SLIP-port med den adressen. Den statiska SLIP-servern kommer
att svara p� modemuppringningen, eventuellt fr�ga efter anv�ndarnamn
och l�senord, och sedan routa alla datagram �mnade f�r ens IP-adress
genom den anslutningen. Om man har en statisk server, s� kanske man
vill l�gga in rader med sitt datornamn och sin IP-adress (eftersom man
vet vad den kommer att vara) i sin fil /etc/hosts/. Man b�r ocks�
konfigurera lite andra filer, s�som rc.inet2, host.conf, resolv.conf,
/etc/HOSTNAME och rc.local. Kom ih�g att n�r man konfigurerar rc.inet1
s� beh�ver man inte l�gga till n�gra s�rskilda kommandon f�r SLIP
eftersom dip sk�ter om allt som beh�ver g�ras d�r. Man beh�ver dock ge
dip all n�dv�ndig information s� att det kan konfigurera gr�nssnittet
efter det att det har uppr�ttat f�rbindelsen och loggat in p� SLIP-
servern.
Om det �r s�h�r ens SLIP-server fungerar s� kan man g� vidare till
avsnittet `Att anv�nda dip' f�r att f� reda p� hur man konfigurerar
dip.
6.27.5. Dynamisk SLIP-server med uppringd f�rbindelse och dip .
En dynamisk SLIP-server �r en server d�r man slumpvis allokeras en IP-
adress, fr�n en pool med adresser, varje g�ng man loggar p�. Detta
betyder att det inte finns n�gon garanti f�r att man har en viss
adress varje g�ng och att adressen kan anv�ndas av n�gon annan efter
det att man har loggat av. Administrat�ren f�r SLIP-servern har
angett en m�ngd IP-adresser d�r servern v�ljer den f�rsta lediga n�r
den f�r en ny anslutning varefter den guidar anv�ndaren igenom
loginprocessen och sedan skriver ett v�lkomstmeddelande som inneh�ller
IP-adressen som sedan anv�nds under resten av anslutningen.
Konfigurationen f�r denna typ av server liknar den f�r en statisk
server f�rutom att man m�ste l�gga till ett steg d�r man tar emot IP-
adressen som servern har allokerat och konfigurera SLIP-enheten med
den.
�terigen s� g�r dip det h�rda jobbet och nyare versioner �r
tillr�ckligt smarta f�r att inte bara logga in, utan �ven ta reda p�
IP-adressen och spara den s� att man kan konfigurera SLIP-enheten med
den.
Om det �r s�h�r ens SLIP-server fungerar s� kan man g� vidare till
avsnittet `Att anv�nda dip' f�r att f� reda p� hur man konfigurerar
dip.
6.27.6. Att anv�nda dip .
Som n�mnts tidigare s� �r dip ett kraftfullt program som kan f�renkla
och automatisera processen d�r man ringer upp SLIP-servern, loggar in,
aktivera anslutningen och konfigurera SLIP-enheter med l�mpliga
ifconfig och route kommandon.
F�r att anv�nda dip s� skall man skriva ett `dip script', som formellt
�r en lista av kommandon som dip f�rst�r och som talar om f�r dip hur
det skall utf�ra varje sak som man vill att det skall utf�ra. Se
sample.dip f�r att f� en aning om hur det fungerar. dip �r ett ganska
kraftfullt program med m�nga alternativ. Ist�llet f�r att g� in p�
alla h�r s� �r det l�mpligt att titta p� manualbladet, README- och
exempelfiler f�r dip.
Exempelfilen sample.dip f�ruts�tter att man anv�nder en statisk SLIP-
server, d�r man vet sin IP-adress i f�rv�g. F�r dynamiska SLIP-servrar
s� har nyare versioner av dip ett kommando som automatiskt l�ser och
konfigurerar SLIP-enheten med IP-adressen som man allokeras. F�ljande
exempel �r en modifierad version av sample.dip som kom med dip337j-
uri.tgz och kan vara en bra utg�ngspunkt. Det kan vara bra att spara
det som /etc/dipscript och sedan �ndra det efter behov:
#
# sample.dip Dialup IP connection support program.
#
# This file (should show) shows how to use the DIP
# This file should work for Annex type dynamic servers, if you
# use a static address server then use the sample.dip file that
# comes as part of the dip337-uri.tgz package.
#
#
# Version: @(#)sample.dip 1.40 07/20/93
#
# Author: Fred N. van Kempen, <
[email protected]>
#
main:
# Next, set up the other side's name and address.
# My dialin machine is called 'xs4all.hacktic.nl' (== 193.78.33.42)
get $remote xs4all.hacktic.nl
# Set netmask on sl0 to 255.255.255.0
netmask 255.255.255.0
# Set the desired serial port and speed.
port cua02
speed 38400
# Reset the modem and terminal line.
# This seems to cause trouble for some people!
reset
# Note! "Standard" pre-defined "errlevel" values:
# 0 - OK
# 1 - CONNECT
# 2 - ERROR
#
# You can change those grep'ping for "addchat()" in *.c...
# Prepare for dialing.
send ATQ0V1E1X4\r
wait OK 2
if $errlvl != 0 goto modem_trouble
dial 555-1234567
if $errlvl != 1 goto modem_trouble
# We are connected. Login to the system.
login:
sleep 2
wait ogin: 20
if $errlvl != 0 goto login_trouble
send MYLOGIN\n
wait ord: 20
if $errlvl != 0 goto password_error
send MYPASSWD\n
loggedin:
# We are now logged in.
wait SOMEPROMPT 30
if $errlvl != 0 goto prompt_error
# Command the server into SLIP mode
send SLIP\n
wait SLIP 30
if $errlvl != 0 goto prompt_error
# Get and Set your IP address from the server.
# Here we assume that after commanding the SLIP server into SLIP
# mode that it prints your IP address
get $locip remote 30
if $errlvl != 0 goto prompt_error
# Set up the SLIP operating parameters.
get $mtu 296
# Ensure "route add -net default xs4all.hacktic.nl" will be done
default
# Say hello and fire up!
done:
print CONNECTED $locip ---> $rmtip
mode CSLIP
goto exit
prompt_error:
print TIME-OUT waiting for sliplogin to fire up...
goto error
login_trouble:
print Trouble waiting for the Login: prompt...
goto error
password:error:
print Trouble waiting for the Password: prompt...
goto error
modem_trouble:
print Trouble occurred with the modem...
error:
print CONNECT FAILED to $remote
quit
exit:
exit
Ovanst�ende exempel f�ruts�tter att man kontaktar en dynamisk SLIP-
server, om man kontaktar en statisk server s� b�r sample.dip som
f�ljer med dip337-uri.tgz fungera bra.
D�r dip f�r kommandot get $local s� s�ker det igenom den inkommande
texten efter en textstr�ng som ser ut som en IP-adress, dvs tal som �r
separerade med '.'-tecken. Denna modifiering gjordes speciellt f�r att
fungera med dynamiska SLIP-servrar, s� att processen att l�sa in IP-
adressen fr�n servern skulle bli automatiserad.
Ovanst�ende exempel skapar automatiskt en `default route' via SLIP-
l�nken, om det inte �r detta man vill, om man tex har en Ethernet-
anslutning som skall vara `default route, s� tar man bort kommandot
default fr�n scriptet.
Om man, d� scriptet k�rt f�rdigt, ger kommandot ifconfig s� ser man
att det finns en enhet sl0. Detta �r SLIP-enheten. Om s� beh�vs s� kan
man modifiera dess konfiguration manuellt efter det att dip har k�rt
f�rdigt, genom att anv�nda kommandona ifconfig och route.
Notera att med dip kan man v�lja ett antal olika protokoll att anv�nda
med mode-kommandot, det vanligaste �r cSLIP f�r SLIP med kompression.
Notera att b�da �ndar av l�nken m�ste komma �verens, s� man m�ste
v�lja det som ens server �r inst�llt p�.
Ovanst�ende exempel �r hyfsat stabilt och skall klara av de flesta
felen. Titta annars i manualbladet f�r dip f�r mer information.
Naturligtvis s� kan man skriva scriptet s� att det till exempel
f�rs�ker ringa upp servern igen om det inte lyckas f� en anslutning
inom en given tid, eller till och med f�rs�ka med en serie olika
servrar om man har tillg�ng till mer �n en.
6.27.7. Permanent SLIP-anslutning med hyrd ledning och slattach .
Om man har en kabel mellan tv� maskiner, eller �r lyckligt lottad och
har en hyrd ledning, eller n�gon annan permanent seriell anslutning
mellan sin maskin och en annan, s� beh�ver man inte besv�ra sig med
att anv�nda dip f�r att s�tta upp en seriell l�nk. slattach �r ett
v�ldigt enkelt verktyg att anv�nda som har precis tillr�ckligt med
funktionalitet f�r att konfigurera en anslutning.
Eftersom anslutningen �r permanent s� vill man l�gga till n�gra
kommandon i sin rc.inet1-fil. Det enda man egentligen beh�ver g�ra f�r
en permanent anslutning �r att konfigurera den seriella enheten till
korrekt hastighet och st�lla in den i SLIP-l�ge. Med slattach kan man
g�ra detta i ett enda kommando. Man l�gger till f�ljande i sin
rc.inet1-fil:
#
# Attach a leased line static SLIP connection
#
# configure /dev/cua0 for 19.2kbps and cslip
/sbin/slattach -p cslip -s 19200 /dev/cua0 &
/sbin/ifconfig sl0 IPA.IPA.IPA.IPA pointopoint IPR.IPR.IPR.IPR up
#
# End static SLIP.
D�r:
IPA.IPA.IPA.IPA
representerar IP-adressen.
IPR.IPR.IPR.IPR
representerar the IP-adressen i andra �ndan.
slattach allokerar den f�rsta icke allokerade SLIP-enheten till den
specificerade seriella enheten. slattach b�rjar b�rjar med sl0. D�rf�r
s� parar slattach ihop sl0 med den specifierade seriella enheten och
d�refter sl1 osv.
Med slattach kan man konfigurera ett antal olika protokoll med
parametern -p. Vanligtvis s� anv�nder man SLIP eller cSLIP beroende
p� om man vill ha kompression eller inte, men b�da sidor m�ste vara
�verens.
6.28. SLIP (Serial Line Internet Protocol) server.
Om man har en maskin, som kanske �r n�tverksansluten, som man vill att
andra skall kunna ansluta till och anv�nda n�tverkstj�nster, s� skall
man konfigurera sin maskin som en server. Om man vill anv�nda SLIP som
protokoll s� har man f�r n�rvarande tre valm�jligheter f�r hur man
skall konfigurera Linuxboxen som en SLIP-server. Mitt r�d skulle vara
att anv�nda det som presenteras f�rst , sliplogin, eftersom det verkar
vara det enklaste att konfigurera och f�rst�, men jag kommer att
presentera en sammanfattning av varje s� att man kan bilda sig en egen
uppfattning.
6.28.1. SLIP-server med sliplogin .
sliplogin �r ett program som man kan anv�nda ist�llet f�r det normala
login-shellet f�r SLIP-anv�ndare som konverterar terminallinjen till
en SLIP-l�nk. Man kan med sliplogin konfigurera sin Linuxbox som
antingen en statisk adressserver, anv�ndare f�r samma IP-adress varje
g�ng de ansluter, eller som en dynamisk adresserver d�r anv�ndare inte
n�dv�ndigtvis f�r samma IP-adress varje g�ng de ansluter.
De som ansluter kommer att logga in p� vanligt vis med anv�ndarnamn
och l�senord, men ist�llet f�r att f� ett shell efter de loggat in s�
exekveras sliplogin, som s�ker i sin konfigurationsfil
(/etc/slip.hosts) efter en rad med ett loginnamn som motsvarar det som
anv�nts vid inloggningen. Om detta hittas s� konfigurerar sliplogin
linjen som en ren 8 bitars l�nk och anv�nder ioctl f�r att konvertera
l�nken till en SLIP-l�nk. Sedan �terst�r ett steg d�r sliplogin k�r
ett shellscript som konfigurerar SLIP-gr�nssnittet med relevant IP-
adress, n�tmask och routing. Scriptet heter normalt /etc/slip.login,
men p� liknande s�tt som f�r getty om man har s�rskilda anv�ndare som
beh�ver speciell initiering, s� kan man skapa script som heter
/etc/slip.login.loginname som k�rs ist�llet f�r det allm�nna.
Det finns antingen tre eller fyra filer att konfigurera f�r att
sliplogin skall fungera. Jag skall i detalj g� igenom hur man f�r tag
p� programvara och hur man konfigurerar detta. Filerna �r:
� /etc/passwd, f�r anv�ndarkonton.
� /etc/slip.hosts, f�r att inneh�lla information som �r unik f�r
varje anv�ndare.
� /etc/slip.login, vilken tar hand om konfiguration av routing.
� /etc/slip.tty, vilken endast beh�vs om man skall konfigurera en
server som skall anv�nda dynamisk adressallokering och inneh�ller
en tabell med adresser att allokera.
� /etc/slip.logout, vilken inneh�ller kommandon f�r att st�da upp
efter det att en anv�ndare har lagt p� eller loggat ut.
6.28.1.1. Var man f�r tag p� sliplogin .
Vissa kanske redan har sliplogin-paketet installerat som en del av sin
distribution, om inte s� kan sliplogin h�mtas ifr�n: sunsite.unc.edu
<
ftp://sunsite.unc.edu/pub/linux/system/Network/serial/sliplogin-2.1.1.tar.gz>.
Tar-filen inneh�ller b�de k�llkod, kompilerade k�rbara filer och
manualblad.
F�r att se till att bara auktoriserade anv�ndare skall kunna k�ra
sliplogin, s� b�r man l�gga till en rad i filen /etc/group, ungef�r
som f�ljande:
..
slip::13:radio,fred
..
N�r man installerar sliplogin-paketet s� kommer Makefile att �ndra
�gargruppen f�r kommandot sliplogin till slip, och det betyder att
endast anv�ndare som tillh�r den gruppen kan k�ra programmet. I
exemplet ovan kan endast radio och fred k�ra sliplogin.
F�r att installera bin�rfilerna i katalogen /sbin g�r man f�ljande:
# cd /usr/src
# gzip -dc .../sliplogin-2.1.1.tar.gz | tar xvf -
# cd sliplogin-2.1.1
# <..edit the Makefile if you don't use shadow passwords..>
# make install
Om man vill kompilera om bin�rfilerna innan man installerar s� skall
man g�ra make clean innan man k�r make install. Om man vill installera
filerna i n�gon annan katalog s� f�r man �ndra i filen Makefile under
regeln install.
L�s filen README som f�ljer med paketet f�r mer information.
6.28.1.2. Att konfigurera /etc/passwd f�r SLIP.
Normalt skulle man skapa s�rskilda login f�r SLIP-anv�ndare i filen
/etc/passwd. En konvention som ofta f�ljs �r att anv�nda hostname f�r
den anslutande datorn med ett stort `S' i b�rjan. S�, till exempel, om
den anslutande datorn heter radio s� kan man l�gga en rad i
/etc/passwd som ser ut s�h�r:
Sradio:FvKurok73:1427:1:radio SLIP login:/tmp:/sbin/sliplogin
Men det spelar egentligen ingen roll vad kontot heter, bara det
betyder n�got f�r administrat�ren av SLIP-servern.
Notera att anv�ndarna inte beh�ver en s�rskild hemkatalog, efter som
de inte kommer att f� n�got shell fr�n denna maskinen. D�rf�r duger
/tmp gott. Notera �ven att sliplogin anv�nds ist�llet f�r ett normalt
shell.
6.28.1.3. Att konfigurera /etc/slip.hosts
Filen /etc/slip.hosts �r filen som sliplogin s�ker igenom efter rader
som st�mmer �verens med loginnamnet f�r att f� tag p�
konfigurationsdetaljer f�r denna anv�ndare. Det �r filen d�r man
specificerar IP-adressen och n�tmasken som kommer att tilldelas
anv�ndaren. Exempelrader f�r tv� datorer, en statisk konfiguration f�r
radio och en annan, dynamisk konfiguration f�r albert kan se ut s�h�r:
#
Sradio 44.136.8.99 44.136.8.100 255.255.255.0 normal -1
Salbert 44.136.8.99 DYNAMIC 255.255.255.0 compressed 60
#
Parametrarna i /etc/slip.hosts �r:
1. loginnamnet f�r anv�ndaren.
2. IP-adress f�r servermaskinen (dvs denna dator)
3. IP-adress som anv�ndaren blir tilldelad. Om detta f�lt inneh�ller
DYNAMIC s� kommer IP-adressen att allokeras baserad p�
informationen som finns i filen /etc/slip.tty. Notera: man m�ste ha
�tminstone version 1.3 av sliplogin f�r att detta skall fungera.
4. n�tmasken som tilldelas den anslutande maskinen.
5. SLIP-l�ge d�r man kan s�tta p�/st�nga av kompression och andra
funktioner. Till�tna v�rden �r normal eller compressed.
6. en timeoutparameter som specificerar hur l�ng tid l�nken kan vara
oanv�nd innan den automatiskt avbryts. Ett negativt v�rde st�nger
av funktionen.
7. valfria argument.
Notera att man kan anv�nda antingen datornamn eller IP-adresser f�r
f�lt 2 och 3. Om man anv�nder datornamn s� m�ste dessa kunna
�vers�ttas, dvs maskinen m�ste m�ste kunna hitta en IP-adress som
st�mmer �verens med datornamnet annars kommer scripet att fallera n�r
det k�rs. Man kan testa detta genom att f�rs�ka �ppna en telnet-
anslutning till datornamnet, om man f�r meddelandet `Trying
nnn.nnn.nnn...' s� kan maskinen hitta en IP-adress. F�r man d�remot
meddelandet `Unknown host' s� kan den inte hitta n�gon IP-adress. Om
inte s� anv�nder man IP-adresser eller fixar till konfigurationen av
sin namn�vers�ttare (se avsnitt `Att konfigurera din Name Resolver').
De vanligaste SLIP-l�gena �r:
normal
att sl� p� normal SLIP utan kompression.
compression
att sl� p� van Jacobsen header compression (cSLIP)
Man kan endast anv�nda en �t g�ngen. F�r mer information om de andra
valm�jligheterna som finns, se manualbladen.
6.28.1.4. Att konfigurera /etc/slip.login .
N�r sliplogin har hittat en passande rad i /etc/slip.hosts s� kommer
programmet att f�rs�ka exekvera filen /etc/slip.login f�r att
konfigurera SLIP-gr�nssnittet med dess IP-adress och n�tmask.
Exemplet p� en /etc/slip.login som f�ljer med sliplogin-paketet ser ut
s� h�r:
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a SLIP line. sliplogin invokes this with
# the parameters:
# $1 $2 $3 $4, $5, $6 ...
# SLIPunit ttyspeed pid the arguments from the slip.host entry
#
/sbin/ifconfig $1 $5 pointopoint $6 mtu 1500 -trailers up
/sbin/route add $6
arp -s $6 <hw_addr> pub
exit 0
#
Scriptet anv�nder helt enkelt kommandona ifconfig och route f�r att
konfigurera SLIP-enheten med dess IP-adress, avl�gsen IP-adress och
n�tmask och sedan skapa en route till den avl�gsna adressen via SLIP-
enheten. Precis som om man anv�nde kommandot slattach.
Notera ocks� anv�ndandet av Proxy ARP f�r att se till att andra
datorer p� samma Ethernet som servern kommer att n� den anslutna
datorn. F�ltet <hw_addr> skall vara h�rdvaruadressen p� Ethernet-
kortet i maskinen. Om servern inte �r ansluten till ett Ethernet-
n�tverk kan man helt utel�mna denna rad.
6.28.1.5. Att konfigurera /etc/slip.logout .
N�r anslutningen avslutas, s� vill man se till att den seriella
enheten �terst�lls till sitt normala tillst�nd s� att framtida
anslutningar kan logga in ordentligt. Detta uppn�s genom med hj�lp av
filen /etc/slip.logout. Dess format �r ganska enkelt och anv�nds med
samma argument som filen /etc/slip.login.
#!/bin/sh -
#
# slip.logout
#
/sbin/ifconfig $1 down
arp -d $6
exit 0
#
Allt den g�r �r `ta ner' gr�nssnittet vilket kommer att ta bort routen
som skapades tidigare. Den anv�nder ocks� kommandot arp f�r att ta
bort eventuella Proxy ARPs som har skapats, �terigen, man beh�ver inte
kommandot arp ifall servern inte �r ansluten till ett Ethernet-
n�tverk.
6.28.1.6. Att konfigurera /etc/slip.tty .
Om man anv�nder dynamisk IP-adressallokering (har n�gon rad
konfigurerad med DYNAMIC i /etc/slip.hosts) s� m�ste man konfigurera
filen /etc/slip.tty f�r att lista vilka adresser som tilldelas vilken
port. Man beh�ver endast denna fil om man vill att servern dynamiskt
skall ge adresser till anv�ndare. Formatet �r f�ljande:
# slip.tty tty -> IP address mappings for dynamic SLIP
# format: /dev/tty?? xxx.xxx.xxx.xxx
#
/dev/ttyS0 192.168.0.100
/dev/ttyS1 192.168.0.101
#
Vad denna fil s�ger �r att anv�ndare som ansluter till porten
/dev/ttyS0 och som har sitt adressf�lt i filen /etc/slip.hosts satt
till DYNAMIC kommer att tilldelas adressen 192.168.0.100.
P� detta s�ttet beh�ver man endast allokera en adress per port f�rutom
f�r de anv�ndare som beh�ver en egen adress. Detta hj�lper till att
h�lla nere antalet adresser man beh�ver till ett minimum och undviker
sl�sande.
6.28.2. Slip Server med dip .
L�t mig b�rja med att s�ga att lite av informationen nedan kom ifr�n
manualbladet f�r dip, d�r det kortfattat beskrivs hur man k�r Linux
som en SLIP-server. Var ocks� uppm�rksam p� att det som f�ljer �r
baserat p� paketet dip337o-uri.tgz och antagligen inte g�ller f�r
andra versioner av dip.
dip har ett l�ge n�r det automatiskt letar upp en rad f�r den
anv�ndaren som k�rde programmet och konfigurerar den seriella linjen
som en SLIP-l�nk baserat p� informationen som den hittar i filen
/etc/diphosts. Detta l�ge aktiveras genom att k�ra dip som diplogin.
Detta �r d�rf�r s�ttet p� vilket man anv�nder dip som en SLIP-server,
genom att skapa s�rskilda konton d�r diplogin anv�nds som login-shell.
Det f�rsta som skall g�ras �r att g�ra en symbolisk l�nk som f�ljer:
# ln -sf /usr/sbin/dip /usr/sbin/diplogin
Sedan beh�ver man l�gga till rader i filerna /etc/passwd och
/etc/diphosts. Raderna �r formaterade som f�ljer:
F�r att konfigurera Linux som en SLIP-server med dip beh�ver man skapa
n�gra s�rskilda SLIP-konton f�r anv�ndare, d�r dip anv�nds som login-
shell. En f�reslagen konvention �r att l�ta alla SLIP-konton b�rja med
ett stort `S', tex `Sfredm'.
Ett exempel p� en rad f�r en SLIP-anv�ndare i /etc/passwd ser ut s�
h�r:
Sfredm:ij/SMxiTlGVCo:1004:10:Fred:/tmp:/usr/sbin/diplogin
^^ ^^ ^^ ^^ ^^ ^^ ^^
| | | | | | \__ diplogin as login shell
| | | | | \_______ Home directory
| | | | \____________ User Full Name
| | | \_________________ User Group ID
| | \_____________________ User ID
| \_______________________________ Encrypted User Password
\__________________________________________ Slip User Login Name
N�r anv�ndaren har loggat in s� utf�r programmet login, om det hittar
och verifierar anv�ndaren ok, kommandot diplogin. dip, n�r det k�rs
som diplogin, vet automatiskt att det skall anv�ndas som ett login-
shell. N�r det startas som diplogin s� �r det f�rsta programmet g�r
att anv�nda funktionsanropet getuid() f�r att f� anv�ndarid f�r den
som k�rde programmet. Det letar sedan i filen /etc/diphosts efter den
f�rsta raden som passar in p� det anv�ndaridt eller namnet p� den tty-
enhet som anslutningen kom fr�n och konfigurerar sig sj�lv d�refter.
Genom att v�lja om en anv�ndare skall f� en rad i filen /etc/diphosts
eller om anv�ndaren skall ges den generella konfigurationen s� kan man
bygga sin server p� s� s�tt att man kan ha en blandning av statiskt
och dynamiskt tilldelade adresser f�r anv�ndarna. dip kommer
automatiskt att l�gga till en Proxy ARP s� detta beh�ver man inte bry
sig om att g�ra manuellt.
6.28.2.1. Att konfigurera /etc/diphosts
Filen /etc/diphosts anv�nds av dip f�r att hitta konfigurationer f�r
avl�gsna datorer. Dessa avl�gsna datorer kan vara anv�ndare som ringer
in till en Linuxbox eller de kan vara datorer som man ringer till
ifr�n Linuxboxen.
Det generella formatet p� /etc/diphosts �r som f�ljer:
..
Suwalt::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006
ttyS1::145.71.34.3:145.71.34.2:255.255.255.0:Dynamic ttyS1:CSLIP,296
..
F�lten �r:
1. login name: som returnerat av getpwuid(getuid()) eller tty namn.
2. oanv�nd: kompatibilitet med /etc/passwd
3. Remote Address: IP-adress f�r den anslutande datorn, antingen
numeriskt eller med namn
4. Local Address: IP-adress f�r denna dator, numeriskt eller med namn
5. Netmask: i punkterad decimal notation
6. Comment field: skriv vad du vill h�r.
7. protocol: Slip, CSlip osv.
8. MTU: decimalt tal
Ett exempel p� en rad i /etc/net/diphosts f�r en SLIP-anv�ndare kan
vara:
Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:SLIP,296
som specificerar en SLIP-l�nk med en avl�gsen adress 145.71.34.2 och
MTU p� 296, eller:
Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:CSLIP,1006
som specificerar en cSLIP-l�nk med avl�gsen adress 145.71.34.1 och MTU
p� 1006.
D�rf�r s� skall alla anv�ndare som man vill till�ta en statiskt
allokerad adress ha en rad i /etc/diphosts. Om man vill att anv�ndare
som ansluter till en viss port skall f� en dynamisk allokerad adress
s� m�ste man ha en rad f�r tty-enheten och ingen rad f�r anv�ndaren.
Man skall komma ih�g att konfigurera �tminstonde en rad f�r varje tty-
enhet som anv�nds f�r SLIP s� att det s�kert finns en passande
konfiguration oavsett vilket modem de ringer in p�.
N�r anv�ndare loggar in f�r de en normal login och password prompt vid
vilken de skall skriva in sitt SLIP-login och password. Om dessa
verifieras ok s� kommer anv�ndaren inte se n�gra s�rskilda meddelanden
och anv�ndarna skall endast byta till SLIP-l�ge p� sin sida.
Anv�ndaren b�r ha m�jlighet att ansluta ok och bli konfigurerad med
relevanta parametrar fr�n filen diphosts.
6.28.3. SLIP server med paketet dSLIP
Matt Dillon <
[email protected]> har skrivit ett programpaket
som inte bara ringer in utan ocks� ringer ut med SLIP. Matts paket �r
en kombination av sm� program och scripts som hanterar ens
anslutningar. F�r detta m�ste man ha tcsh eftersom �tminstone ett av
scripten kr�ver detta. Matt tillhandah�ller en bin�r kopia av
verktyget expect eftersom �ven det beh�vs av en del av scripten. Man
beh�ver antagligen ha lite erfarenhet med kommandot expect f�r att
lyckas l�nka in ok, men l�t inte detta avskr�cka.
Matt har skrivit bra med installationsinstruktioner i README-filen s�
jag t�nker inte upprepa dem.
Man kan h�mta dSLIP fr�n dess hemsida p�:
apollo.west.oic.com
/pub/linux/dillon_src/dSLIP203.tgz
eller fr�n:
sunsite.unc.edu
/pub/Linux/system/Network/serial/dSLIP203.tgz
L�s filen README och skapa raderna i /etc/passwd och /etc/group innan
make install.
6.29. STRIP (Starmode Radio IP)
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
....
[*] Radio network interfaces
< > STRIP (Metricom starmode radio IP)
STRIP �r ett protokoll som designats speciellt f�r en typ av Metricom
radiomodem f�r ett forskningsprojekt p� Stanford University som heter
MosquitoNet Project <
http://mosquitonet.Stan�
ford.EDU/mosquitonet.html>. Det finns mycket intressant att l�sa d�r,
�ven om man inte �r direkt intresserad av projektet.
Metricom radiorna kopplas till en seriell port, anv�nder m�nga olika
tekniker och klarar av en �verf�ringshastighet p� ungef�r 100kbps.
Information om Metricom radior kan f�s p�: Metricom Web Server
<
http://www.metricom.com/>.
F�r n�rvarande s� st�ds inte STRIP av standardverktygen f�r n�tverk,
s� man m�ste ladda hem n�gra specialdesignade verktyg fr�n
MosquitoNets WWW-server. Detaljer om vad man beh�ver finns p�:
MosquitoNet STRIP Page <
http://mosquitonet.Stanford.EDU/strip.html>.
En sammanfattning av konfigurationen �r att man anv�nder ett
modifierat slattach program f�r att st�lla in den seriella enheten i
STRIP-l�ge och sedan konfigurera den resulterande `st[0-9]'-enheten
som om det var en Ethernet-enhet, men med en viktig skillnad. Av
tekniska sk�l s� st�der inte STRIP ARP-protokollet, s� man m�ste
konfigurera ARP-raderna f�r var och en av datorerna p� sitt subn�t
manuellt.
6.30. Token Ring
Enhetsnamn f�r Token Ring �r `tr0', `tr1' osv. Token Ring �r ett
standardiserat LAN-protokoll fr�n IBM som undviker kollisioner med en
mekanism som endast till�ter en station p� LANet att s�nda �t g�ngen.
En `token' innehas av en station �t g�ngen och stationen som har
`token' f�r lov att s�nda. N�r den har s�nt sin data s� skickar den
`token' vidare till n�sta station. Token g�r runt mellan alla aktiva
stationer, d�rav namnet `Token Ring'.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
....
[*] Token Ring driver support
< > IBM Tropic chipset based adaptor support
Konfigurationen av Token Ring �r identisk med den som g�rs med
Ethernet f�rutom att man anv�nder andra enhetsnamn.
6.31. X.25
X.25 �r ett paketswitchat protokoll som definieras av C.C.I.T.T. (en
standardiseringsorganisation som erk�nns av de flesta telebolag i
v�rlden). En implementation av X.25 och LAPB h�ller p� att utvecklas
och de senaste 2.1.* k�rnor inkluderar detta arbete.
Jonathon Naylor
[email protected] leder utvecklingen och det har
skapats en mailinglista f�r att diskutera �mnen relaterade till Linux
X.25. F�r att prenumerera skall man skicka ett meddelande till
[email protected] med texten "subscribe linux-x25" i
meddelandekroppen.
Tidiga versioner av konfigureringsverktygen kan h�mtas fr�n Jonathons
ftp-sajt p� ftp.cs.nott.ac.uk <
ftp://ftp.cs.nott.ac.uk/jsn/>.
6.32. WaveLan
Enhetsnamn f�r WaveLan �r `eth0', `eth1', osv.
Kompileringsalternativ f�r K�rnan:
Network device support --->
[*] Network device support
....
[*] Radio network interfaces
....
<*> WaveLAN support
WaveLan-kortet �r ett vitt spektrum av tr�dl�sa LAN-kort. Korten
liknar Ethernet-kort mycket och konfigureras p� ungef�r samma s�tt.
Mer information om WaveLan finns p� Wavelan.com
<
http://www.wavelan.com/>.
7. Kablage
De som �r h�ndiga med en l�dpenna kanske vill bygga egna kablar f�r
att koppla ihop Linuxburkar. F�ljande figurer b�r vara till hj�lp f�r
detta.
7.1. Seriell NULL-modem kabel.
Alla NULL-modem kablar �r inte likadana. M�nga NULL-modem kablar g�r
inte mer �n att lura datorn att tro att alla signaler finns och byter
s�nd och ta emot data pinnarna. Detta fungerar men betyder att man
m�ste anv�nda fl�deskontroll i mjukvara (XON/XOFF) vilket inte �r s�
effektivt som fl�deskontroll i h�rdvara. F�ljande kabel har b�sta
m�jliga signalering mellan datorer och till�ter anv�ndning av
fl�deskontroll i h�rdvara (RTS/CTS).
Pin Name Pin Pin
Tx Data 2 ----------------------------- 3
Rx Data 3 ----------------------------- 2
RTS 4 ----------------------------- 5
CTS 5 ----------------------------- 4
Ground 7 ----------------------------- 7
DTR 20 -\--------------------------- 8
DSR 6 -/
RLSD/DCD 8 ---------------------------/- 20
\- 6
7.2. Parallellportskabel (PLIP kabel)
Om man t�nker anv�nda PLIP-protokollet mellan tv� maskiner s� fungerar
f�ljande kabel oavsett vilken typ av parallellportar man har.
Pin Name pin pin
STROBE 1*
D0->ERROR 2 ----------- 15
D1->SLCT 3 ----------- 13
D2->PAPOUT 4 ----------- 12
D3->ACK 5 ----------- 10
D4->BUSY 6 ----------- 11
D5 7*
D6 8*
D7 9*
ACK->D3 10 ----------- 5
BUSY->D4 11 ----------- 6
PAPOUT->D2 12 ----------- 4
SLCT->D1 13 ----------- 3
FEED 14*
ERROR->D0 15 ----------- 2
INIT 16*
SLCTIN 17*
GROUND 25 ----------- 25
Anm�rkningar:
� Anslut inte pinnarna som �r markerade med en asterisk `*'.
� Extra jordning �r 18,19,20,21,22,23 och 24.
� Om kabeln man anv�nder har en metallsk�rmning, s� skall den
anslutas till metallskalet p� DB-25 endast p� en sida.
Varning: en felkopplad PLIP-kabel kan f�rst�ra kontrollerkortet.
Var f�rsiktig och dubbelkolla alla anslutningar.
�ven om man kan anv�nda PLIP-kablar �ver l�nga avst�nd s� skall man
undvika det om man kan. Specifikationerna f�r kabeln till�ter l�ngder
p� ungef�r en meter. Var f�rsiktig med l�nga PLIP-kablar eftersom
k�llor f�r stark elektromagnetisk str�lning (tex blixtar, elkablar och
radios�ndare) kan st�ra och till och med skada kontrollerkortet. Om
man verkligen vill ansluta tv� datorer �ver l�nga avst�nd s� b�r man
titta p� m�jligheterna med Ethernet och anv�nda tunn koaxialkabel.
7.3. 10base2 (tunn koax) Ethernet-kabel
10base2 �r en kabelstandard f�r Ethernet som specificerar en 52 ohms
koaxialkabel med en diameter p� ungef�r 5 millimeter. Det finns ett
par viktiga regler att komma ih�g n�r man skall koppla ihop maskiner
med 10base2 kablar. Det f�rsta �r att man m�ste anv�nda terminatorer
i b�da �ndar av kabeln. En terminator �r ett 52 ohms motst�nd som ser
till att signalen absorberas, och inte reflekteras, n�r den n�r slutet
av kabeln. Utan en terminator i b�da �ndar av kabeln s� kommer man att
m�rka att n�tverket �r op�litligt eller inte fungerar alls. Normalt s�
anv�nder man `T-korsningar' f�r att koppla ihop maskinerna, s� man f�r
n�got som liknar:
|==========T=============T=============T==========T==========|
| | | |
| | | |
----- ----- ----- -----
| | | | | | | |
----- ----- ----- -----
d�r en `|' i b�da �ndar representerar en terminator, `======' repre�
senterar en l�ngd med koaxialkabel med BNC-kontakter i b�da �ndar och
`T' representerar en `T-korsning'-kontakt. Man skall f�rs�ka att h�lla
l�ngden p� kabeln mellan `T-korsningen' och Ethernet-kortet s� kort
som m�jligt, det b�sta �r om `T-korsningen' �r kopplad direkt p� Eth�
ernet-kortet.
7.4. Tvinnad tv�par Ethernet-kabel.
Om man bara har tv� Ethernet-kort med tvinnad tv�par anslutning som
man vill koppla ihop s� m�ste man inte ha en hub. Man kan koppla ihop
korten direkt. Ett diagram som visar hur man g�r detta finns i
Ethernet-HOWTO <Ethernet-HOWTO.html>.
8. Terminologi i detta dokument.
F�ljande �r en lista med de viktigaste termerna som anv�nds i detta
dokument.
ARP
Detta �r en f�rkortning av Address Resolution Protocol och det
�r hur en maskin p� ett n�tverk associerar en IP-adress med en
h�rdvaruadress.
ATM
Detta �r en f�rkortning av Asynchronous Transfer Mode. Ett ATM-
n�tverk packar data i block med en standardstorlek vilka det
sedan kan skicka effektivt fr�n punkt till punkt. ATM �r ett
kopplingsorienterat n�tverk med virtuella kretsar.
klient
Detta �r vanligtvis mjukvaran i den �ndan av systemet d�r
anv�ndaren finns. Det finns undantag, till exempel i X11
f�nstersystem s� �r det egentligen servern som finns hos
anv�ndaren och klienten k�r p� en annan maskin. Klienten �r
programmet eller delen av systemet som anv�nder en tj�nst som
tillhandah�lls av servern. I fallet med peer to peer system, som
slip eller ppp, s� �r den dator som startar anslutningen
klienten och den andra datorn servern.
datagram
Ett datagram �r ett diskret paket med data och huvuden, som
inneh�ller adresser, som �r en transmissionsenhet �ver ett IP-
n�tverk. Detta kan ocks� kallas f�r `paket' i vissa sammanhang.
DLCI
Detta �r en f�rkortning av Data Link Connection Identifier och
anv�nds f�r att identifiera en unik virtuell punkt till punkt
anslutning via ett Frame Relay n�tverk. DLCIs delas normalt ut
av den som tillhandah�ller Frame Relay n�tverket.
Frame Relay
Frame Relay �r en n�tverksteknik som �r anpassad f�r att b�ra
trafik som �r av oregelbunden natur. N�tverkskostnader reduceras
genom att flera Frame Relay kunder delar samma n�tverkskapacitet
och f�rv�ntas anv�nda kapaciteten vid olika tidpunkter.
h�rdvaruadress
Detta �r ett nummer som unikt identifierar en dator i ett
n�tverk p� det l�nklagret. Exempel p� detta �r Ethernetadresser
och AX.25-adresser.
ISDN
Detta �r en f�rkortning av Integrated Services Digital Network.
ISDN tillhandah�ller ett standardiserat s�tt p� vilket telebolag
kan erbjuda antingen data- eller r�sttj�nster till en kund.
Tekniskt sett �r ISDN ett datan�tverk med virtuella kretsar.
ISP
Detta �r en f�rkortning av Internet Service Provider
(internetleverant�r). Detta �r de organisationer eller f�retag
som erbjuder n�tverksanslutningar till Internet.
IP-adress
Detta �r ett nummer som unikt identifierar en TCP/IP dator p�
ett n�tverk. Adressen �r 4 bytes l�ng och representeras ofta i
vad som heter "punkterad decimal notation", d�r varje byte
skrivs f�r sig och de olika bytearna �r separerade med en `.'.
MTU
Detta �r en f�rkortning av Maximum Transmission Unit. MTU �r en
parameter som best�mmer den st�rsta datagramstorleken som kan
�verf�ras av ett IP-gr�nssnitt utan att det beh�ver delas upp i
flera mindre delar. MTU b�r vara st�rre �n det st�rsta datagram
som man vill skicka ofragmenterat. Notera att detta bara
hindrar lokal fragmentering, om datagrammet passerar en l�nk med
en mindre MTU s� kan det fragmenteras d�r. Typiska v�rden f�r
MTU �r 1500 bytes f�r Ethernet och 576 bytes f�r SLIP.
route
Routen (eller rutten) �r den v�g som datagrammen f�rdas genom
n�tverket f�r att n� sin destination.
server
Detta �r vanligtvis den mjukvara eller del av systemet som �r
avl�gset fr�n anv�ndaren. Servern erbjuder tj�nster till en
eller flera klienter. Exempel p� servrar �r ftp, Networked File
System och Domain Name Server. I fallet med peer to peer system,
som slip eller ppp, s� �r den dator som startar anslutningen
klienten och den andra datorn servern.
9. Linux f�r en ISP?
Om man �r intresserad av att anv�nda Linux f�r ISP-syften s�
rekommenderar jag att titta p� Linux ISP homepage
<
http://www.anime.net/linuxisp/> f�r en bra lista med pekare till
information som kan vara anv�ndbar.
10. Tillk�nnagivanden
Jag skulle vilja tacka f�ljande personer f�r bidrag till detta
dokument (ingen speciell ordningsf�ljd): Terry Dawson, Axel Boldt,
Arnt Gulbrandsen, Gary Allpike, Cees de Groot, Alan Cox, Jonathon
Naylor, Claes Ensson, Ron Nessim, John Minack, Jean-Pierre Cocatrix,
Erez Strauss.
11. Copyright.
NET-3-HOWTO, information om hur man installerar och konfigurerar
n�tverksst�d f�r Linux. Copyright (c) 1997 Terry Dawson.
Detta program �r fri mjukvara; du kan distribuera det och/eller
modifiera det under reglerna som finns i GNU General Public License s�
som de publiceras av Free Software Foundation; antingen version 2 av
licensen, eller (ditt eget val) n�gon senare version.
Detta program distribueras med f�rhoppningen att det skall vara
anv�ndbart, men UTAN N�GON GARANTI;se GNU General Public License f�r
fler detaljer.
Du skall ha f�tt en kopia av GNU General Public License tillsammans
med detta program; om inte, skriv till:
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
USA.