  Linux NET-3-HOWTO, Linux Ntverk.
  Terry Dawson, VK2KTJ, Alessandro Rubini (maintainer),
  alessandro.rubini@linux.it. Svensk versttning av Tomas
  Carlsson, md5tc@mdstud.chalmers.se
  <mailto:md5c@mdstud.chalmers.se>
  v1.3, 1 April 1998. Svensk version 14 Juni 1998

  Linux har ett krnbaserat ntverksstd som r skrivet nstan helt frn
  noll. TCP/IP-prestandan i de senaste krnorna gr Linux till ett
  vrdigt alternativ ven till de bsta av dess motstndare. Detta doku
  ment beskriver hur man installerar och konfigurerar ntverksmjukvara
  och tillhrande verktyg i Linux.
  ______________________________________________________________________

  Innehllsfrteckning



















































  1. ndringar frn version 1.2

  2. Introduktion.

     2.1 Feedback
     2.2 versttarens kommentarer

  3. S hr anvnder man detta  HOWTO dokument (NET-3-HOWTO-HOWTO ?).

  4. Generell Information om Linux Ntverk.

     4.1 En kort historia om utvecklingen av Linux Ntverkskrna.
     4.2 Var man hittar ytterligare information om Linux ntverk.
     4.3 Var man hittar generell ntverksinformation (icke Linux-specifik)

  5. Generell Information om Ntverkskonfiguration

     5.1 Vad behver man fr att brja?
        5.1.1 Kllkoden fr krnan.
        5.1.2 Ntverksverktyg (Network Tools).
        5.1.3 Applikationsprogram fr ntverket
        5.1.4 Adresser.
     5.2 Var skall man skriva konfigurationskommandona?
     5.3 Att skapa sina ntverksgrnssnitt.
     5.4 Att konfigurera ett ntverksgrnssnitt.
     5.5 Att konfigurera din Name Resolver.
        5.5.1 Vad bestr ett namn av?
        5.5.2 Vilken information behver 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 gr programmet
     5.8 Att konfigurera ntverksservrar och tjnster.
        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 ntverksrelaterade konfigurationsfiler.
        5.9.1 (TT
        5.9.2 (TT
     5.10 Ntverksskerhet 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 Brandvggar.
        5.10.7 Andra frslag.

  6. Ntverksspecifik Information.

     6.1 ARCNet
     6.2 Appletalk (
        6.2.1 Att konfigurera mjukvaran fr 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 fr Appletalk.
        6.2.5 Att testa programvaran fr Appletalk.
        6.2.6 Brister i programvaran fr Appletalk.
        6.2.7 Mer information.
     6.3 ATM
     6.4 AX25 (
     6.5 DECNet
     6.6 EQL - trafikutjmnare fr 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 Brandvggar (IP Firewalls)
     6.13 IPIP Inkapsling (IPIP Encapsulation)
        6.13.1 En tunnlad ntverkskonfiguration.
        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 - versttning av ntverksadresser (Network Address Translation)
     6.22 NetRom (
     6.23 PLIP (Parallel Line Internet Protocol)
     6.24 PPP (Point to Point Protocol)
        6.24.1 Att vidhlla en permanent anslutning till ntet med
     6.25 Rose protokollet (
     6.26 SAMBA (std fr `NetBEUI', `NetBios').
     6.27 SLIP (Serial Line Internet Protocol) klient.
        6.27.1 dip (Dialup IP)
        6.27.2 slattach
        6.27.3 Nr anvnder man vilket?
        6.27.4 Statisk SLIP-server med uppringd frbindelse och
        6.27.5 Dynamisk SLIP-server med uppringd frbindelse och
        6.27.6 Att anvnda
        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 fr 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 tvpar Ethernet-kabel.

  8. Terminologi i detta dokument.

  9. Linux fr en ISP?

  10. Tillknnagivanden

  11. Copyright.



  ______________________________________________________________________

  1.  ndringar frn version 1.2


  Tillgg:
          Lade till information om transproxy
          Mindre fixar hr och dr

  Rttningar/Uppdateringar:
          Ny maintainer

  ToDo (ej ndrad, tyvrr):
          Lgg till traffic shaper
          Beskriv ny routing algoritm
          Lgg till kompileringsalternativ i krnan fr IPv6
          Beskriv /proc/sys/net/* .
          WanRouter enhet




  2.  Introduktion.

  Den frsta NET-FAQen skrevs av Matt Welsh och Terry Dawson fr att
  besvara ofta stllda frgor om ntverk fr Linux, detta i en tid fre
  Linux Documentation Project hade startat. Den tckte de tidiga
  utvecklingsversionerna av Linux ntverkskrna. NET-2-HOWTO tog ver
  frn NET-FAQ och var ett av de frsta LDP HOWTO dokumenten, det tckte
  version 2, och senare version 3, av Linuxkrnans ntverksmjukvara.
  Detta dokument tar i sin tur ver frn NET-2-HOWTO och behandlar
  endast version 3 av Linux ntverkskrna.

  Tidigare versioner av detta dokument blev ganska stora beroende p den
  enorma mngd material som det skulle tcka. Fr att minska storleken
  har ett antal HOWTO's producerats som behandlar specifika
  ntverksmnen. Detta dokument kommer, dr det r relevant,  att
  tillst med referenser till dessa och behandla de mnen som inte tcks
  i andra dokument.

  I April 1998 slutade Terry Dawson att upprthlla NET-3, pga sin hga
  belastning. Jag r ny i jobbet, men skall gra mitt bsta fr att
  lyckas.


  2.1.  Feedback

  Jag uppskattar alltid feedback och srskilt vrdefulla bidrag. Var
  vnlig att skicka alla bidrag till email <mailto:rubini@linux.it>.


  2.2.  versttarens kommentarer

  Frst skall sgas att jag inte r ngon expert p att verstta
  dokument frn engelska till svenska. Nr dokumentet dessutom r
  fullspckat med tekniska termer s blir det inte lttare. Jag har
  frskt att verstta de flesta termerna nd och i de fall som jag
  inte gjort detta s br det vara klart vad som menas. I de fall som
  versttningen r tveksam s har jag ven nmnt den engelska termen.
  Fr vrigt s finns det mnga meningar som antagligen inte skulle gra
  ngot vidare intryck p en svenskalrare, men jag hoppas att det gr
  att frst nd.

  P ett par stllen har jag lagt till ett par meningar, jag har d
  markerat detta med `(Sv)'.

  I andra sektioner av detta dokument (frutom denna) s betyder `jag'
  originalfrfattaren.

  --Tomas Carlsson, md5tc@mdstud.chalmers.se
  <mailto:md5c@mdstud.chalmers.se>


  3.  S hr anvnder man detta  HOWTO dokument (NET-3-HOWTO-HOWTO ?).

  Formatet p detta dokument skiljer sig frn tidigare versioner. Vi har
  grupperat om sektionerna s att det finns upplysande material i brjan
  som man kan hoppa ver om man inte r intresserad, sedan kommer
  generellt material som man mste frst innan man fortstter till de
  teknikspecifika delarna i resten av dokumentet.


     Ls de generella sektionerna
        Dessa sektioner anvnds i alla, eller nstan alla, tekniker som
        beskrivs senare och det r viktigt att man frstr dessa.


     Se ver sitt ntverk
        Man br veta hur ens ntverk r, eller kommer att vara, designat
        och exakt vilken hrdvara och teknik som man kommer att
        implementera.


     Ls det teknikspecifika sektionerna som r relaterade till de krav
        man har
        Nr man vet vad man vill ha s kan man ta sig an varje komponent
        i tur och ordning. De hr sektionerna behandlar endast detaljer
        fr en specifik teknik.


     Gr konfigurationsarbetet
        Man br frska att konfigurera sitt ntverk och noggrant notera
        alla problem man stter p.


     Leta efter ytterligare hjlp om det behvs
        Om man stter p problem som detta dokument inte kan hjlpa till
        med s ls sektionen om var man kan hitta hjlp eller var man
        kan rapportera buggar.


     Ha kul!
        Ntverk r roligt, njut av det.


  4.  Generell Information om Linux Ntverk.


  4.1.  En kort historia om utvecklingen av Linux Ntverkskrna.

  Att utveckla en helt ny implementering av TCP/IP protokollstacken i
  krnan som skulle prestera lika bra som existerande implementeringar
  var inte en ltt uppgift. Valet att inte porta en av de existerande
  implementeringarna gjordes vid en tid d det rdde oskerhet
  betrffande om de existerande implementeringarna kunde bli besvrade
  av restriktiva copyrights p grund av ett rttsfall av U.S.L och d
  det fanns mycket entusiasm fr att gra det annorlunda och kanske till
  och med bttre n det redan hade gjorts.

  Den frsta frivilliga att leda utvecklingen av ntverkskoden var Ross
  Biro <biro@yggdrasil.com>. Ross gjorde en enkel och inkomplett men
  mestadels anvndbar implementering, som utkades med en Ethernet-
  drivrutin fr ett WD-8003 ntverkskort. Detta rckte fr att f mnga
  personer att testa och experimentera med koden och ngra klarade till
  och med av att ansluta maskiner till Internet med denna
  implementering. Trycket p ntverksstd kade i Linuxvrlden och till
  slut var kostnaden fr orttvist tryck p Ross strre n vad han fick
  ut av projektet s han lade av som huvudutvecklare.  Ross
  anstrngningar fr att f igng projektet och ta ansvar fr att
  verkligen producera ngonting anvndbart under sdana kontroversiella
  omstndigheter var vad som drev p allt framtida arbete och var drfr
  en viktig del av framgngen med den nuvarande produkten.

  Orest Zborowski <obz@Kodak.COM> producerade det frsta
  programmeringsgrnssnittet fr BSD sockets till Linuxkrnan. Detta var
  ett stort steg framt eftersom det tillt mnga av de existerande
  ntverksapplikationerna att bli portade till Linux utan omfattande
  modifiering.

  Ngon gng vid denna tid utvecklade Laurence Culhane
  <loz@holmes.demon.co.uk> de frsta drivrutinerna fr Linux som stdde
  SLIP-protokollet. Dessa gjorde det mjligt fr mnga mnniskor som
  inte hade tillgng till Ethernet-ntverk att experimentera med den nya
  ntverksmjukvaran. terigen s tog ngra personer denna drivrutin och
  lyckades ansluta sig till Internet. Detta gav mnga en smak av de
  mjligheter som kunde bli realiserade om Linux hade fullt ntverksstd
  och kade antalet anvndare av den existerande ntverksmjukvaran.

  En av de som aktivt hade arbetat med uppgiften att implementera
  ntverksstd var Fred van Kempen <waltje@uwalt.nl.mugnet.org>. Efter
  en tid av oskerhet efter Ross avhopp frn positionen som
  huvudutvecklare s erbjd Fred sin tid och insats. Fred hade ngra
  ambitisa planer fr vart han ville leda Linux ntverksmjukvara och
  han brjade framskrida i den riktningen. Fred producerade en serie
  ntverkskod som kallades 'NET-2' krnkod ('NET'-koden var Ross) som
  mnga kunde anvnda ganska anvndbart. Fred's NET-2 kod anvndes av
  ett hyfsat stort antal entusiaster, som kade allt eftersom ryktet
  spred sig att koden fungerade. Vid denna tid var ntverksmjukvaran
  fortfarande ett stort antal patchar till standardversionen av krnan
  och var inte inkluderad i den normala versionen. NET-FAQ och
  NET-2-HOWTO beskrev d den ganska komplicerade rutinen fr att f allt
  att fungera. Freds ml var att utveckla nyheter till standard
  implementeringen, och detta tog tid. Linuxvrlden vntade otligt p
  ngot som fungerade plitligt och, precis som med Ross, s kade
  trycket p Fred som huvudutvecklare.

  Alan Cox <iialan@www.uk.linux.org> freslog en lsning till problemet.
  Han freslog att han skulle ta Freds NET-2 kod och debugga den, gra
  den plitlig och stabil s att den skulle tillfredsstlla de otliga
  anvndarna och samtidigt ltta p trycket p Fred s att han kunde
  fortstta sitt jobb. Alan brjade med detta, med viss framgng och
  hans frsta version av ntverkskod kallades 'NET-2D(ebugged)'. Koden
  fungerade plitligt i mnga typiska konfigurationer och anvndarna var
  njda. Alan hade egna ideer och frdigheter att bidra med till
  projektet vilket ledde till mnga diskussioner relaterade till
  riktningen p NET-2 koden. Det skapades tv olika lger i
  Linuxvrlden, en med filosofin 'f det att fungera, sen gr det
  bttre' och den andra 'gr det bttre frst'. Linus stdde Alans
  utveckling och inkluderade Alans kod i standarddistributionen av
  krnkoden. Detta placerade Fred i en svr situation. Fortsatt
  utveckling skulle sakna anvndning och testning av den stora
  anvndarskaran och detta skulle betyda att det skulle bli svrt och g
  lngsamt. Fred fortsatte att arbeta en kort tid men lade till slut av
  och Alan blev den nya ledaren fr Linux ntverksutveckling.

  Snart avsljade Donald Becker <becker@cesdis.gsfc.nasa.gov> sina
  talanger i lgnivaspekterna fr ntverk och producerade en enorm
  mngd av Ethernet-drivrutiner, nstan alla de som finns i nuvarande
  krnor r utvecklade av Donald. Det finns andra som har givit
  betydelsefulla bidrag, men Donalds arbete r produktivt och krver
  speciell uppmrksamhet.

  Alan fortsatte att frfina NET-2-Debugged koden en tid samtidigt som
  han arbetade p det som fanns p 'TODO'-listan. D Linux 1.3.*
  krnkoden hade vxt till sig hade ntverkskoden gtt ver till NET-3
  versionen som nuvarande versioner grundar sig p. Alan arbetade p
  mnga olika aspekter p ntverkskoden och med hjlp av en mngd
  talangfulla personer frn Linuxvrlden vxte koden i alla mjliga
  riktningar. Alan producerade dynamiska ntverksenheter och de frsta
  standard AX.25 och IPX implementeringarna. Alan har fortsatt att meka
  med koden, lngsamt strukturerat om och frbttrat den till det
  tillstnd den r i idag.

  PPP-std lades till av Michael Callahan <callahan@maths.ox.ac.uk> och
  Al Longyear <longyear@netcom.com>, detta var ocks kritiskt fr att
  ka antalet personer som anvnde Linux fr ntverk.

  Jonathon Naylor <jsn@cs.nott.ac.uk> har bidragit med att gra
  betydande frbttringar av Alans AX.25 kod, lagt till std fr NetRom
  och Rose protokoll.  AX.25/NetRom/Rose stdet i sig sjlv r ganska
  betydelsefullt, fr att inget annat operativsystem har inbyggt std
  fr dessa protokoll frutom Linux.

  Det finns naturligtvis hundratals andra personer som har givit
  betydelsefulla bidrag till utvecklingen av Linux ntverksmjukvara.
  Ngra av dessa kommer att nmnas senare i de teknikspecifika
  sektionerna, andra har bidragit med moduler, drivrutiner, buggfixar,
  frslag, testrapporter och moraliskt std. I alla dessa fall kan var
  och en sga att den varit del av utvecklingen. Linux ntverkskod r
  ett utmrkt exempel p de resultat som kan uppns med Linux
  anarkistiska utvecklingsstil, om man inte r frvnad ver detta n,
  s blir man det snart fr utvecklingen har inte slutat n.



  4.2.  Var man hittar ytterligare information om Linux ntverk.

  Det finns ett antal stllen dr man kan hitta bra information om Linux
  ntverk.

  Alan Cox, den nuvarande handhavaren av Linux ntrverkskod har en World
  Wide Web sida som innehller hjdpunkter frn utvecklingen av
  ntverkskoden: www.uk.linux.org
  <http://www.uk.linux.org/NetNews.html>.

  Ett annat bra stlle r en bok, Network Administrators Guide, skriven
  av Olaf Kirch. Den tillhr Linux Documentatation Project
  <http://sunsite.unc.edu/LDP/> och man kan lsa den online p Network
  Administrators Guide HTML version
  <http://sunsite.unc.edu/LDP/LDP/nag/nag.html> eller hmta den i olika
  format via ftp frn 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 hgnivkonfiguration
  av ntverket i Linux.

  Det finns en nyhetsgrupp i Linux nyhetshierarkin som r avsedd fr
  ntverk 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 dr man kan
  frga frgor relaterade till Linux ntverk. Fr att prenumerera skall
  man skicka ett e-post meddelande:


  To: majordomo@vger.rutgers.edu
  Subject: anything at all
  Message:

  subscribe linux-net




  P de olika IRC ntverken finns det ofta #linux kanaler p vilka
  personer kan svara p frgor om Linux ntverk.

  Kom ihg att nr man rapporterar ett problem s skall man inkludera s
  mycket relevanta detaljer om problemet som man kan. Speciellt s br
  man specificera vilka versioner av mjukvara man anvnder, srskilt
  krnversionen, versionen p verktyg ssom pppd eller dip och den
  exakta karaktren av problemet som man upplever.  Detta betyder bland
  annat att notera den exakta syntaxen p felmeddelanden som man fr och
  alla kommandon som man anvnder.


  4.3.  Var man hittar generell ntverksinformation (icke Linux-speci
  fik)

  Om man vill ha grundlggande information om TCP/IP ntverk, s kan jag
  rekommendera fljande dokument:


     tcp/ip introduction
        detta dokument finns bde 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 bde 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 ntverk 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 informationsklla nr man r ute efter teknisk information
  relaterad till Internet och TCP/IP protokollen r RFCs. RFC r en
  frkortning av 'Request For Comment' och r det standardiserade sttet
  att lmna ut och dokumentera protokollstandarder fr Internet. Det
  finns mnga stllen att hmta RFCs frn.  Mnga av dessa r ftp-sajter
  och andra tillhandahller World Wide Web sidor med skmotorer dr man
  kan kan ska i RFC databasen med nyckelord.
  En mjlig klla fr RFCs r: Nexor RFC database
  <http://pubweb.nexor.co.uk/public/rfc/index/rfc.html>.


  5.  Generell Information om Ntverkskonfiguration

  Fljande delsektioner innehller information som man mste frst fr
  att kunna konfigurera sitt ntverk. Det r fundamentala principer som
  gller oavsett karaktren p ntverket som man skall anvnda.


  5.1.  Vad behver man fr att brja?

  Innan man brjar bygga eller konfigurera sitt ntverk behver man
  ngra saker.  De viktigaste r:


  5.1.1.  Kllkoden fr krnan.

  Eftersom krnan som man kr nu inte ndvndigtvis nnu har std fr de
  ntverk och ntverkskort som man vill anvnda s behver man
  antagligen kllkoden fr krnan s att man kan kompilera om den med
  lmpliga tillgg.

  Man kan alltid hmta den senaste kllkoden frn: ftp.funet.fi
  <ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0>.

  Vanligtvis s packas kllkoden upp till katalogen /usr/src/linux. Fr
  mer information om hur man lgger till patchar och hur man kompilerar
  krnan s br man lsa Kernel-HOWTO <Kernel-HOWTO.html>. Fr
  information om hur man konfigurerar krnans moduler s br man lsa
  Module-HOWTO <Module-HOWTO.html>.

  Om inte annat sgs specifikt s rekommenderar jag att man hller dig
  till standardversionerna av krnan (de med jmna 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 osker p om man
  klarar av att lsa den typen av problem, s skall man inte anvnda de
  versionerna.


  5.1.2.  Ntverksverktyg (Network Tools).

  Ntverksverktygen r de program som man anvnder fr att konfigurera
  ntverksenheter i Linux. Med dessa verktyg kan man tilldela adresser
  till enheter och konfigurera routes till exempel.

  De flesta moderna Linuxdistributioner r utrustade med
  ntverksverktyg, s om man har installerat frn en distribution och
  nnu inte installerat ntverksverktygen s br man gra detta nu.

  Om man inte har installerat frn en distribution s behver man
  kllkoden fr att kompilera verktygen sjlv. Detta r inte svrt.

  Ntverksverktygen 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 vlja en version som passar den krna som
  man har tnkt att anvnda och med att flja instruktionerna i paketet
  fr att installera.

  Fr att installera den senaste versionen d detta skrivs s behver
  man gra fljande:
  #
  # cd /usr/src
  # tar xvfz net-tools-1.33.tar.gz
  # cd net-tools-1.33
  # make config
  # make
  # make install
  #



  Dessutom, om man tnker konfigurera en brandvgg eller anvnda IP-
  maskering, s behver 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 tillgngliga. Se till att vlja den som
  passar bst till din krna.

  Fr att installera den senaste versionen d detta skrivs s behver
  man gra fljande:

  #
  # cd /usr/src
  # tar xvfz ipfwadm-2.3.0.tar.gz
  # cd ipfwadm-2.3.0
  # make
  # make install
  #




  5.1.3.  Applikationsprogram fr ntverket

  Applikationsprogrammen r program ssom telnet och ftp och deras
  respektive serverprogram. David Holland <dholland@hcs.harvard.edu>
  handhar en distribution av de vanligaste av dessa. man kan hmta dem
  frn: ftp.uk.linux.org
  <ftp://ftp.uk.linux.org/pub/linux/Networking/base>.

  Fr att installera den senaste versionen d detta skrivs s behver
  man gra fljande:

  #
  # 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 brjan, och skrivs med varje byte separerad med
  ett '.' tecken. Varje (ntverks-)grnssnitt hos en vrddator eller
  router har en IP-adress. I vissa fall r det tilltet att ha samma IP-
  adress p alla grnssnitt p en och samma maskin, men vanligtvis har
  varje grnssnitt sin egen adress.

  Internet Protokoll ntverk r kontinuerliga sekvenser av IP-adresser.
  Alla adresser inom ett ntverk har ett antal siffror i adressen
  gemensamma. Den del av adressen som r gemensam fr alla adresser inom
  ett ntverk kallas 'ntverksdelen' ('network portion') av adressen.
  Antalet bitar som r delade av alla adresser inom ett ntverk kallas
  'ntmasken' ('netmask') och det r ntmaskens uppgift att avgra vilka
  adresser som hr till ntverket som ntmasken tillhr och vilka som
  inte gr det. Beakta fljande 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 ntmask kommer att
  avslja adressen till ntverket som den tillhr. Ntverksadressen r
  drfr den lgst numrerade adressen i den rad av adresser som finns i
  ntverket och har vrddatordelen av adressen satt till nollor.

  Broadcastadressen r en speciell adress som varje vrddator p
  ntverket lyssnar till utver sin egen unika adress. Till denna adress
  snds datagram om det r tnkt att alla maskiner p ntverket skall ta
  emot dem. Vissa typer av data ssom route information och
  varningsmeddelanden snds till broadcastadressen s att alla maskiner
  p ntverket kan ta emot dem samtidigt. Det finns tv vanligt
  frekommande standarder fr vad broadcastadressen skall vara. Den mest
  anvnda r att den hgsta mjliga adressen i ntverket anvnds som
  broadcastadress. I exemplet ovan skulle detta vara 192.168.110.255. Av
  ngon anledning anvnder vissa sajter ntverksadressen som
  broadcastadress. I praktiken spelar det ingen strre roll vilket man
  anvnder men man mste vara sker p att alla maskiner p ntverket
  anvnder samma broadcastadress.

  Av administrativa skl ngon gng tidigt i utvecklingen av IP-
  protokollet delades adresserna in i ngra slumpvisa grupper av ntverk
  och dessa ntverk grupperades i vad som kallas fr klasser. Dessa
  klasser tillhandahller ett antal ntverk 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 anvnda beror p vad det r exakt man
  skall gra. Man kan behva anvnda en kombination av fljande fr att
  f de adresser man behver:


     Installera en Linuxmaskin p ett existerande IP-ntverk
        Om man vill installera en Linuxmaskin p ett existerande IP-
        ntverk s br man kontakta den som administrerar ntverket och
        frga efter fljande:

       IP-adress fr vrddatorn (Host IP Address)

       IP ntverksadress (IP Network Address)

       IP broadcastadress

       IP ntmask (IP Netmask)

       Routeradress

       DNS adress (Domain Name Server Address)

        Man skall sedan konfigurera sin Linux ntverksenhet med de
        uppgifterna. man kan inte hitta p dem och frvnta sig att det
        skall fungera.



     Bygga ett helt nytt ntverk som aldrig skall anslutas till Internet
        Om man bygger ett privat ntverk som man aldrig tnker ansluta
        till Internet s kan man vlja vilka adresser man vill. Men, fr
        skerhets och konsistens skull s har vissa IP-adresser blivit
        reserverade speciellt fr detta ndaml. De r specificerade i
        RFC1597 och r fljande:


        -----------------------------------------------------------
        |         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 br frst bestmma hur stort ntverket skall vara och sedan
     vlja s mnga adresser som man behver.


  5.2.  Var skall man skriva konfigurationskommandona?

  Det finns ngra olika metoder fr Linux systemstartprocedurer. Efter
  det att krnan bootar, s exekverar den alltid ett program som heter
  init. init programmet lser sedan en konfigurationsfil som heter
  /etc/inittab och inleder uppstartsprocessen. Det finns ngra olika
  versioner av init och det r denna variationen som r den strsta
  orsaken till skillnad mellan distributioner eller maskiner.

  Vanligtvis s innehller /etc/inittab filen en rad som ser ut
  ngonting som liknar:



       si::sysinit:/etc/init.d/boot



  Denna raden specificerar namnet p det shell-script som verkligen
  utfr uppstarten.  Denna fil skulle kunna jmfras med filen
  AUTOEXEC.BAT i MS-DOS.

  Vanligtvis finns det andra script som anropas av boot-scriptet och
  ofta s konfigureras ntverket i ngot av dessa.

  Fljande tabell kan anvndas som guide fr 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 mnga av de vanligaste sorterna av ntverksgrnssnitt. Om
  man har en av dessa s br man se om det kan gra 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 ntverksgrnssnitt.

  I mnga Unix operativsystem s framtrder ntverksenheterna i /dev
  katalogen. S r inte fallet i Linux. I Linux skapas ntverksenheterna
  dynamiskt i mjukvara och drmed mste inte enhetsfiler finnas.

  I de flesta fall skapas ntverksenheterna automatiskt av drivrutinen
  nr den initialiseras och hittar din hrdvara. Till exempel s skapar
  Ethernetdrivrutinen eth[0..n] grnssnitten sekvensiellt medan den
  hittar din Ethernethrdvara. Det frsta Ethernetkortet som hittas blir
  eth0, det andra eth1 osv.

  Men i ngra fall, tex slip och ppp, s skapas ntverksenheterna genom
  att ngot anvndarprogram krs. Samma sekvensiella numrering gller,
  men enheterna skapas inte automatiskt vid systemstarten. Anledningen
  till detta r att, till skillnad frn Ethernetenheterna, s kan
  antalet aktiva slip eller ppp enheter variera under tiden systemet r
  igng. De hr fallen gs igenom mer noggrannt senare.





  5.4.  Att konfigurera ett ntverksgrnssnitt.

  Nr man har alla program man behver och sina adress- och
  ntverksuppgifter s kan man konfigurera sina ntverksgrnssnitt. Nr
  vi pratar om att konfigurera ett ntverksgrnssnitt s pratar vi om
  processen att tilldela en ntverksenhet lmpliga adresser och att ge
  lmpliga vrden till andra konfigurerbara parametrar hos en
  ntverksenhet. Det mest anvnda programmet fr detta r kommandot
  ifconfig (interface configure).

  Vanligtvis br man anvnda ett kommando som liknar fljande:


       # 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 ntmask 255.255.255.0.  Parametern up som fljer
  kommandot talar om fr enheten att den skall bli aktiv.

  Krnan frutstter vissa frvalda vrden nr man konfigurerar
  grnssnitt. Till exempel s kan man specificera ntverksadress och
  broadcastadress fr ett grnssnitt. Men om man inte gr det, som i
  exemplet ovan, s gr krnan rimliga gissningar baserade p ntmasken,
  och om man inte specificerat ngon ntmask s tittar krnan p klassen
  av IP-adress. I exemplet ovan skulle krnan anta att det r ett klass
  C ntverk som skall konfigureras och drmed stta ntverksadressen
  till 192.168.0.0 och broadcastadressen till 192.168.0.255.

  Det finns mnga andra parametrar till ifconfig. De viktigaste r:

     up aktiverar ett grnssnitt.


     down
        deaktiverar ett grnssnitt.


     [-]arp
        slr av eller slr p 'address resolution protocol' fr
        grnssnittet.


     [-]allmulti
        slr av eller slr p mottagning av alla hrdvaru-
        multicastpaket. Hrdvaru-multicast lter grupper av maskiner att
        ta emot paket som r adresserade till speciella destinationer.
        Detta kan vara viktigt om man anvnder applikationer ssom
        videokonferenssystem men anvnds normalt inte.


     mtu N
        specificerar MTU fr enheten.


     netmask addr
        specificerar ntmasken fr ntverket som maskinen tillhr.


     irq addr
        denna parameter fungerar endast fr viss hrdvara och stter IRQ
        fr enheten.


     [-]broadcast [addr]
        slr p mottagning av datagram som skickas till
        broadcastadressen, eller slr av mottagning av dessa datagram.


     [-]pointopoint [addr]
        stter adressen p maskinen p andra nden av en punkt till
        punkt frbindelse som tex slip eller ppp.


     hw <type> <addr>
        stter hrdvaruadressen fr ntverksenheten. Oftast r detta
        inte anvndbart fr Ethernet, men r anvndbart fr andra typer
        av ntverk som tex AX.25.

  Man kan anvnda kommandot ifconfig p alla ntverksgrnssnitt. Vissa
  anvndarprogram, tex pppd och dip, konfigurerar enheterna automatisk
  nr de skapar dem, s manuell anvndning av ifconfig r inte
  ndvndig.


  5.5.  Att konfigurera din Name Resolver.

  Name Resolvern r en del av Linux standardbibliotek. Dess huvudsakliga
  funktion r att tillhandahlla en tjnst fr att verstta
  mnniskovnliga datornamn som ftp.funet.fi till maskinvnliga IP-
  adresser som 128.214.248.6.


  5.5.1.  Vad bestr ett namn av?

  De flesta r antagligen bekanta med hur datornamn upptrder i
  Internet, men man kanske inte vet hur de r konstruerade, eller
  rekonstruerade. Internet domnnamn r av hierarkisk karaktr, dvs de
  har trdstruktur. En domn r en familj, eller grupp av namn. En domn
  kan brytas ned i subdomner. En toppdomn r en domn som inte r en
  subdomn. Toppdomnerna r specificerade i RFC-920. Ngra exempel p
  de vanligaste topdomnerna r:


     COM
        Kommersiella Organisationer


     EDU
        Utbildningsorganisationer


     GOV
        Regeringsorganisationer


     MIL
        Militrorganisationer


     ORG
        Andra Organisationer


     NET
        Internet-Relaterade Organisationer


     Landskod
        Detta r koder som bestr av tv bokstver och som representerar
        ett visst land.

  Alla dessa toppdomner har subdomner. Toppdomnerna baserade p
  landsnamn bryts sedan ned i subdomner baserade p com, edu, gov, mil
  och org domner (detta r ju dock inte fallet i .se-domnen nnu.
  versttarens kommentar). S till exempel blir det com.au och gov.au
  fr kommersiella och regeringsorganisationer i Australien. Av
  historiska skl s anvnds de domner som tillhr de icke
  landsbaserade toppdomnerna mestadels av organisationer i USA, trots
  att USA har sin egen landskod .us.

  Nsta nedbrytningsniv representerar oftast namnet p organisationen.
  Ytterligare subdomner varierar i karaktr, oftast s baseras nsta
  niv p avdelningar inom organisationen, men den kan baseras p vilket
  kriterium som helst som har ngon betydelse fr
  ntverksadministratrerna i organisationen.

  Delen lngst till vnster av namnet r alltid det unika namnet som
  vrddatorn har och det kallas fr hostname, den delen av namnet som
  finns till hger om hostname kallas fr domainname och hela namnet
  heter Fully Qualified Domain Name.

  Med min egen emailvrddator 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.  Domnnamnet r baserat p en
  toppdomn vilken r baserad p mitt land, Australien och eftersom min
  epostadress tillhr en komersiell organisation s har vi .com p nsta
  niv. Fretagets namn r (var) telstra och vr interna namnstruktur r
  baserad p den organisationella strukturen, i mitt fall s tillhr
  maskinen Information Technology Group, Network Operations sektionen.


  5.5.2.  Vilken information behver man.

  Man behver veta vilken domn datorns namn skall tillhra. Name
  Resolvermjukvaran tillhandahller namnversttning genom att gra
  frfrgningar till en Domain Name Server, s man behver veta IP-
  adressen till en lokal namnserver som man kan anvnda.

  Det finns tre filer som man behver editera, jag berttar om dem i tur
  och ordning.


  5.5.3.  /etc/resolv.conf

  Filen /etc/resolv.conf r huvudfilen fr att konfigurera
  namnversttaren. Dess format r ganska enkelt. Det r en textfil med
  ett nyckelord per rad. Det finns tre nyckelord som vanligtvis anvnds,
  de r:

     domain
        detta nyckelord specificerar det lokala domnnamnet.


     search
        detta nyckelord specificerar en lista med alternativa domnnamn
        att leta i efter ett datornamn.


     nameserver
        detta nyckelord, som kan anvndas flera gnger, specificerar en
        IP-adress till en namnserver (Domain Name Server) att anvnda
        nr man verstter namn.

  Ett exempel p /etc/resolv.conf kan se ut ngonting som fljande:

  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 lgger till domnnamnet maths.wu.edu.au
  till datornamn som ges utan domnnamn, och om datorn inte hittas dr
  s skall man leta ven i wu.edu.au domnen. Tv namnservrar r speci
  ficerade, som bda kan kontaktas av namnversttaren nr ett namn
  skall versttas.


  5.5.4.  /etc/host.conf

  I filen /etc/host.conf kan man konfigurera hur namnversttaren beter
  sig. Formatet fr filen r beskrivet i detalj i manualsidan resolv+. I
  nstan alla fall fungerar fljande exempel:




       order hosts,bind
       multi on




  Denna konfiguration talar om fr versttaren att titta i filen
  /etc/hosts innan den frsker gra en frfrgning till namnservern och
  att returnera alla giltiga adresser fr en dator som den hittar i
  /etc/hosts och inte bara den frsta.


  5.5.5.  /etc/hosts

  I filen /etc/hosts kan man lgga namn och IP-adresser fr lokala
  maskiner. Om man placerar ett datornamn med respektive IP-adress i
  denna fil s behver man inte gra en frfrgan till namnservern fr
  att f reda p dess IP-adress. Nackdelen med detta r att man mste
  hlla filen uppdaterad sjlv ifall IP-adresserna ndras. I ett vl
  underhllet 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 frsta raden i
  exemplet, vilket r standardutformningen fr loopbackenheten.


  5.6.  Att konfigurera loopbackenheten.

  loopback-enheten r ett srskilt grnssnitt med vilket man kan gra
  anslutningar till sig sjlv. Det finns olika anledningar varfr man
  skulle vilja gra detta, till exempel s kanske man vill testa ngon
  ntverksmjukvara utan att stra ngon annan p sitt ntverk. Av
  tradition s har IP-adressen 127.0.0.1 reserverats speciellt fr
  loopback. S, oavsett vilken maskin man gr 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 br gra fljande:



       # ifconfig lo 127.0.0.1
       # route add -host 127.0.0.1 lo




  Vi pratar mer om route kommandot i nsta sektion.


  5.7.  Routing.

  Routing r ett stort mne. Det skulle vara ltt att skriva stora
  mngder 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 freslr jag att man letar i referenserna som ges i
  brjan av detta dokument.

  Lt oss brja med en definition. Vad r IP routing? Hr fljer den
  definition som jag anvnder:


       IP routing r processen dr en dator med flera ntverk
       sanslutningar avgr 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-lnk till Internet, ett
  antal Ethernetsegment som gr till arbetsstationerna och en annan PPP-
  lnk till ett annat kontor. Nr routern tar emot ett datagram p ngon
  av dess ntverksanslutningar, s r routing mekanismen den anvnder
  fr att avgra till vilken av ntverksanslutningarna som den skall
  skicka vidare datagrammet.  Enkla datorer behver ocks anvnda
  routing, alla Internetdatorer har tminstone tv ntverksenheter, en
  r loopbackenheten som beskrivs ovan och den andra r den som den
  anvnder fr att 'prata' med resten av ntverket, kanske ett
  Ethernetkort, kanske ett PPP- eller SLIP-grnssnitt.

  Hur fungerar routing? Varje dator har en speciell lista med
  routingregler som kallas fr routingtabellen (routing table). Denna
  tabell innehller rader som vanligtvis innehller tminstone tre flt,
  det frsta r en destinationsadress, det andra r namnet p
  grnssnittet som datagrammet skall routas till och det tredje r IP-
  adressen p en annan maskin som skall ta datagrammet p sitt nsta
  steg genom ntverket. I Linux kan man se denna tabell genom att
  anvnda fljande kommando:


       # cat /proc/net/route




  eller genom att anvnda ngot av fljande kommandon:



  # /sbin/route -n
  # /bin/netstat -r




  Routingprocessen r hyfsat enkel: ett inkommande datagram tas emot,
  destinationsadressen undersks och jmfrs med varje rad i tabellen.
  Den rad som bst matchar adressen vljs och datagrammet skickas vidare
  till det specificerade grnssnittet. Om gateway-fltet r ifyllt s
  skickas datagrammet vidare till den maskinen via det specificerade
  grnssnittet, annars antas det att destinationsadressen finns p
  ntverket som grnssnittet r kopplat till.

  Fr att manipulera tabellen anvnder man ett speciellt kommando. Detta
  kommando tar kommandoradsargument och konverterar dem till systemanrop
  vilka ber krnan att lgga till, ta bort eller ndra rader i
  routingtabellen. Kommandot r route.

  Ett enkelt exempel. Antag att man har ett Ethernetntverk. Man har
  ftt veta att det r ett klass C ntverk med ntverksadressen
  192.168.1.0. Man har ftt IP-adressen 192.168.1.10 som man kan anvnda
  och man har ftt veta att 192.168.1.1 r en router som r ansluten
  till Internet.

  Det frsta steget r att konfigurera grnssnittet som det beskrivits
  ovan. Man skulle anvnda ett kommando som:


       # ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up




  Man behver nu lgga till en rad i routingtabellen fr att tala om fr
  krnan att datagram till alla adresser som passar 192.168.1.* skall
  sndas 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 anvnds fr att tala om fr routingprogram
  met att denna rad r en ntverksroute. Det andra alternativet r en
  -host route som r en route som r till en specifik IP-adress.

  Med denna route kan man upprtta IP-anslutningar till alla datorer p
  sitt Ethernet-segment. Men vad hnder med alla IP-datorer som inte
  finns p ens Ethernet-segment?

  Det skulle vara ett vldigt svrt jobb att behva lgga till router
  till varje tnkbart ntverk, s det finns ett specialtrix som anvnds
  fr att frenkla denna uppgift. Trixet kallas fr default route.
  Default routen passar varje mjlig destination, men dligt, s om det
  finns ngon annan rad som passar den nskade adressen bttre s kommer
  den att anvndas istllet fr default routen. Tanken med default
  routen r helt enkelt att man skall kunna sga "och allt annat skall
  skickas dit". S i exemplet som vi fljt s br man anvnda en rad
  som:


       # route add default gw 192.168.1.1 eth0


  Parametern gw talar om fr route kommandot att nsta parameter r IP-
  adressen, eller namnet, p en gateway eller router dit alla datagram
  som passar denna rad skall skickas fr vidare routing.

  S exemplets kompletta konfiguration skulle se ut s hr:


       # 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 fr ntverket s kommer man att
  hitta tminstone en som liknar detta. Detta r en vldigt vanlig kon
  figuration.

  Lt oss nu titta p en ngot mer komplicerad routingkonfiguration.
  Antag att vi konfigurerar routern som vi tittade p tidigare, med en
  PPP-lnk till Internet och ngra LAN-segment med arbetsstationer p
  kontoret. Antag att routern har tre Ethernet-segment och en PPP-lnk.
  Vr routingkonfiguration skulle likna fljande:


       # 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 anvnda den enklare formen som beskrevs
  ovan, endast routern behver ange alla ntverksrouter separat eftersom
  hos arbetsstationerna s tar default route mekanismen hand om allihop
  och lter routern skta den 'riktiga' routingen. Man kanske undrar
  varfr defaultrouten inte anger en gw. Anledningen r enkel, seriella
  lnkprotokoll ssom PPP och SLIP har alltid endast tv maskiner p
  sitt ntverk, en i varje nda. Att ange maskinen p andra sidan lnken
  som gateway r meningslst och redundant eftersom det inte finns ngot
  annat val, s man behver inte ange ngon gateway fr den typen av
  ntverksanslutningar. Andra ntverkstyper ssom Ethernet, arcnet eller
  Token Ring krver att en gateway specificeras eftersom dessa ntverken
  stdjer att ett stort antal datorer ansluts till dem.


  5.7.1.  S vad gr programmet routed ?

  Routingkonfigurationen som beskrivs ovan passar bst fr enklare
  ntverksarrangemang dr det endast finns en mjlig vg till varje
  destination.  Nr man har ett mer komplext arrangemang s blir det
  lite besvrligare. Som tur r behver de flesta inte bry sig om detta.

  Det stora problemet med 'manuell routing' eller 'statisk routing' r
  att om en maskin eller lnk fallerar i ntverket s kan man endast
  dirigera om sina datagram, om det finns ngon annan vg, genom att
  manuellt ge lmpliga kommandon. Naturligtvis r detta klumpigt,
  lngsamt, opraktiskt och felbenget.  Olika tekniker har utvecklats
  fr att automatiskt ndra routingtabeller om det uppstr ntverksfel
  dr det finns alternativa vgar att leda trafiken, alla dessa tekniker
  r lst samlade under termen 'dynamiska routing algoritmer'.

  Man kanske har hrt talas om ngra av de vanligare dynamiska
  routingalgorimerna.  De allra vanligaste r RIP (Routing Information
  Protocol) och OSPF (Open Shortest Path First). RIP r vldigt vanlig i
  sm ntverk som till exempel sm/mellanstora fretagsntverk. OSPF r
  modernare och mer kapabel att hantera stora ntverk och bttre
  anpassad till omgivningar dr det finns ett stort antal mjliga vgar
  genom ett ntverk. 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 anvnda en dynamisk
  routingalgoritm skulle kunna se ut som fljer:


           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-ntverk (ntmask 255.255.255.0). Varje router har ven
  en PPP-lnk till var och en av de andra routrarna. Ntverket bildar en
  triangel.

  Det br vara klart att routingtabellen fr 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 utmrkt nda tills lnken 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-lnk, 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 lnkarna mellan A och C respektive mellan C och B
  fortfarande fungerar.

  Men vnta lite nu, om A kan prata med C och C fortfarande kan prata
  med B, varfr skulle inte A kunna routa sina datagram till B via C och
  lta C skicka dem till B? Detta r precis den typen av problem som
  dynamiska routingalgoritmer som RIP designades fr att lsa. Om var
  och en av routrarna A, B och C krde en routingdaemon s skulle deras
  routingtabeller automatiskt uppdateras till att spegla det nya
  tillstndet i ntverket om ngon av lnkarna skulle fallera. Fr att
  konfigurera ett sdant ntverk r enkelt, p varje router behver man
  endast gra tv saker. I detta fall fr router A:


       # route add -net 192.168.1.0 netmask 255.255.255.0 eth0
       # /usr/sbin/routed




  Routingdaemonen routed hittar automatiskt alla aktiva ntverksportar
  nr den startar och skickar och lyssnar efter meddelanden p var och
  en av ntverksenheterna s att den kan faststlla och uppdatera rout
  ingtabellen p datorn.

  Detta har varit en vldigt versiktlig frklaring av dynamisk routing
  och var man br anvnda det. Om man vill ha mer information s sk
  ibland referenserna i brjan av dokumentet.

  De viktiga punkterna relaterade till dynamisk routing r:

  1. Man behver bara anvnda dynamisk routing nr ens Linuxburk har
     mjligheten att vlja flera olika routes till en destination.

  2. Den dynamiska routingdaemonen kommer automatiskt att modifiera
     routingtabellen fr att stlla in sig till frndringar i
     ntverket.

  3. RIP r bra anpassat fr sm till medelstora ntverk.


  5.8.  Att konfigurera ntverksservrar och tjnster.

  Ntverksservrar och tjnster r de program som lter en avlgsen
  anvndare anvnda sig av ens Linuxburk. Serverprogram lyssnar p
  ntverksportar.  Ntverksportar r hjlpmedel fr att adressera en
  speciell tjnst p en dator och r hur en server vet skillnaden mellan
  en inkommande telnet-anslutning och en inkommande ftp-anslutning. Den
  avlgsna anvndaren upprttar en ntverksanslutning till Linuxburken
  och serverprogrammet, ntverksdaemonen, lyssnar p den porten och
  accepterar anslutningen och exekverar. Det finns tv stt p vilka
  ntverksdaemoner kan fungera. Bda r flitigt anvnda i praktiken. De
  tv stten r:


     fristende
        ntverksdaemonen lyssnar p den angivna porten och nr den
        upptcker en inkommande anslutning s skter den om anslutningen
        sjlv fr att vidare tillhandahlla tjnster.


     slav till inetd servern
        inetd servern r en srskild ntverksdaemon som r specialiserad
        p att ta hand om inkommande ntvarksanslutningar. Den har en
        konfigurationsfil som talar om vilket program som skall kras d
        en inkommande anslutning tas emot. Varje port kan konfigureras
        fr ngot av protokollen TCP eller UDP. Portarna r beskrivna i
        en annan fil som vi skall prata om snart.

  Det finns tv viktiga filer som behver konfigureras. De r /etc/ser
  vices som tilldelar namn till portnummer och /etc/inetd.conf som r
  konfigurationsfilen till ntverksdaemonen inetd.


  5.8.1.  /etc/services

  Filen /etc/services r en enkel databas som associerar ett
  mnniskovnligt namn med en maskinvnlig port. Formatet r ganska
  enkelt. Filen r en textfil dr varje rad representerar en rad i
  databasen. Varje rad bestr av tre flt som r separerade av valfritt
  antal vita tecken (tab eller space).  Flten r:

  name      port/protocol        aliases     # comment



     name
        ett namn, bestende av ett ord, som representerar tjnsten som
        skall beskrivas.


     port/protocol
        detta flt r indelat i tv delflt.




        port
           ett nummer som anger portnummret som den namngivna tjnsten
           kommer att vara tillgnglig p. De flesta vanliga tjnster
           har tilldelats reserverade nummer. Dessa finns beskrivna i
           RFC-1340.



        protocol
           detta delflt kan sttas till antingen tcp eller udp.


        Det r viktigt att notera att en rad med 18/tcp r vldigt olik
        en rad med 18/udp och att det inte finns ngon teknisk anledning
        till att samma tjnst finns tillgnglig p bda. Normalt rder
        sunt frnuft och det r bara om en viss tjnst finns tillgnglig
        via bde tcp och udp som man kommer att se rader med bda.


     aliases
        andra namn som kan anvndas fr att referera till denna
        tjnsten.

  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 rkar bygga ett system frn grunden s r hr 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 fr serverdaemonen inetd.
  Dess funktion r att tala om fr inetd vad som skall hnda nr den tar
  emot en anslutningsfrfrgan fr en viss tjnst. Fr varje tjnst fr
  vilken man nskar acceptera anslutningar mste man tala om fr inetd
  vilken ntverksserver den skall starta och hur den skall startas.

  Dess format r ganska enkelt. Det r en textfil dr varje rad
  beskriver en tjnst som man vill tillhandahlla. All text efter ett #
  tecken p en rad ignoreras och ses som en kommentar. Varje rad
  innehller sju flt som r separerade av valfritt antal vita tecken
  (tab eller space). Det generella formatet r som fljer:


       service  socket_type  proto  flags  user  server_path  server_args





     service
        r tjnsten som r relevant fr denna konfiguration som den
        benmns i /etc/services.


     socket_type
        detta flt beskriver vilken typ av socket som denna rad kommer
        att beteckna som relevant, tilltna vrden r stream, dgram,
        raw, rdm eller seqpacket. Detta r lite tekniskt till karaktren
        men som tumregel s anvnder nstan alla tcp-baserade tjnster
        stream och alla udp-baserade tjnster dgram. Det r bara vldigt
        speciella typer av daemoner som anvnder de andra vrdena.


     proto
        protokollet som skall anses som giltigt fr denna rad. Detta
        skall passa ihop med lmplig rad i /etc/services och r
        vanligtvis antingen tcp eller udp. Sun RPC (Remote Procedure
        Call) baserade tjnster anvnder rpc/tcp eller rcp/udp.


     flags
        det finns egentligen bara tv mjliga vrden fr detta flt.
        Detta flt talar om fr inetd om serverprogramvaran stnger
        socketen efter det att den startats och drfr om inetd kan
        starta en annan server p nsta anslutningsfrfrgan. terigen
        s r detta lite besvrligt att lista ut, men som tumregel s
        skall alla tcp servrar ha vrdet nowait och de flesta udp
        servrar wait. Observera att det finns undantag fr detta, s man
        br endast flja exemplet om man inte vet.


     user
        detta flt talar om vilket anvndarkonto frn /etc/passwd som
        skall sttas som gare till ntverksdaemonen nr den startas.
        Detta r ofta anvndbart fr att skydda sig mot skerhetsrisker.
        Man kan stta vrdet till nobody s att skadan minimeras ifall
        ntverksserverns skerhet fallerar. Men vanligtvis s r detta
        flt satt till root eftersom mnga servrar mste ha root-
        rttigheter fr att fungera korrekt.


     server_path
        detta flt skall innehlla det absoluta filnamnet till
        serverprogrammet som skall exekveras fr denna raden.


     server_args
        detta fltet utgr resten av raden och r valfri. Det r hr som
        man placerar kommandoradsargument som man vill skicka med till
        serverdaemonen nr den startas.


  5.8.2.1.  Ett exempel p en /etc/inetd.conf  fil.

  Som fr filen /etc/services s inkluderar alla moderna distributioner
  en bra /etc/inetd.conf fil som man kan arbeta med. Fr att vara
  komplett s inkluderas /etc/inetd.conf frn 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 <tobias@et-inf.fho-emden.de>
  #
  # <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 ntverksrelaterade konfigurationsfiler.

  Det finns ett antal andra filer som r relaterade till
  ntverkskonfiguration i Linux som man skulle kunna vara intresserad
  av. Man behver kanske aldrig modifiera dessa filer, men det r vrt
  att beskriva dem nd s att man vet vad de innehller och vad de
  anvnds till.


  5.9.1.  /etc/protocols

  Filen /etc/protocols r en databas som mappar protokollens id-nummer
  mot protokollens namn. Detta anvnds av programmerare fr att lta dem
  ange protokoll med dess namn i program, och ven av vissa program, som
  till exempel tcpdump, fr att kunna skriva ut namn istllet fr
  nummer.  Syntaxen fr filen r:


       protocolname  number  aliases




  I Debian <http://www.debian.org/> distributionen ser /etc/protocols ut
  som fljande:



















  # /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
  tillhandahller en enkel databas av ntverksnamn som mappas mot
  ntverksadresser. Dess format skiljer sig genom att det fr endast
  finnas tv flt per rad och att flten skrivs som:



       networkname networkaddress




  Ett exempel kam se ut shr:


       loopnet    127.0.0.0
       localnet   192.168.0.0
       amprnet    44.0.0.0




  Nr man anvnder kommandon som route, om en destination r ett ntverk
  och det ntverket finns i /etc/networks, s kommer route att visa
  ntverksnamnet istllet fr dess adress.



  5.10.  Ntverksskerhet och tkomstkontroll.

  Lt mig brja denna sektion med att varna fr att skra en maskin och
  ett ntverk mot illvilliga attacker r en komplex konst. Jag anser mig
  inte sjlv vara en expert p detta omrde och ven om de fljande
  mekanismerna som jag beskriver kommer att hjlpa, s om man r riktigt
  allvarlig nr det gller skerhet s rekommenderar jag att man gr
  egna underskningar i mnet. Det finns mnga bra referenser p
  Internet relaterade till detta mne.

  En viktig tumregel r: `Kr inte servrar som inte skall anvndas'.
  Mnga distributioner kommer konfigurerade med alla mjliga tjnster
  som startas automatiskt. Fr att skerstlla en miniminiv av skerhet
  s br man g igenom sin /etc/inetd.conf och kommentera bort (stt ett
  '#' i brjan av raden) alla rader som innehller tjnster vilka man
  inte tnker anvnda.  Bra kandidater r tjnster ssom: shell, login,
  exec, uucp, ftp och informativa tjnster som finger, netstat och
  systat.

  Det finns alla mjliga sorters skerhets- och
  tkomstkontrollmekanismer, jag kommer att beskriva de mest elementra
  av dem.


  5.10.1.  /etc/ftpusers

  Filen /etc/ftpusers r en enkel mekanism med vilken man kan vgra
  vissa anvndare att logga in till maskinen via ftp. Filen
  /etc/ftpusers lses av ftp-daemonen (ftpd) nr en inkommande ftp-
  anslutning tas emot.  Filen r en enkel lista av de anvndare som inte
  r tilltna 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 tillten att logga in p. Filen /etc/securetty lses av
  loginprogrammet (vanligtvis /bin/login). Dess format r en lista av de
  tty enhetsnamn som r tilltna, p alla andra r root login otillten:


       # /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 tillhandahller
  loggning och tkomstkontrollmekanismer fr tjnster som det r
  konfigurerat att skydda.
  Nr det aktiveras av programmet inetd s lser det tv filer som
  innehller tkomstregler och antingen tillter det eller nekar tkomst
  till servern som det skyddar.

  Programmet sker i reglerna tills dess att det hittar det frsta
  mnstret som passar. Hittar det inget passande mnster s antas det
  att tkomst skall tilltas till vem som helst. Filerna som sks igenom
  i sekvens r: /etc/hosts.allow, /etc/hosts.deny. Jag kommer att
  beskriva dem i ordning. Fr en komplett beskrivning av detta s br
  man titta i lmpliga manualblad (hosts_access(5) r ett bra stlle att
  brja p).


  5.10.3.1.  /etc/hosts.allow

  Filen /etc/hosts.allow r en konfigurationsfil fr programmet
  /usr/sbin/tcpd. Filen innehller regler som beskriver vilka datorer
  som r tilltna tkomst till en tjnst 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 gller
        fr. Exempel: ftpd, telnetd och fingerd.


     host list
        r en kommaseparerad lista av datornamn. Man kan ven anvnda
        IP-adresser. Man kan dessutom ange datornamn eller adresser med
        hjlp av 'wildcards' fr att tcka grupper av datorer. Exempel:
        gw.vk2ktj.ampr.org fr att tcka en enskild dator, .uts.edu.au
        fr att tcka alla datornamn som slutar med den strngen, 44.
        fr att tcka alla IP-adresser som brjar med de siffrorna. Det
        finns ngra srskilda tokens fr att frenkla konfigurationen,
        ngra av dessa r: ALL tcker alla datorer, LOCAL tcker alla
        datornamn som inte innehller en '.' dvs som r i samma domn
        som din maskin och PARANOID tcker alla datorer vars namn inte
        stmmer verens med sin adress (name spoofing). Det finns en
        sista anvndbar token. EXCEPT tillter dig att ange en lista med
        undantag. Detta visas i ett exempel senare.


     command
        r en valfri parameter. Detta r det absoluta filnamnet fr ett
        kommando som skall exekveras varje gng denna regel anvnds.
        Det skulle till exempel kunna kra ett program som frsker
        identifiera vem som r ploggad p den anslutande datorn, eller
        att generera ett mail eller ngon annan varning till en
        systemadministratr att ngon frsker ansluta. Det finns ett
        antal utkningar som kan inkluderas, till exempel: %h expanderar
        till namnet p den anslutande datorn eller adress om den inte
        har ngot 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 fr programmet
  /usr/sbin/tcpd. Filen innehller regler som beskriver vilka datorer
  som r nekade tkomst till en tjnst 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
  fller allt i vilket fall. Ngon av dessa rader skulle vara tnkbara
  beroende p vilka krav man har.

  Att ha ALL: ALL i /etc/hosts.deny och sedan specifikt ange de tjnster
  och datorer som man vill ha i filen /etc/hosts.allow r den skraste
  konfigurationen.


  5.10.4.  /etc/hosts.equiv

  Filen hosts.equiv anvnds fr att ge vissa datorer och anvndare
  tkomstrttigheter till konton p maskinen utan att behva ange ett
  lsenord.  Detta r anvndbart i en sker omgivning dr man
  kontrollerar alla maskinerna, men det r en skerhetsrisk i annat
  fall. Datorn r bara s sker som den minst skra av de datorer man
  litar p. Fr att maximera skerheten s br man inte anvnda denna
  mekanismen och pverka sina anvndare att inte anvnda filen .rhosts
  heller.


  5.10.5.  Konfigurera ftp -daemonen ordentligt.

  Mnga sajter r intresserade av att kra en anonym ftp server fr att
  tillta andra personer att ladda upp och ladda ner filer utan att ha
  ett srskilt anvndarid. Om man bestmmer sig fr att tillhandahlla
  denna tjnst s skall man se till att man konfigurerar sin ftp-daemon
  ordentligt fr anonym tkomst.  De flesta manualblad fr ftpd(8)
  beskriver hur man skall gra detta. Man br alltid frskra sig om att
  man fljer dessa instruktioner. Ett viktigt tips r att inte anvnda
  en kopia av sin /etc/passwd fil i /etc katalogen fr det anonyma
  kontot, se till att man tar bort alla detaljer om konton som man inte
  mste ha, annars kommer man att vara srbar mot tekniker fr
  lsenordscracking.


  5.10.6.  Brandvggar.

  Att inte tillta datagram att ens n fram till din maskin eller
  servrar r ett utmrkt stt att skra systemet. Detta beskrivs i
  Firewall-HOWTO <Firewall-HOWTO.html>.


  5.10.7.  Andra frslag.

  Hr r ngra andra, potentiellt religisa frslag som man kan tnka
  p.

     sendmail
        oavsett dess popularitet s framtrder sendmail daemonen med
        skrmmande jmna mellanrum p skerhetsmeddelanden. Det r upp
        till en sjlv om man vljer att kra den.


     NFS och andra Sun RPC tjnster
        man br vara aktsam med dessa. Det finns alla mjliga olika stt
        att utnyttja dessa tjnster. Det r svrt att hitta alternativ
        till en tjnst som NFS, men om man konfigurerar dem s skall man
        se till att vara frsiktig med vem man ger mount-rttigheter
        till.


  6.  Ntverksspecifik Information.

  Fljande delsektioner r specifika fr vissa ntverkstekniker.
  Informationen i dessa sektioner gller inte ndvndigtvis fr ngon
  annan ntverksteknik.


  6.1.  ARCNet

  Enhetsnamn fr ARCNet r `arc0e', `arc1e', `arc2e' osv eller `arc0s',
  `arc1s', `arc2s' osv. Det frsta kortet som hittas av krnan 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 fr Krnan:


       Network device support  --->
           [*] Network device support
           <*> ARCnet support
           [ ]   Enable arc0e (ARCnet "Ether-Encap" packet format)
           [ ]   Enable arc0s (ARCnet RFC1051 packet format)




  Nr man vl har en krna som stder sitt Ethernetkort s r
  konfiguration av kortet ltt.

  Man skulle kunna anvnda ngot 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 grna i filerna /usr/src/linux/Documentation/networking/arc
  net.txt och /usr/src/linux/Documentation/networking/arcnet-hard
  ware.txt fr mer information.

  ARCNet-std utvecklades av Avery Pennarun, apenwarr@foxnet.net.


  6.2.  Appletalk ( AF_APPLETALK )

  Appletalk har inga srskilda enhetsnamn eftersom det anvnder
  existerande ntverksenheter.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           <*> Appletalk DDP




  Appletalk-std gr det mjligt fr Linuxburken att kommunicera med
  Apple-ntverk. Ett viktigt anvndningsomrde fr detta r mjligheten
  att kunna dela resurser, som till exempel skrivare och hrddiskar,
  mellan Linux- och Appledatorer. Man behver ytterligare programvara,
  netatalk, fr detta.  Wesley Craig, netatalk@umich.edu, representerar
  en grupp som heter `Research Systems Unix Group' p University of
  Michigan och de har utvecklat netatalk-paketet som tillhandahller
  programvara som implementerar protokollstacken fr Appletalk och ngra
  andra anvndbara verktyg.  Paketet netatalk finns antingen med i Lin
  uxditributionen, eller s kan man ladda hem det via ftp frn Univer
  sity of Michigan <ftp://terminator.rs.itd.umich.edu/unix/netatalk/>

  Fr att kompilera och installera paketet gr man ungefr s hr:


       # 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 fr Appletalk.

  Det frsta man mste gra fr att f det att fungera r att se till
  att de rtta raderna finns med i filen /etc/services. Raderna man
  behver 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




  Nsta steg r att skapa konfigurationsfiler fr Appletalk i katalogen
  /usr/local/atalk/etc (eller var man nu installerade paketet).

  Den frsta filen som behvs r /usr/local/atalk/etc/atalkd.conf. Till
  en brjan behver denna fil endast en rad som anger namnet p den
  ntverksenhet som r kopplad ntverket dr Applemaskinerna finns:



       eth0




  Daemonen fr Appletalk kommer att lgga dit fler detaljer nr den
  krs.


  6.2.2.  Att exportera ett Linuxfilsystem via Appletalk.

  Man kan exportera filsystem frn sin Linuxburk till ntverket s att
  Applemaskinerna p ntverket kan anvnda dem.

  Fr att gra detta s behver 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
  anvndas av anvndare som ansluter med gst-rttigheter.

  Alla detaljer om hur man konfigurerar dessa finns i manualbladet fr
  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 vljer 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 behver kra programmet papd (Appletalk Printer Access Protocol
  Daemon). Nr man kr detta program s tar det emot frfrgningar frn
  Applemaskinerna och spoolar utskriftsjobben till den lokala line-
  printer daemonen.

  Man behver ndra filen /usr/local/atalk/etc/papd.conf fr att
  konfigurera daemonen. Syntaxen fr denna fil r densamma som fr den
  vanliga /etc/printcap filen. Namnet som man ger till definitionen
  registreras med Appletalks namnsttningsprotokoll, NBP.

  En exempelkonfiguration kan se ut s hr:



       TricWriter:\
          :pr=lp:op=cg:




  Vilken skulle skapa en printer som kallas fr `TricWriter' som blir
  tillgnglig fr Appletalkntverket och alla accepterade jobb skulle
  skrivas ut p Linuxskrivaren `lp' (som den definieras i filen
  /etc/printcap) genom att anvnda lpd. Uttrycket `op=cg' talar om att
  Linux-anvndaren `cg' r ansvarig fr skrivaren.


  6.2.4.  Att starta programvaran fr Appletalk.

  Nu br man var redo att testa denna enkla konfiguration. Det finns en
  fil rc.atalk som fljer med paketet netatalk som borde fungera fr de
  flesta, s allt man behver gra r fljande:



       # /usr/local/atalk/etc/rc.atalk




  och allt borde startas och fungera. Man skall inte se ngra
  felmeddelanden och programvaran kommer att skicka meddelanden till
  konsolen som indikerar varje steg som startas.


  6.2.5.  Att testa programvaran fr Appletalk.

  Fr att testa att mjukvaran fungerar som den skall, s gr man till en
  av sina Applemaskiner, tar ner pplemenyn, vljer Vljaren (Chooser),
  klickar p AppleShare, och Linuxburken br synas.


  6.2.6.  Brister i programvaran fr Appletalk.


    Man kanske mste starta Appletalk-stdet innan man konfigurerar
     sitt IP-ntverk. Om man har problem med att starta
     Appletalkprogrammen, eller om man, efter att ha startat dem, har
     problem med sitt IP-ntverk, s frsker man med att starta
     Appletalk innan man kr sin /etc/rc.d/rc.inet1 fil.

    Daemonen afpd (Apple Filing Protocol Daemon) stkar till ordentligt
     i filsystemet. Under mount-punkterna s skapar den ett par
     kataloger som heter .AppleDesktop och Network Trash Folder.  Sedan
     fr varje katalog som man besker s kommer den att skapa en
     .AppleDouble under dem s att den kan spara diverse information. S
     man br tnka efter innan man exporterar /, man kommer att ha det
     skoj nr man stdar upp eftert.

    Daemonen afpd frvntar sig lsenord i klartext frn Macarna.
     Skerhet kan vara ett problem, s man skall vara frsiktig nr man
     kr denna daemonen p en dator som r ansluten till Internet, man
     har sig sjlv att skylla om ngon elak person gr ngon skada.

    Existerande diagnostiseringsverktyg som netstat och ifconfig stder
     inte Appletalk. R information r tillgnglig i katalogen
     /proc/net/ om man behver den.


  6.2.7.  Mer information.

  En mycket mer detaljerad information om hur man konfigurerar Appletalk
  fr Linux finns i Anders Brownworths Linux Netatalk-HOWTO sida p
  thehamptons.com <http://thehamptons.com/anders/netatalk/>.



  6.3.  ATM

  Werner Almesberger <werner.almesberger@lrc.di.epfl.ch> hller i ett
  projekt fr att skapa std fr Asynchronous Transfer Mode i Linux.
  Uppdaterad information om statusen fr projektet kan fs frn
  lrcwww.epfl.ch <http://lrcwww.epfl.ch/linux-atm/>.


  6.4.  AX25 ( AF_AX25 )

  Enhetsnamn fr AX.25 r `sl0', `sl1', osv i 2.0.* krnor eller `ax0',
  `ax1', osv i 2.1.* krnor.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           [*] Amateur Radio AX.25 Level 2




  AX25, Netrom och Rose protokollen tcks av AX25-HOWTO
  <AX25-HOWTO.html>.  Dessa protokoll anvnds av Amatrradio-operatrer
  i hela vrlden fr paketradio experiment.

  Det mesta arbetet fr att implementera protokollen har utfrts av
  Jonathon Naylor, jsn@cs.nott.ac.uk.


  6.5.  DECNet

  Std fr DECNet hller fr tillfllet p att utvecklas. Man kan rkna
  med att det dyker upp i sena 2.1.* krnor.


  6.6.  EQL - trafikutjmnare fr multipla linor.

  Enhetsnamnet fr EQL r `eql'. Med standardkrnan kan man endast ha en
  EQL-enhet per maskin. EQL tillhandahller hjlpmedel fr att anvnda
  multipla punkt till punkt frbindelser (tex PPP, SLIP eller PLIP) som
  en ensam logisk lnk fr att bra TCP/IP. Ofta r det billigare att
  anvnda flera linor med lgre hastighet n att ha en hghastighetslina
  installerad.

  Kompileringsalternativ fr Krnan:


       Network device support  --->
           [*] Network device support
           <*> EQL (serial line load balancing) support


  Fr att stdja denna mekanism s mste maskinen p andra sidan av
  linorna ocks stdja EQL. Linux, Livingstone Portmasters och nyare
  dial-in servrar stder kompatibla tjnster.

  Fr att konfigurera EQL behver 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 brjar med att konfigurera
  eql-grnssnittet. Eql-grnssnittet r precis som alla andra
  ntverksgrnssnitt.  Man kan konfigurera IP-adressen och MTU genom att
  anvnda ifconfig, s ungefr som:


       ifconfig eql 192.168.10.1 mtu 1006




  Sedan behver man manuellt initiera var och en av linorna som man
  skall anvnda.  Dessa kan vara en valfri kombination av punkt till
  punkt frbindelser. Hur man initierar de anslutningarna beror p
  vilken typ av lnkar de r, se passande sektioner fr mer information.

  Till sist skall man associera den seriella lnken med EQL-enheten,
  detta kallas fr `enslaving' och grs med kommandot eql_enslave:


       eql_enslave eql sl0 28800
       eql_enslave eql ppp0 14400




  Parametern `estimated speed' som man ger till eql_enslave gr ingen
  direkt nytta. Den anvnds av EQL-drivrutinen fr att avgra 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 vrde.

  Fr att disassociera en lina frn en EQL-enhet s anvnder man
  kommandot eql_emancipate:


       eql_emancipate eql sl0




  Man lgger till routing som om det vore en normal punkt till punkt
  frbindelse, frutom att router skall referera till eql enheten
  istllet fr de verkliga seriella enheterna:


       route add default eql




  EQL-drivrutinen utvecklades av Simon Janes, simon@ncm.com.


  6.7.  Ethernet

  Enhetsnamn fr Ethernet r `eth0', `eth1', `eth2' osv. Det frsta
  kortet som hittas fr namnet `eth0' och resten tilldelas namn
  sekvensiellt i den ordning som de hittas.
  Fr att ta reda p hur man fr sitt Ethernet-kort att fungera i Linux
  s br man titta i Ethernet-HOWTO <Ethernet-HOWTO.html>.

  Nr man vl har en krna som stder sitt Ethernet-kort s r det
  enkelt att konfigurera kortet.

  Vanligtvis s anvnds ungefr fljande:


       # 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 fr Ethernet utvecklades av Donald Becker,
  becker@CESDIS.gsfc.nasa.gov.


  6.8.  FDDI

  Enhetsnamnen fr FDDI r `fddi0', `fddi1', `fddi2' osv. Det frsta
  kortet som hittas fr namnet `fddi0' och resten tilldelas namn
  sekvensiellt i den ordning som de hittas.

  Larry Stefani, lstefani@ultranet.com, har utvecklat en drivrutin fr
  EISA och PCI FDDI-kort frn Digital Equipment Corporation.

  Kompileringsalternativ fr Krnan:


       Network device support  --->
           [*] FDDI driver support
           [*] Digital DEFEA and DEFPA adapter support




  Nr man vl har en krna som stder sitt FDDI-kort, s konfigureras
  FDDI-kortet nstan likadant som Ethernet-kortet. Man behver bara ange
  lmpliga FDDI-enhetsnamn till kommandona ifconfig och route.


  6.9.  Frame Relay

  Enhetsnamnen fr Frame Relay r `dlci00', `dlci01' osv fr DLCI
  inkapslingsenheter och `sdla0', `sdla1' osv fr FRAD(s).

  Frame Relay r en ny teknik att bygga ntverk och r designad att
  passa datakommunikation vars trafik r av oregelbunden karaktr. Man
  ansluter till ett Frame Realay ntverk genom att anvnda en Frame
  Relay Access Device (FRAD).  Linux Frame Relay stdjer IP ver Frame
  Relay s som det beskrivs i RFC1490.

  Kompileringsalternativ fr Krnan:


       Network device support  --->
           <*> Frame relay DLCI support (EXPERIMENTAL)
           (24)   Max open DLCI
           (8)   Max DLCI per device
           <*>   SDLA (Sangoma S502/S508) support




  Mike McLagan, mike.mclagan@linux.org, utvecklade stdet och
  konfigurationsverktygen fr Frame Relay.

  Fr nrvarande r de FRADs som stds fljande: Sangoma Technologies
  <http://www.sangoma.com/> S502A, S502E och S508.

  Fr att konfigurera FRAD och DLCI enheter efter det att man har
  kompilerat om sin krna s behver man konfigurationsverktygen fr
  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 gr 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 anvnda fljande 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




  Nr man har skapat sin /etc/frad/router.conf fil s r det enda som
  terstr att konfigurera enheterna. Detta r bara lite svrare n att
  konfigurera en normal ntverksenhet. Man mste komma ihg 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 Linuxkrnan kan man samla ihop och
  analysera viss data frn ntverksanvndningen. Datan som samlas ihop
  bestr av antalet paket och antalet bytes ackumulerade sedan talen
  senast nollstlldes. Man kan specificera en mngd olika regler fr att
  kategorisera talen fr att passa sina ndaml.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           [*] IP: accounting




  Nr man har kompilerat och installerat krnan s behver man anvnda
  kommandot ipfwadm fr att konfigurera IP-redovisningen. Det finns
  mnga olika stt att bryta ner redovisningsinformationen. Jag har valt
  ett enkelt exempel p vad som skulle kunna vara anvndbart, man kan
  lsa manualbladet fr kommandot ipfwadm fr mer information.

  Scenario: man har ett Ethernet-ntverk som r anslutet till Internet
  via en PPP-lnk. P sitt Ethernet har man en maskin som erbjuder ett
  antal tjnster och man r intresserad av att veta hur mycket trafik
  som genereras av telnet, rlogin, ftp och www trafik.


  Man skulle d kunna anvnda fljande:


       #
       # 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 nr man analyserar datan r att summan fr
  alla regler som passar in kommer att kas s fr att erhlla summor
  fr enskilda protokoll s mste man rkna 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 frn 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 dr det r anvndbart att kunna tilldela
  flera IP-adresser till en och samma ntverksenhet. Titta i IP-Aliasing
  mini-HOWTO fr mer information n vad man hittar hr.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           ....
           [*] Network aliasing
           ....
           <*> IP: aliasing support




  Nr man har kompilerat och installerat sin krna med std fr IP
  Aliasing s r det vldigt enkelt att konfigurera. Aliasen lggs till
  virtuella ntverksenheter som r associerade med den verkliga enheten.
  En enkel namnkonvention anvnds, nmligen <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-ntverk som innehller
  tv olika IP-subnt p en gng. Man vill nu att maskinen skall ha
  direkt access till bda. Man skulle anvnda ngot 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
       #




  Fr att ta bort ett alias s lgger 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 Brandvggar (IP Firewalls)

  IP-brandvggar tcks mer i detalj i Firewall-HOWTO <Firewall-
  HOWTO.html>. Med en IP-brandvgg kan man skydda sin maskin mot
  otillten tkomst via ntverket genom att filtrera bort eller tillta
  datagram till eller ifrn IP-adresser som man anger. Det finns regler
  i tre olika klasser: inkommande filtrering, utgende filtrering och
  filtrering vid vidareskickning. Reglerna fr inkommande gller
  datagram som tas emot av en ntverksenhet. Reglerna fr utgende
  gller datagram som skall skickas av en ntverksenhet. Reglerna fr
  vidareskickning gller de datagram som tas emot men inte skall till
  den aktuella maskinen, dvs datagram som skall routas.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           [*] Network firewalls
           ....
           [*] IP: forwarding/gatewaying
           ....
           [*] IP: firewalling
           [ ] IP: firewall packet logging




  Konfigurationen av reglerna fr brandvggen grs med hjlp av
  kommandot ipfwadm. Som jag nmnde tidigare s r jag ingen expert p
  skerhet, s ven om jag visar ett exempel som gr att anvnda s
  rekommenderas egna underskningar i mnet om skerhet r srskilt
  viktigt.

  Det kanske vanligaste anvndningsomrdet fr en brandvgg r nr man
  anvnder sin Linuxburk som en router och brandvgg fr att skydda sitt
  lokala ntverk mot otillten tkomst utifrn.

  Fljande konfiguration r baserad p ett bidrag frn Arnt Gulbrandsen,
  <agulbra@troll.no>.

  Exemplet beskriver en konfiguration av brandvggsreglerna i Linux-
  brandvggen/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 fljer placeras normalt i en rc fil s att de startas
  automatiskt varje gng systemet startas. Fr maximal skerhet s borde
  de utfras efter det att ntverksgrnssnitten konfigurerats, men innan
  enheterna aktiveras s att man p detta stt hindrar att ngon fr
  tillgng 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 gra en bra konfiguration av brandvggen r lite trixigt. Exemplet
  ovan borde dock vara en hyfsad startpunkt. Manualbladet fr kommandot
  ipfwadm innehller mer hjlp om hur man anvnder det. Om man tnker
  konfigurera en brandvgg, s skall man se till att frga runt och f
  s mycket rd man kan ifrn kllor som man anser vara plitliga. Lt
  sedan ngon testa konfigurationen frn utsidan.


  6.13.  IPIP Inkapsling (IPIP Encapsulation)

  Varfr skulle man vilja kapsla in IP-datagram i andra IP-datagram? Det
  lter som en konstig sak att gra om man aldrig sett ett exempel p
  det innan.  Ok, hr r ett par vanliga omrden dr det anvnds: Mobil
  IP och IP-Multicast.  Men dr det antagligen anvnds mest r ocks det
  mest oknda omrdet, Amatrradio.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           [*] TCP/IP networking
           [*] IP: forwarding/gatewaying
           ....
           <*> IP: tunneling




  Tunnlingsenheterna heter `tunl0', `tunl1' osv.

  "Men varfr....?". Ok, ok. Konventionella regler fr IP-routing sger
  att ett IP-ntverk bestr av en ntverksadress och en ntmask. Detta
  producerar en serie kontinuerliga adresser som alla kan routas till en
  och samma utgende lina. Detta r vldigt bekvmt, men det innebr att
  man bara kan anvnda en viss IP-adress nr man r ansluten till ett
  visst ntverk som adressen tillhr.  I de flesta fall gr detta bra,
  men om man r en mobil 'nt-invnare' s kanske man inte alltid r
  ansluten till ett och samma ntverk hela tiden. IPIP inkapsling (IP-
  tunnling) gr det mjligt att slippa den restriktionen genom att lta
  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-ntverk ett tag s kan man
  stlla in en maskin p sitt hemmant att ta emot ens datagram och
  sedan omdirigera dem till den adress som man anvnder temporrt.


  6.13.1.  En tunnlad ntverkskonfiguration.

  Som alltid, s tycker jag att en figur fungerar bttre n en massa
  frvirrande text, s hr 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 mjlig anledning till IPIP-inkapsling,
  ett virtuellt privat ntverk. Detta exempel frutstter att man har
  tv maskiner som bda har en enkel uppringd anslutning till Internet.
  Bda datorerna allokeras en IP-adress. Bakom dessa maskiner finns
  ngra privata LAN konfigurerade med reserverade ntverksadresser.
  Antag att man vill lta vilken dator som helst p ntverk A
  kommunicera med vilken dator som helst p ntverk B, precis som om de
  vore anslutna till Internet med en ntverksroute.  IPIP-inkapsling
  fixar detta. Notera att inkapslingen inte lser problemet med att lta
  datorerna p ntverken A och B kommunicera med ngon annan dator p
  Internet, d behver man trix som IP-maskering. Inkapsling grs
  normalt av maskiner som upptrder 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 fr 192.168.1.0/24 inuti ett
  IPIP-inkapslat datagram med destinationsadressen aaa.bbb.ccc.ddd'.

  Notera att konfigurationen finns p bda sidor. Tunnlingsenheten
  anvnder `gw' parametern i routen som destination fr IP-datagrammet
  som kapslar in originaldatagrammet. Den maskinen mste d veta hur man
  'packar upp' ett IPIP-datagram, dvs den mste ocks ha en
  tunnlingsenhet.


  6.13.2.  En tunnlad datorkonfiguration.

  Man mste inte routa ett helt ntverk. Man skulle till exempel kunna
  routa en enskild IP-adress. I sdana fall skulle man kunna konfigurera
  tunl enheten p den 'avlgsna' maskinen med sin hemma-IP-adress och i
  A-ndan bara anvnda dator-route (och Proxy Arp) istllet fr en
  ntverksroute via tunnlingsenheten.  Lt oss rita om och modifiera vr
  konfiguration efter detta. Nu har vi bara datorn `B' som vill agera
  och uppfra sig som om den bde var ansluten till Internet och ven en
  del av ntverket som stds 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 fr Mobil IP. Dr en enskild
  dator vill flytta omkring p Internet och hela tiden anvnda samma IP-
  adress. Mer information om detta finns i sektionen om Mobil IP.


  6.14.  IPX ( AF_IPX )

  IPX-protokollet anvnds mest i LAN-omgivningar med Novell NetWare(tm).
  Linux har std fr att kunna agera som en ntverksndpunkt, eller som
  en router fr IPX.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           [*] The IPX protocol
           [ ] Full internal IPX network




  IPX-protokollet och NCPFS tcks mer detaljerat i IPX-HOWTO <IPX-
  HOWTO.html>.

  6.15.  IPv6

  Precis nr man tror att man frstr hur IP-ntverk fungerar s ndras
  reglerna!  IPv6 r en frkortning av Internet Protocol version 6. IPv6
  kan ibland ocks kallas fr IPng (IP next generation) (Sv). IPv6
  utvecklades i huvudsak fr att ta bort oron i Internetvrlden 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
  frenklingar, som kommer att gra IPv6-ntverk lttare att underhlla
  n IPv4-ntverk.

  Linux har redan en fungerande, men inte komplett, IPv6-implementation
  i version 2.1.* av krnan.

  Om man vill experimentera med nsta generations Internetteknik, eller
  om man behver den, s br man lsa 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 ntverk. En
  ISDN-`uppringning' skapar en synkron punkt till punkt frbindelse till
  destinationen. ISDN krs normalt p hghastighetslnkar som delas in i
  ett antal diskreta kanaler. Det finns tv olika typer av kanaler, `B-
  kanaler' som br anvndardatan och `D-kanaler' som anvnds fr
  kontrollinformation till ISDN-vxeln. I Australien till exempel s kan
  ISDN levereras med en 2Mbps-lnk som delas in i 30 diskreta 64kbps B-
  kanaler och en 64kbps D-kanal. Valfritt antal kanaler kan anvndas
  samtidigt i valfri kombination. Man kan till exempel upprtta 30 olika
  anslutningar p 64kbps var till 30 olika destinationer, eller s kan
  man upprtta 15 olika anslutningar p 128kbps var till 15 olika
  destinationer (med tv kanaler per anslutning), eller bara ett litet
  antal kanaler och lmna resten vilande. En kanal kan anvndas till
  bde inkommande och utgende anslutningar. Den ursprungliga avsikten
  med ISDN var att telefonbolagen ville kunna erbjuda en enda datatjnst
  som kunde ge antingen telefon- (digitalt) eller datatjnster till hem
  och kontor utan att kunden skulle behva ndra ngon konfiguration.

  Det finns ngra olika stt att ansluta en dator till en ISDN-tjnst.
  Ett stt r att anvnda enhet som heter `Terminaladapter' som ansluter
  till en `Network Terminating Unit' vilken telefonbolaget har
  installerat i samband med ISDN-tjnsten och som har ett antal seriella
  grnssnitt. Ett av de grnssnitten anvnds fr att skicka kommandon
  som upprttar en frbindelse och konfiguration och de andra r
  anslutna till ntverket som skall anvndas. Linux fungerar i denna
  omgivningen utan modifikation, man behandlar bara terminaladaptern som
  vilken annan seriell enhet som helst. Ett annat stt, vilket r s som
  krnan stder ISDN, r att installera ett ISDN-kort i Linuxburken och
  sedan lta mjukvaran i Linux hantera protokollen och upprtta
  frbindelser.

  Kompileringsalternativ fr Krnan:


       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 stder ett antal olika interna ISDN-
  kort.  Dessa finns listade i konfigurationen fr krnan:

    ICN 2B and 4B

    Octal PCBIT-D

    Teles ISDN-cards and compatibles

     Ngra av dessa kort krver att man laddar hem srskild programvara
     fr att de skall fungera. Det finns ett separat verktyg att gra
     detta med.

  Alla detaljer om hur man konfigurerar ISDN fr Linux finns
  tillgngligt i katalogen /usr/src/linux/Documentation/isdn/ och en FAQ
  fr isdn4linux finns p www.lrz-muenchen.de <http://www.lrz-
  muenchen.de/~ui161ab/www/isdn/>.

  En anmrkning om PPP. PPP-protokollen fungerar antingen fr asynkrona
  eller synkrona seriella linor. PPP-daemonen som vanligtvis levereras
  med Linux, `pppd', stder endast asynkront lge. Om man vill kra PPP-
  protokoll via ISDN s mste man anvnda en srskilt modifierad
  version. Var man hittar den finns beskrivet i dokumentationen som
  nmns ovan.


  6.17.  IP-maskering (IP Masquerade).

  Mnga har en enkel uppringd anslutning till Internet. Nstan alla som
  anvnder den typen av konfiguration allokeras en enda IP-adress av
  ISPn.  Det rcker normalt fr att en dator skall ha full tkomst till
  Internet.  IP-maskering r ett smart trix som gr det mjligt att ha
  mnga maskiner som anvnder en enda IP-adress genom att lta de andra
  datorerna se ut som, drav termen maskering, maskinen som har den
  uppringda anslutningen. Det finns dock en liten brist,
  maskeringsfunktionen fungerar nstan alltid bara i ena riktningen. Det
  betyder att de frkldda datorerna kan ansluta utt, men de kan inte
  ta emot ntverksanslutningar frn andra datorer. Detta betyder att
  vissa ntverkstjnster inte fungerar, tex talk, och andra som till
  exempel ftp mste konfigureras att kra i passivt (PASV) lge fr att
  fungera.  Lyckligtvis s fungerar de vanligaste tjnsterna som till
  exempel telnet, World Wide Web och irc utmrkt.

  Kompileringsalternativ fr Krnan:


       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 fr uppringd  SLIP eller
  PPP, precis som om det var en fristenda dator. Dessutom s skulle den
  ha en ytterligare ntverksenhet konfigurerad, kanske Ethernet som r
  konfigurerat med en reserverad ntverksadress. Datorerna som skall
  frkldas skulle d finnas p det ntverket. Var och en av de
  datorerna skulle stlla 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 behver konfigureras
  med IP-maskering, de behver 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 fr 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 tjnster
  mnade fr en annan dator till tjnsterna p denna maskinen.  Detta
  kan till exempel vara anvndbart om man har en Linuxburk som router
  och ven tillhandahller en proxy-server. D skulle man omdirigera
  alla anslutningar mnade fr en avlgsen tjnst till den lokala proxy-
  servern.

  Kompileringsalternativ fr Krnan:


       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 anvndbart fljer:


       ipfwadm -I -a accept -D 0/0 telnet -r 2323




  Detta exempel gr att alla frsk att upprtta en telnet-anslutning
  (port 23) till ngon dator kommer att omdirigeras till port 2323 p
  denna dator. Om man kr en tjnst p den porten s kan man vidarebefo
  dra telnet-anslutningar, logga dem eller gra vadhelst man nskar.

  Ett mer intressant exempel r att omdirigera all http-trafik genom en
  lokal cache. Men protokollet som anvnds av proxy-servrar r
  annorlunda n vanlig http: dr en klient ansluter till
  www.server.com:80 och frgar efter /skvg/sida/, men nr den ansluter
  till en lokal cache kontaktar den proxy.local.domain:8080 och frgar
  efter www.server.com/path/page.

  Fr att filtrera en http-frfrgan genom den lokala proxyn s behver
  man lgga till det protokollet genom att kra en liten server, som
  heter transproxy (som man hittar p www). Man kan d kra transproxy
  p port 8081 och ge fljande kommando:


       ipfwadm -I -a accept -D 0/0 80 -r 8081




  Programmet transproxy kommer d att ta emot alla anslutningar mnade
  fr externa servrar och dirigera dem till den lokala proxyn efter att
  den har fixat till protokollskillnaderna.


  6.19.  Mobil IP

  Termen IP-mobilitet beskriver frmgan att fr en dator flytta sina
  ntverksanslutningar frn en punkt p Internet till en annan utan att
  ndra sin IP-adress eller tappa anslutningen. Vanligtvis nr en IP-
  dator byter anslutningspunkt s mste den ven byta IP-adress. IP-
  mobilitet vervinner detta problem genom att allokera en fix IP-adress
  till den mobila datorn och anvnda IP-inkapsling (tunnling) med
  automatisk routing fr att se till att datagrammen som r mnade fr
  den routas till den IP-adress som den verkligen anvnder.

  Ett projekt r igng fr att ta fram ett komplett paket med verktyg
  fr IP-mobilitet i Linux. Information om projektet kan fs 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-ntverk samtidigt. Denna mekanism kan till exempel
  anvndas fr att snda broadcastmaterial, som tex video eller ljud,
  till ett stort antal datorer p Internet samtidigt utan att var och en
  av dessa datorer behver belasta ntverket med en egen `kopia' av
  materialet.

  Kompileringsalternativ fr Krnan:


  Networking options  --->
          [*] TCP/IP networking
          ....
          [*] IP: multicasting




  Man behver ven ett paket med verktyg och gra mindre
  ntverkskonfiguration.  Ett stlle att hmta information om hur man
  installerar dessa fr Linux finns p: www.teksouth.com
  <http://www.teksouth.com/linux/multicast/>.


  6.21.  NAT - versttning av ntverksadresser (Network Address Trans
  lation)

  NAT r en standardiserad storebror till Linux IP-maskering. Det finns
  en detaljerad specifikation i RFC1631. NAT tillhandahller funktioner
  som IP-maskering inte gr vilket gr det mer passande fr anvndning i
  brandvggsroutrar hos fretag och i strre installationer.

  En alpha-implementation av NAT fr Linux 2.0.29 krnan har utvecklats
  av Michael Hasenstein, Michael.Hasenstein@informatik.tu-chemnitz.de.
  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.* krnor har ocks viss NAT-funktionalitet i
  routingalgoritmen.

  6.22.  NetRom ( AF_NETROM )

  Enhetsnamn fr NetRom r `nr0', `nr1', osv.

  Kompileringsalternativ fr Krnan:


       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 anvnds av radioamatrer i hela
  vrlden i experiment med paketradio.

  Det mesta arbetet med implementationen av dessa protokoll har gjorts
  av Jonathon Naylor, jsn@cs.nott.ac.uk.


  6.23.  PLIP (Parallel Line Internet Protocol)

  Enhetsnamn fr PLIP r `plip0', `plip1 and plip2.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           <*> PLIP (parallel port) support




  PLIP, r som SLIP i den mening att det anvnds fr att skapa en punkt
  till punkt ntverksfrbindelse mellan tv maskiner. Men det skiljer
  sig genom att det r designat fr att anvnda de parallella
  skrivarportarna p datorn istllet fr de seriella (ett kabelschema
  finns lngre fram i dokumentet). Eftersom det r mjligt att verfra
  mer n en bit t gngen med en parallellport, s r det mjligt att
  uppn hgre hastigheter med PLIP-grnssnittet n vad man gr med
  seriell enhet. Dessutom kan ven den enklaste av alla parallellportar,
  skrivarporten, anvndas i stllet fr att man skall behva kpa
  jmfrelsevis dyra 16550AFN UARTs till de seriella portarna. PLIP
  anvnder dock mycket CPU-tid jmfrt med en seriell lnk och r
  naturligtvis inget bra val om man kan f tag p ngra billiga
  Ethernet-kort, men det fungerar om inget annat finns tillgngligt och
  det fungerar dessutom ganska bra. Man kan frvnta sig en
  verfringshastighet p ungefr 20 kB/s nr en lnk fungerar bra.

  PLIP-drivrutinerna slss med parallell-drivrutinen om hrdvaran. Om
  man vill anvnda bda drivrutinerna s skall man kompilera bda som
  moduler s kan man vlja vilken port man skall anvnda fr PLIP och
  vilka portar man skall anvnda fr skrivardrivrutinen. Se Modules-
  HOWTO <Modules-HOWTO.html> fr mer information om hur man konfigurerar
  moduler till krnan.

  Notera att vissa brbara datorer anvnder chipsets som inte fungerar
  med PLIP drfr att de inte tillter vissa kombinationer av signaler
  som PLIP behver, som skrivare inte anvnder.

  Linux PLIP-grnssnitt r kompatibelt med Crynwyr Packet Driver PLIP
  vilket betyder att man kan ansluta sin Linuxburk till en DOS-maskin
  som kr en annan typ av TCP/IP via PLIP.

  I 2.0.* krnor r PLIP-enheterna mappade mot I/O-port och IRQ som
  fljer:



       device  i/o     IRQ
       ------  -----   ---
       plip0   0x3bc   5
       plip1   0x378   7
       plip2   0x278   2




  Om man inte har parallellportar som stmmer verens med ngon av
  ovanstende kombinationer s kan man ndra en ports IRQ med kommandot
  ifconfig och parametern `irq'. Man mste d sl p IRQ p skrivarpor
  tarna i sitt ROM BIOS (om det stder det).

  I senare 2.1.* krnor med Plug'n'Play std s allokeras PLIP-enheterna
  sekvensiellt nr de hittas precis som Ethernet-enheterna.

  Nr man kompilerar krnan r det en fil som man kanske behver titta i
  fr att konfigurera PLIP. Filen r /usr/src/linux/driver/net/CONFIG
  och den innehller PLIP timrar i millisekunder. De frvalda r
  antagligen ok i de flesta fall. Man mste antagligen ka p dem om man
  har en srskilt lngsam dator, d man faktiskt skall ka timrarna p
  den andra datorn. Det finns ett program plipconfig med vilket man kan
  ndra dessa timerinstllningar utan att kompilera om krnan. Det
  kommandot fljer med i mnga Linuxdistributioner.

  Fr att konfigurera ett PLIP-grnssnitt s mste man lgga till
  fljande rader i sin rc-fil fr ntverket:


       #
       # 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




  Dr:

     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 fr SLIP, den
  specificerar adressen p maskinen i andra nden av lnken.

  I nstan alla fall kan man behandla PLIP-grnssnittet som om det var
  ett SLIP-grnssnitt, frutom att varken dip eller slattach behver,
  eller kan anvndas.

  Mer information om PLIP kan hittas i: PLIP-mini-HOWTO <mini/PLIP>



  6.24.  PPP (Point to Point Protocol)

  Enhetsnamn fr PPP r `ppp0', `ppp1, osv. Enheter numreras
  sekvensiellt och den frsta enheten som konfigureras fr `ppp0'.

  Kompileringsalternativ fr Krnan:


       Networking options  --->
           <*> PPP (point-to-point) support




  Detaljer om PPP-konfiguration finns i PPP-HOWTO <PPP-HOWTO.html>.


  6.24.1.  Att vidhlla en permanent anslutning till ntet med pppd .

  Om man har en semi-permanent anslutning till ntet och vill att ens
  maskin automatiskt skall teruppta PPP-anslutningen om den bryts s
  finns det ett enkelt trix som gr detta:

  Konfigurera PPP s att det kan startas genom att root-anvndaren ger
  kommandot:


       # pppd




  Se till att `-detach' parametern finns konfigurerad i filen
  /etc/ppp/options. Sedan skall fljande rader lggas in i filen
  /etc/inittab, tillsammans med getty-definitionerna:
       pd:23:respawn:/usr/sbin/pppd




  Detta gr s att programmet init hller koll p pppd och automatiskt
  startar om det ifall det dr.


  6.25.  Rose protokollet ( AF_ROSE )

  Enhetsnamn fr Rose r `rs0', `rs1', osv. i 2.1.* krnor.  Rose finns
  endast i 2.1.* krnor.

  Kompileringsalternativ fr Krnan:


       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 anvnds av radioamatrer i hela
  vrlden i experiment med paketradio.

  Det mesta arbetet med implementationen av dessa protokoll har gjorts
  av Jonathon Naylor, jsn@cs.nott.ac.uk.


  6.26.  SAMBA (std fr `NetBEUI', `NetBios').

  SAMBA r en implementation av protokollet `Session Management Block'.
  Med SAMBA kan system frn bland annat Microsoft anvnda 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 fr SLIP r `sl0', `sl1' osv. Enheter numreras sekvensiellt
  och den frsta enheten som konfigureras fr `sl0'.

  Kompileringsalternativ fr Krnan:


       Network device support  --->
           [*] Network device support
           <*> SLIP (serial line) support
           [ ]  CSLIP compressed headers
           [ ]  Keepalive and linefill
           [ ]  Six bit SLIP encapsulation




  Med SLIP kan man anvnda TCP/IP ver en seriell lina, som kan vara en
  telefonledning och modem, eller en hyrd ledning av ngot slag. Fr att
  kunna anvnda SLIP behver man ha tillgng till en SLIP-server i sitt
  nromrde. Mnga universitet och fretag i hela vrlden
  tillhandahller SLIP-tkomst.

  SLIP anvnder de seriella portarna p datorn fr att bra IP-datagram.
  Fr att gra detta mste det ha kontroll ver de seriella enheterna.
  SLIP-enheter benmns med sl0, sl1 osv. Hur motsvarar detta de seriella
  enheterna?  Ntverkskoden anvnder vad som heter ett ioctl-anrop (i/o
  control) fr att ndra de seriella enheterna till SLIP-enheter. Det
  finns tv program som kan gra detta, de heter dip och slattach.


  6.27.1.  dip (Dialup IP)

  dip r ett smart program som kan stlla in hastigheten p den seriella
  enheten, kommendera modemet att ringa upp den andra ndan av lnken,
  automatiskt logga in p servern, ska efter meddelanden som man fr
  frn servern och ta fram information frn dem som tex IP-adress och
  dessutom kan programmet utfra ioctl-kommandot som behvs fr att
  stta den seriella porten i SLIP-lge. dip har ett kraftfullt
  scriptsprk i vilket man kan automatisera sitt inloggningsfrfarande.

  Programmet finns p: sunsite.unc.edu
  <ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/dip/dip337o-
  uri.tgz>.

  Fr att installera det, frsk med fljande:


       #
       # 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 vldigt enkelt program som r
  vldigt enkelt att anvnda, men det r inte s sofistikerat som dip.
  Det har inte ngot scriptsprk och allt det gr r att konfigurera den
  seriella enheten som en SLIP-enhet. Det antar att man har all
  information man behver och att den seriella lnken r upprttad nr
  man kr programmet. slattach r idealiskt att anvnda om man har en
  permanent frbindelse till en server, till exempel en fysisk kabel
  eller en hyrd ledning.


  6.27.3.  Nr anvnder man vilket?

  Man skulle anvnda dip om man har en uppringd frbindelse, eller ngon
  annan temporr frbindelse, till sin SLIP-server. Man skulle anvnda
  slattach om man har en hyrd ledning mellan sin maskin och SLIP-servern
  och nr man inte behver gra ngot srskilt fr att frbindelsen
  skall fungera.  Se avsnittet `Permanent SLIP-anslutning' fr mer
  information.

  Att konfigurera SLIP r ungefr som att konfigurera ett Ethernet-
  grnssnitt ( Ls avsnittet `Att konfigurera en Ethernet-enhet' ovan).
  Det finns dock vissa viktiga skillnader.

  Frst och frmst s r SLIP-lnkar olika Ethernet-ntverk i den
  meningen att det alltid endast finns tv datorer p ntverket, en i
  varje nda av lnken.  Till skillnad frn Ethernet, som r
  tillgngligt s fort man r inkopplad, s mste man kanske, beroende
  p typen av lnk, initialisera anslutningen p ngot speciellt stt.

  Om man anvnder dip s gr man det normalt inte vid systemstarten,
  utan senare nr man r redo att anvnda lnken. Det r mjligt att
  automatisera den processen. Om man anvnder slattach s vill man
  antagligen lgga till ngra 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. Nstan alla SLIP-servrar presenterar en
  prompt dr man skall logga in med anvndarnamn och lsenord. dip kan
  logga in automatiskt.


  6.27.4.  Statisk SLIP-server med uppringd frbindelse och dip

  En statisk SLIP-server r en server i vilken man har ftt en IP-adress
  som r ens egen. Varje gng man ansluter till servern s konfigurerar
  man sin SLIP-port med den adressen. Den statiska SLIP-servern kommer
  att svara p modemuppringningen, eventuellt frga efter anvndarnamn
  och lsenord, och sedan routa alla datagram mnade fr ens IP-adress
  genom den anslutningen. Om man har en statisk server, s kanske man
  vill lgga in rader med sitt datornamn och sin IP-adress (eftersom man
  vet vad den kommer att vara) i sin fil /etc/hosts/. Man br ocks
  konfigurera lite andra filer, ssom rc.inet2, host.conf, resolv.conf,
  /etc/HOSTNAME och rc.local. Kom ihg att nr man konfigurerar rc.inet1
  s behver man inte lgga till ngra srskilda kommandon fr SLIP
  eftersom dip skter om allt som behver gras dr. Man behver dock ge
  dip all ndvndig information s att det kan konfigurera grnssnittet
  efter det att det har upprttat frbindelsen och loggat in p SLIP-
  servern.

  Om det r shr ens SLIP-server fungerar s kan man g vidare till
  avsnittet `Att anvnda dip' fr att f reda p hur man konfigurerar
  dip.


  6.27.5.  Dynamisk SLIP-server med uppringd frbindelse och dip .

  En dynamisk SLIP-server r en server dr man slumpvis allokeras en IP-
  adress, frn en pool med adresser, varje gng man loggar p. Detta
  betyder att det inte finns ngon garanti fr att man har en viss
  adress varje gng och att adressen kan anvndas av ngon annan efter
  det att man har loggat av.  Administratren fr SLIP-servern har
  angett en mngd IP-adresser dr servern vljer den frsta lediga nr
  den fr en ny anslutning varefter den guidar anvndaren igenom
  loginprocessen och sedan skriver ett vlkomstmeddelande som innehller
  IP-adressen som sedan anvnds under resten av anslutningen.

  Konfigurationen fr denna typ av server liknar den fr en statisk
  server frutom att man mste lgga till ett steg dr man tar emot IP-
  adressen som servern har allokerat och konfigurera SLIP-enheten med
  den.

  terigen s gr dip det hrda jobbet och nyare versioner r
  tillrckligt smarta fr 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 shr ens SLIP-server fungerar s kan man g vidare till
  avsnittet `Att anvnda dip' fr att f reda p hur man konfigurerar
  dip.


  6.27.6.  Att anvnda dip .

  Som nmnts tidigare s r dip ett kraftfullt program som kan frenkla
  och automatisera processen dr man ringer upp SLIP-servern, loggar in,
  aktivera anslutningen och konfigurera SLIP-enheter med lmpliga
  ifconfig och route kommandon.

  Fr att anvnda dip s skall man skriva ett `dip script', som formellt
  r en lista av kommandon som dip frstr och som talar om fr dip hur
  det skall utfra varje sak som man vill att det skall utfra. Se
  sample.dip fr att f en aning om hur det fungerar. dip r ett ganska
  kraftfullt program med mnga alternativ. Istllet fr att g in p
  alla hr s r det lmpligt att titta p manualbladet, README- och
  exempelfiler fr dip.

  Exempelfilen sample.dip frutstter att man anvnder en statisk SLIP-
  server, dr man vet sin IP-adress i frvg. Fr dynamiska SLIP-servrar
  s har nyare versioner av dip ett kommando som automatiskt lser och
  konfigurerar SLIP-enheten med IP-adressen som man allokeras. Fljande
  exempel r en modifierad version av sample.dip som kom med dip337j-
  uri.tgz och kan vara en bra utgngspunkt. 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, <waltje@uWalt.NL.Mugnet.ORG>
  #

  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




  Ovanstende exempel frutstter att man kontaktar en dynamisk SLIP-
  server, om man kontaktar en statisk server s br sample.dip som
  fljer med dip337-uri.tgz fungera bra.

  Dr dip fr kommandot get $local s sker det igenom den inkommande
  texten efter en textstrng som ser ut som en IP-adress, dvs tal som r
  separerade med '.'-tecken. Denna modifiering gjordes speciellt fr att
  fungera med dynamiska SLIP-servrar, s att processen att lsa in IP-
  adressen frn servern skulle bli automatiserad.

  Ovanstende exempel skapar automatiskt en `default route' via SLIP-
  lnken, 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 frn scriptet.

  Om man, d scriptet krt frdigt, ger kommandot ifconfig s ser man
  att det finns en enhet sl0. Detta r SLIP-enheten. Om s behvs s kan
  man modifiera dess konfiguration manuellt efter det att dip har krt
  frdigt, genom att anvnda kommandona ifconfig och route.

  Notera att med dip kan man vlja ett antal olika protokoll att anvnda
  med mode-kommandot, det vanligaste r cSLIP fr SLIP med kompression.
  Notera att bda ndar av lnken mste komma verens, s man mste
  vlja det som ens server r instllt p.

  Ovanstende exempel r hyfsat stabilt och skall klara av de flesta
  felen. Titta annars i manualbladet fr dip fr mer information.
  Naturligtvis s kan man skriva scriptet s att det till exempel
  frsker ringa upp servern igen om det inte lyckas f en anslutning
  inom en given tid, eller till och med frska med en serie olika
  servrar om man har tillgng 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 ngon annan permanent seriell anslutning
  mellan sin maskin och en annan, s behver man inte besvra sig med
  att anvnda dip fr att stta upp en seriell lnk. slattach r ett
  vldigt enkelt verktyg att anvnda som har precis tillrckligt med
  funktionalitet fr att konfigurera en anslutning.

  Eftersom anslutningen r permanent s vill man lgga till ngra
  kommandon i sin rc.inet1-fil. Det enda man egentligen behver gra fr
  en permanent anslutning r att konfigurera den seriella enheten till
  korrekt hastighet och stlla in den i SLIP-lge. Med slattach kan man
  gra detta i ett enda kommando. Man lgger till fljande 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.




  Dr:

     IPA.IPA.IPA.IPA
        representerar IP-adressen.


     IPR.IPR.IPR.IPR
        representerar the IP-adressen i andra ndan.

  slattach allokerar den frsta icke allokerade SLIP-enheten till den
  specificerade seriella enheten. slattach brjar brjar med sl0. Drfr
  s parar slattach ihop sl0 med den specifierade seriella enheten och
  drefter sl1 osv.

  Med slattach kan man konfigurera ett antal olika protokoll med
  parametern -p.  Vanligtvis s anvnder man SLIP eller cSLIP beroende
  p om man vill ha kompression eller inte, men bda sidor mste vara
  verens.


  6.28.  SLIP (Serial Line Internet Protocol) server.

  Om man har en maskin, som kanske r ntverksansluten, som man vill att
  andra skall kunna ansluta till och anvnda ntverkstjnster, s skall
  man konfigurera sin maskin som en server. Om man vill anvnda SLIP som
  protokoll s har man fr nrvarande tre valmjligheter fr hur man
  skall konfigurera Linuxboxen som en SLIP-server. Mitt rd skulle vara
  att anvnda det som presenteras frst , sliplogin, eftersom det verkar
  vara det enklaste att konfigurera och frst, 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 anvnda istllet fr det normala
  login-shellet fr SLIP-anvndare som konverterar terminallinjen till
  en SLIP-lnk. Man kan med sliplogin konfigurera sin Linuxbox som
  antingen en statisk adressserver, anvndare fr samma IP-adress varje
  gng de ansluter, eller som en dynamisk adresserver dr anvndare inte
  ndvndigtvis fr samma IP-adress varje gng de ansluter.

  De som ansluter kommer att logga in p vanligt vis med anvndarnamn
  och lsenord, men istllet fr att f ett shell efter de loggat in s
  exekveras sliplogin, som sker i sin konfigurationsfil
  (/etc/slip.hosts) efter en rad med ett loginnamn som motsvarar det som
  anvnts vid inloggningen. Om detta hittas s konfigurerar sliplogin
  linjen som en ren 8 bitars lnk och anvnder ioctl fr att konvertera
  lnken till en SLIP-lnk. Sedan terstr ett steg dr sliplogin kr
  ett shellscript som konfigurerar SLIP-grnssnittet med relevant IP-
  adress, ntmask och routing. Scriptet heter normalt /etc/slip.login,
  men p liknande stt som fr getty om man har srskilda anvndare som
  behver speciell initiering, s kan man skapa script som heter
  /etc/slip.login.loginname som krs istllet fr det allmnna.

  Det finns antingen tre eller fyra filer att konfigurera fr att
  sliplogin skall fungera. Jag skall i detalj g igenom hur man fr tag
  p programvara och hur man konfigurerar detta. Filerna r:


    /etc/passwd, fr anvndarkonton.


    /etc/slip.hosts, fr att innehlla information som r unik fr
     varje anvndare.


    /etc/slip.login, vilken tar hand om konfiguration av routing.


    /etc/slip.tty, vilken endast behvs om man skall konfigurera en
     server som skall anvnda dynamisk adressallokering och innehller
     en tabell med adresser att allokera.


    /etc/slip.logout, vilken innehller kommandon fr att stda upp
     efter det att en anvndare har lagt p eller loggat ut.


  6.28.1.1.  Var man fr tag p sliplogin .

  Vissa kanske redan har sliplogin-paketet installerat som en del av sin
  distribution, om inte s kan sliplogin hmtas ifrn: sunsite.unc.edu
  <ftp://sunsite.unc.edu/pub/linux/system/Network/serial/sliplogin-2.1.1.tar.gz>.
  Tar-filen innehller bde kllkod, kompilerade krbara filer och
  manualblad.

  Fr att se till att bara auktoriserade anvndare skall kunna kra
  sliplogin, s br man lgga till en rad i filen /etc/group, ungefr
  som fljande:



        ..
       slip::13:radio,fred
        ..



  Nr man installerar sliplogin-paketet s kommer Makefile att ndra
  gargruppen fr kommandot sliplogin till slip, och det betyder att
  endast anvndare som tillhr den gruppen kan kra programmet. I
  exemplet ovan kan endast radio och fred kra sliplogin.

  Fr att installera binrfilerna i katalogen /sbin gr man fljande:



       # 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 binrfilerna innan man installerar s skall
  man gra make clean innan man kr make install. Om man vill installera
  filerna i ngon annan katalog s fr man ndra i filen Makefile under
  regeln install.

  Ls filen README som fljer med paketet fr mer information.


  6.28.1.2.  Att konfigurera /etc/passwd  fr SLIP.

  Normalt skulle man skapa srskilda login fr SLIP-anvndare i filen
  /etc/passwd. En konvention som ofta fljs r att anvnda hostname fr
  den anslutande datorn med ett stort `S' i brjan. S, till exempel, om
  den anslutande datorn heter radio s kan man lgga en rad i
  /etc/passwd som ser ut shr:



       Sradio:FvKurok73:1427:1:radio SLIP login:/tmp:/sbin/sliplogin




  Men det spelar egentligen ingen roll vad kontot heter, bara det
  betyder ngot fr administratren av SLIP-servern.

  Notera att anvndarna inte behver en srskild hemkatalog, efter som
  de inte kommer att f ngot shell frn denna maskinen. Drfr duger
  /tmp gott.  Notera ven att sliplogin anvnds istllet fr ett normalt
  shell.


  6.28.1.3.  Att konfigurera /etc/slip.hosts

  Filen /etc/slip.hosts r filen som sliplogin sker igenom efter rader
  som stmmer verens med loginnamnet fr att f tag p
  konfigurationsdetaljer fr denna anvndare. Det r filen dr man
  specificerar IP-adressen och ntmasken som kommer att tilldelas
  anvndaren. Exempelrader fr tv datorer, en statisk konfiguration fr
  radio och en annan, dynamisk konfiguration fr albert kan se ut shr:



       #
       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 fr anvndaren.

  2. IP-adress fr servermaskinen (dvs denna dator)

  3. IP-adress som anvndaren blir tilldelad. Om detta flt innehller
     DYNAMIC s kommer IP-adressen att allokeras baserad p
     informationen som finns i filen /etc/slip.tty. Notera: man mste ha
     tminstone version 1.3 av sliplogin fr att detta skall fungera.

  4. ntmasken som tilldelas den anslutande maskinen.

  5. SLIP-lge dr man kan stta p/stnga av kompression och andra
     funktioner. Tilltna vrden r normal eller compressed.

  6. en timeoutparameter som specificerar hur lng tid lnken kan vara
     oanvnd innan den automatiskt avbryts. Ett negativt vrde stnger
     av funktionen.

  7. valfria argument.

  Notera att man kan anvnda antingen datornamn eller IP-adresser fr
  flt 2 och 3. Om man anvnder datornamn s mste dessa kunna
  versttas, dvs maskinen mste mste kunna hitta en IP-adress som
  stmmer verens med datornamnet annars kommer scripet att fallera nr
  det krs. Man kan testa detta genom att frska ppna en telnet-
  anslutning till datornamnet, om man fr meddelandet `Trying
  nnn.nnn.nnn...' s kan maskinen hitta en IP-adress. Fr man dremot
  meddelandet `Unknown host' s kan den inte hitta ngon IP-adress.  Om
  inte s anvnder man IP-adresser eller fixar till konfigurationen av
  sin namnversttare (se avsnitt `Att konfigurera din Name Resolver').

  De vanligaste SLIP-lgena r:

     normal
        att sl p normal SLIP utan kompression.


     compression
        att sl p van Jacobsen header compression (cSLIP)

  Man kan endast anvnda en t gngen. Fr mer information om de andra
  valmjligheterna som finns, se manualbladen.


  6.28.1.4.  Att konfigurera /etc/slip.login .

  Nr sliplogin har hittat en passande rad i /etc/slip.hosts s kommer
  programmet att frska exekvera filen /etc/slip.login fr att
  konfigurera SLIP-grnssnittet med dess IP-adress och ntmask.

  Exemplet p en /etc/slip.login som fljer med sliplogin-paketet ser ut
  s hr:












  #!/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 anvnder helt enkelt kommandona ifconfig och route fr att
  konfigurera SLIP-enheten med dess IP-adress, avlgsen IP-adress och
  ntmask och sedan skapa en route till den avlgsna adressen via SLIP-
  enheten. Precis som om man anvnde kommandot slattach.

  Notera ocks anvndandet av Proxy ARP fr att se till att andra
  datorer p samma Ethernet som servern kommer att n den anslutna
  datorn. Fltet <hw_addr> skall vara hrdvaruadressen p Ethernet-
  kortet i maskinen. Om servern inte r ansluten till ett Ethernet-
  ntverk kan man helt utelmna denna rad.


  6.28.1.5.  Att konfigurera /etc/slip.logout .

  Nr anslutningen avslutas, s vill man se till att den seriella
  enheten terstlls till sitt normala tillstnd s att framtida
  anslutningar kan logga in ordentligt. Detta uppns genom med hjlp av
  filen /etc/slip.logout.  Dess format r ganska enkelt och anvnds med
  samma argument som filen /etc/slip.login.



       #!/bin/sh -
       #
       #               slip.logout
       #
       /sbin/ifconfig $1 down
       arp -d $6
       exit 0
       #




  Allt den gr r `ta ner' grnssnittet vilket kommer att ta bort routen
  som skapades tidigare. Den anvnder ocks kommandot arp fr att ta
  bort eventuella Proxy ARPs som har skapats, terigen, man behver inte
  kommandot arp ifall servern inte r ansluten till ett Ethernet-
  ntverk.


  6.28.1.6.  Att konfigurera /etc/slip.tty .

  Om man anvnder dynamisk IP-adressallokering (har ngon rad
  konfigurerad med DYNAMIC i /etc/slip.hosts) s mste man konfigurera
  filen /etc/slip.tty fr att lista vilka adresser som tilldelas vilken
  port.  Man behver endast denna fil om man vill att servern dynamiskt
  skall ge adresser till anvndare. Formatet r fljande:
       # 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 sger r att anvndare som ansluter till porten
  /dev/ttyS0 och som har sitt adressflt i filen /etc/slip.hosts satt
  till DYNAMIC kommer att tilldelas adressen 192.168.0.100.

  P detta sttet behver man endast allokera en adress per port frutom
  fr de anvndare som behver en egen adress. Detta hjlper till att
  hlla nere antalet adresser man behver till ett minimum och undviker
  slsande.


  6.28.2.  Slip Server med dip .

  Lt mig brja med att sga att lite av informationen nedan kom ifrn
  manualbladet fr dip, dr det kortfattat beskrivs hur man kr Linux
  som en SLIP-server. Var ocks uppmrksam p att det som fljer r
  baserat p paketet dip337o-uri.tgz och antagligen inte gller fr
  andra versioner av dip.

  dip har ett lge nr det automatiskt letar upp en rad fr den
  anvndaren som krde programmet och konfigurerar den seriella linjen
  som en SLIP-lnk baserat p informationen som den hittar i filen
  /etc/diphosts. Detta lge aktiveras genom att kra dip som diplogin.
  Detta r drfr sttet p vilket man anvnder dip som en SLIP-server,
  genom att skapa srskilda konton dr diplogin anvnds som login-shell.
  Det frsta som skall gras r att gra en symbolisk lnk som fljer:



       # ln -sf /usr/sbin/dip /usr/sbin/diplogin




  Sedan behver man lgga till rader i filerna /etc/passwd och
  /etc/diphosts. Raderna r formaterade som fljer:

  Fr att konfigurera Linux som en SLIP-server med dip behver man skapa
  ngra srskilda SLIP-konton fr anvndare, dr dip anvnds som login-
  shell. En freslagen konvention r att lta alla SLIP-konton brja med
  ett stort `S', tex `Sfredm'.

  Ett exempel p en rad fr en SLIP-anvndare i /etc/passwd ser ut s
  hr:



       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

  Nr anvndaren har loggat in s utfr programmet login, om det hittar
  och verifierar anvndaren ok, kommandot diplogin. dip, nr det krs
  som diplogin, vet automatiskt att det skall anvndas som ett login-
  shell. Nr det startas som diplogin s r det frsta programmet gr
  att anvnda funktionsanropet getuid() fr att f anvndarid fr den
  som krde programmet. Det letar sedan i filen /etc/diphosts efter den
  frsta raden som passar in p det anvndaridt eller namnet p den tty-
  enhet som anslutningen kom frn och konfigurerar sig sjlv drefter.
  Genom att vlja om en anvndare skall f en rad i filen /etc/diphosts
  eller om anvndaren skall ges den generella konfigurationen s kan man
  bygga sin server p s stt att man kan ha en blandning av statiskt
  och dynamiskt tilldelade adresser fr anvndarna.  dip kommer
  automatiskt att lgga till en Proxy ARP s detta behver man inte bry
  sig om att gra manuellt.


  6.28.2.1.  Att konfigurera /etc/diphosts

  Filen /etc/diphosts anvnds av dip fr att hitta konfigurationer fr
  avlgsna datorer. Dessa avlgsna datorer kan vara anvndare som ringer
  in till en Linuxbox eller de kan vara datorer som man ringer till
  ifrn Linuxboxen.

  Det generella formatet p /etc/diphosts r som fljer:



        ..
       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
        ..




  Flten r:

  1. login name: som returnerat av getpwuid(getuid()) eller tty namn.

  2. oanvnd: kompatibilitet med /etc/passwd

  3. Remote Address: IP-adress fr den anslutande datorn, antingen
     numeriskt eller med namn

  4. Local Address: IP-adress fr denna dator, numeriskt eller med namn

  5. Netmask: i punkterad decimal notation

  6. Comment field: skriv vad du vill hr.

  7. protocol: Slip, CSlip osv.

  8. MTU: decimalt tal

  Ett exempel p en rad i /etc/net/diphosts fr en SLIP-anvndare kan
  vara:



       Sfredm::145.71.34.1:145.71.34.2:255.255.255.0:SLIP uwalt:SLIP,296




  som specificerar en SLIP-lnk med en avlgsen 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-lnk med avlgsen adress 145.71.34.1 och MTU
  p 1006.

  Drfr s skall alla anvndare som man vill tillta en statiskt
  allokerad adress ha en rad i /etc/diphosts. Om man vill att anvndare
  som ansluter till en viss port skall f en dynamisk allokerad adress
  s mste man ha en rad fr tty-enheten och ingen rad fr anvndaren.
  Man skall komma ihg att konfigurera tminstonde en rad fr varje tty-
  enhet som anvnds fr SLIP s att det skert finns en passande
  konfiguration oavsett vilket modem de ringer in p.

  Nr anvndare loggar in fr de en normal login och password prompt vid
  vilken de skall skriva in sitt SLIP-login och password. Om dessa
  verifieras ok s kommer anvndaren inte se ngra srskilda meddelanden
  och anvndarna skall endast byta till SLIP-lge p sin sida.
  Anvndaren br ha mjlighet att ansluta ok och bli konfigurerad med
  relevanta parametrar frn filen diphosts.


  6.28.3.  SLIP server med paketet dSLIP

  Matt Dillon <dillon@apollo.west.oic.com> 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. Fr detta mste man ha tcsh eftersom tminstone ett av
  scripten krver detta. Matt tillhandahller en binr kopia av
  verktyget expect eftersom ven det behvs av en del av scripten. Man
  behver antagligen ha lite erfarenhet med kommandot expect fr att
  lyckas lnka in ok, men lt inte detta avskrcka.

  Matt har skrivit bra med installationsinstruktioner i README-filen s
  jag tnker inte upprepa dem.

  Man kan hmta dSLIP frn dess hemsida p:

  apollo.west.oic.com


       /pub/linux/dillon_src/dSLIP203.tgz




  eller frn:

  sunsite.unc.edu


       /pub/Linux/system/Network/serial/dSLIP203.tgz




  Ls filen README och skapa raderna i /etc/passwd och /etc/group innan
  make install.


  6.29.  STRIP (Starmode Radio IP)

  Kompileringsalternativ fr Krnan:

  Network device support  --->
          [*] Network device support
          ....
          [*] Radio network interfaces
          < > STRIP (Metricom starmode radio IP)




  STRIP r ett protokoll som designats speciellt fr en typ av Metricom
  radiomodem fr ett forskningsprojekt p Stanford University som heter
  MosquitoNet Project <http://mosquitonet.Stan
  ford.EDU/mosquitonet.html>.  Det finns mycket intressant att lsa dr,
  ven om man inte r direkt intresserad av projektet.

  Metricom radiorna kopplas till en seriell port, anvnder mnga olika
  tekniker och klarar av en verfringshastighet p ungefr 100kbps.
  Information om Metricom radior kan fs p: Metricom Web Server
  <http://www.metricom.com/>.

  Fr nrvarande s stds inte STRIP av standardverktygen fr ntverk,
  s man mste ladda hem ngra specialdesignade verktyg frn
  MosquitoNets WWW-server.  Detaljer om vad man behver finns p:
  MosquitoNet STRIP Page <http://mosquitonet.Stanford.EDU/strip.html>.

  En sammanfattning av konfigurationen r att man anvnder ett
  modifierat slattach program fr att stlla in den seriella enheten i
  STRIP-lge och sedan konfigurera den resulterande `st[0-9]'-enheten
  som om det var en Ethernet-enhet, men med en viktig skillnad. Av
  tekniska skl s stder inte STRIP ARP-protokollet, s man mste
  konfigurera ARP-raderna fr var och en av datorerna p sitt subnt
  manuellt.


  6.30.  Token Ring

  Enhetsnamn fr Token Ring r `tr0', `tr1' osv. Token Ring r ett
  standardiserat LAN-protokoll frn IBM som undviker kollisioner med en
  mekanism som endast tillter en station p LANet att snda t gngen.
  En `token' innehas av en station t gngen och stationen som har
  `token' fr lov att snda. Nr den har snt sin data s skickar den
  `token' vidare till nsta station. Token gr runt mellan alla aktiva
  stationer, drav namnet `Token Ring'.

  Kompileringsalternativ fr Krnan:


       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 grs med
  Ethernet frutom att man anvnder andra enhetsnamn.


  6.31.  X.25

  X.25 r ett paketswitchat protokoll som definieras av C.C.I.T.T. (en
  standardiseringsorganisation som erknns av de flesta telebolag i
  vrlden). En implementation av X.25 och LAPB hller p att utvecklas
  och de senaste 2.1.* krnor inkluderar detta arbete.
  Jonathon Naylor jsn@cs.nott.ac.uk leder utvecklingen och det har
  skapats en mailinglista fr att diskutera mnen relaterade till Linux
  X.25.  Fr att prenumerera skall man skicka ett meddelande till
  majordomo@vger.rutgers.edu med texten "subscribe linux-x25" i
  meddelandekroppen.

  Tidiga versioner av konfigureringsverktygen kan hmtas frn Jonathons
  ftp-sajt p ftp.cs.nott.ac.uk <ftp://ftp.cs.nott.ac.uk/jsn/>.


  6.32.  WaveLan

  Enhetsnamn fr WaveLan r `eth0', `eth1', osv.

  Kompileringsalternativ fr Krnan:


       Network device support  --->
               [*] Network device support
               ....
               [*] Radio network interfaces
               ....
               <*> WaveLAN support




  WaveLan-kortet r ett vitt spektrum av trdlsa LAN-kort. Korten
  liknar Ethernet-kort mycket och konfigureras p ungefr samma stt.

  Mer information om WaveLan finns p Wavelan.com
  <http://www.wavelan.com/>.


  7.  Kablage

  De som r hndiga med en ldpenna kanske vill bygga egna kablar fr
  att koppla ihop Linuxburkar. Fljande figurer br vara till hjlp fr
  detta.


  7.1.  Seriell NULL-modem kabel.

  Alla NULL-modem kablar r inte likadana. Mnga NULL-modem kablar gr
  inte mer n att lura datorn att tro att alla signaler finns och byter
  snd och ta emot data pinnarna. Detta fungerar men betyder att man
  mste anvnda fldeskontroll i mjukvara (XON/XOFF) vilket inte r s
  effektivt som fldeskontroll i hrdvara. Fljande kabel har bsta
  mjliga signalering mellan datorer och tillter anvndning av
  fldeskontroll i hrdvara (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 tnker anvnda PLIP-protokollet mellan tv maskiner s fungerar
  fljande 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




  Anmrkningar:

    Anslut inte pinnarna som r markerade med en asterisk `*'.

    Extra jordning r 18,19,20,21,22,23 och 24.

    Om kabeln man anvnder har en metallskrmning, s skall den
     anslutas till metallskalet p DB-25 endast p en sida.

     Varning: en felkopplad PLIP-kabel kan frstra kontrollerkortet.
     Var frsiktig och dubbelkolla alla anslutningar.

  ven om man kan anvnda PLIP-kablar ver lnga avstnd s skall man
  undvika det om man kan. Specifikationerna fr kabeln tillter lngder
  p ungefr en meter. Var frsiktig med lnga PLIP-kablar eftersom
  kllor fr stark elektromagnetisk strlning (tex blixtar, elkablar och
  radiosndare) kan stra och till och med skada kontrollerkortet. Om
  man verkligen vill ansluta tv datorer ver lnga avstnd s br man
  titta p mjligheterna med Ethernet och anvnda tunn koaxialkabel.


  7.3.  10base2 (tunn koax) Ethernet-kabel

  10base2 r en kabelstandard fr Ethernet som specificerar en 52 ohms
  koaxialkabel med en diameter p ungefr 5 millimeter. Det finns ett
  par viktiga regler att komma ihg nr man skall koppla ihop maskiner
  med 10base2 kablar.  Det frsta r att man mste anvnda terminatorer
  i bda ndar av kabeln.  En terminator r ett 52 ohms motstnd som ser
  till att signalen absorberas, och inte reflekteras, nr den nr slutet
  av kabeln. Utan en terminator i bda ndar av kabeln s kommer man att
  mrka att ntverket r oplitligt eller inte fungerar alls. Normalt s
  anvnder man `T-korsningar' fr att koppla ihop maskinerna, s man fr
  ngot som liknar:



   |==========T=============T=============T==========T==========|
              |             |             |          |
              |             |             |          |
            -----         -----         -----      -----
            |   |         |   |         |   |      |   |
            -----         -----         -----      -----




  dr en `|' i bda ndar representerar en terminator, `======' repre
  senterar en lngd med koaxialkabel med BNC-kontakter i bda ndar och
  `T' representerar en `T-korsning'-kontakt. Man skall frska att hlla
  lngden p kabeln mellan `T-korsningen' och Ethernet-kortet s kort
  som mjligt, det bsta r om `T-korsningen' r kopplad direkt p Eth
  ernet-kortet.


  7.4.  Tvinnad tvpar Ethernet-kabel.

  Om man bara har tv Ethernet-kort med tvinnad tvpar anslutning som
  man vill koppla ihop s mste man inte ha en hub. Man kan koppla ihop
  korten direkt.  Ett diagram som visar hur man gr detta finns i
  Ethernet-HOWTO <Ethernet-HOWTO.html>.


  8.  Terminologi i detta dokument.

  Fljande r en lista med de viktigaste termerna som anvnds i detta
  dokument.

     ARP
        Detta r en frkortning av Address Resolution Protocol och det
        r hur en maskin p ett ntverk associerar en IP-adress med en
        hrdvaruadress.


     ATM
        Detta r en frkortning av Asynchronous Transfer Mode.  Ett ATM-
        ntverk packar data i block med en standardstorlek vilka det
        sedan kan skicka effektivt frn punkt till punkt. ATM r ett
        kopplingsorienterat ntverk med virtuella kretsar.


     klient
        Detta r vanligtvis mjukvaran i den ndan av systemet dr
        anvndaren finns. Det finns undantag, till exempel i X11
        fnstersystem s r det egentligen servern som finns hos
        anvndaren och klienten kr p en annan maskin. Klienten r
        programmet eller delen av systemet som anvnder en tjnst som
        tillhandahlls 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
        innehller adresser, som r en transmissionsenhet ver ett IP-
        ntverk. Detta kan ocks kallas fr `paket' i vissa sammanhang.


     DLCI
        Detta r en frkortning av Data Link Connection Identifier och
        anvnds fr att identifiera en unik virtuell punkt till punkt
        anslutning via ett Frame Relay ntverk. DLCIs delas normalt ut
        av den som tillhandahller Frame Relay ntverket.
     Frame Relay
        Frame Relay r en ntverksteknik som r anpassad fr att bra
        trafik som r av oregelbunden natur. Ntverkskostnader reduceras
        genom att flera Frame Relay kunder delar samma ntverkskapacitet
        och frvntas anvnda kapaciteten vid olika tidpunkter.


     hrdvaruadress
        Detta r ett nummer som unikt identifierar en dator i ett
        ntverk p det lnklagret. Exempel p detta r Ethernetadresser
        och AX.25-adresser.


     ISDN
        Detta r en frkortning av Integrated Services Digital Network.
        ISDN tillhandahller ett standardiserat stt p vilket telebolag
        kan erbjuda antingen data- eller rsttjnster till en kund.
        Tekniskt sett r ISDN ett datantverk med virtuella kretsar.


     ISP
        Detta r en frkortning av Internet Service Provider
        (internetleverantr). Detta r de organisationer eller fretag
        som erbjuder ntverksanslutningar till Internet.


     IP-adress
        Detta r ett nummer som unikt identifierar en TCP/IP dator p
        ett ntverk. Adressen r 4 bytes lng och representeras ofta i
        vad som heter "punkterad decimal notation", dr varje byte
        skrivs fr sig och de olika bytearna r separerade med en `.'.


     MTU
        Detta r en frkortning av Maximum Transmission Unit. MTU r en
        parameter som bestmmer den strsta datagramstorleken som kan
        verfras av ett IP-grnssnitt utan att det behver delas upp i
        flera mindre delar. MTU br vara strre n det strsta datagram
        som man vill skicka ofragmenterat.  Notera att detta bara
        hindrar lokal fragmentering, om datagrammet passerar en lnk med
        en mindre MTU s kan det fragmenteras dr. Typiska vrden fr
        MTU r 1500 bytes fr Ethernet och 576 bytes fr SLIP.


     route
        Routen (eller rutten) r den vg som datagrammen frdas genom
        ntverket fr att n sin destination.


     server
        Detta r vanligtvis den mjukvara eller del av systemet som r
        avlgset frn anvndaren. Servern erbjuder tjnster 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 fr en ISP?

  Om man r intresserad av att anvnda Linux fr ISP-syften s
  rekommenderar jag att titta p Linux ISP homepage
  <http://www.anime.net/linuxisp/> fr en bra lista med pekare till
  information som kan vara anvndbar.


  10.  Tillknnagivanden

  Jag skulle vilja tacka fljande personer fr bidrag till detta
  dokument (ingen speciell ordningsfljd): 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
  ntverksstd fr 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) ngon senare version.

  Detta program distribueras med frhoppningen att det skall vara
  anvndbart, men UTAN NGON GARANTI;se GNU General Public License fr
  fler detaljer.

  Du skall ha ftt 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.






































