next up previous contents
Vidare: Fönstersystemet X. Uppåt: Inställningar. Tillbaka: Systeminställningar.

Nätverksinställningar.

Nätverksmaskinvara.

I likhet med de flesta intressanta saker, man kan göra med en dator, fordras vid nätverksanslutning, att man använder särskild maskinvara. Man behöver ett nätverkskort (NIC) för att kunna ansluta sig till ett lokalt nätverk (LAN), kanske ett modem för att kunna ringa upp en Internet-leverantör, kanske flera av bäggedera eller ingendera.

Vad inställningarna beträffar, så kan vi indela sådan maskinvara i de två kategorierna PCMCIA (för bärbara datorer) och icke-PCMCIA. Bakgrunden till denna något skeva uppdelning är, att den färdiga linuxkärna, som medföljer Slackware, f.n. saknar stöd för PCMCIA. Detta stöd levereras i stället såsom ett särskilt paket, vilket innehåller nödvändiga drivare (i form av kärnmoduler) tillsammans med en del programvara för inställning och hantering av PCMCIA-enheter. Allt det övriga hanteras förstås av den linuxkärna, som medföljer distributionen.

Nätverksmoduler.

Drivrutinerna för sådana nätverksenheter, som kärnan understödjer, ingår i paketet netmods (slakware/n3/netmods.tgz). Om man ännu inte har installerat netmods, bör man göra det nu. Se s. gif om hur, det går till att installera programpaket.

Kärnmoduler, som skall laddas vid systemstart, laddas ifrån rc.modules i katalogen /etc/rc.d. I den medlevererade rc.modules ingår ett block med överskriften »Network device support«. Om man öppnar rc.modules och letar upp detta avsnitt, skall man lägga märke till, att där först sökes efter en körbar fil vid namn rc.netdevice i katalogen /etc/rc.d. Denna rc.netdevice skapas, om setup vid systeminstallationen lyckas avkänna nätverkskortet. Om detta gått vägen, är det förmodligen onödigt att läsa vidare här, men annars bör man fortsätta läsa.

Nedanför detta block om rc.netdevice i rc.modules, vilket börjar med »if« och slutar med »fi«, står en lista över nätverkskort på rader, som samtliga börjar med kommandot /sbin/modprobe. Där letar man upp beteckningen för det egna nätverkskortet, tar bort kommentartecknet # (karttecknet för brädgård) från radens början och sparar filen. När man därefter (såsom root) kör filen rc.modules, så laddas drivaren för nätverkskortet (tillsammans med alla andra moduler, som inte är bortkommenterade med brädgårdstecknet # i denna fil). Lägg därvid märke till, att somliga moduler (såsom NE2000-drivaren) fordrar vissa parametrar;gif det gäller att välja rätt rad med parametrar, som passar till kortet.

PCMCIA-nätverkskort.

PCMCIA-nätverkskort bör vara ännu enklare att ställa in än andra. Man skall förvissa sig om, att man har installerat stöd för pcmcia (som finns i paketet slakware/a11/pcmcia.tgz). Se s. gif i kapitel 16 om hur man installerar programpaket. När man installerar paketet pcmcia, skapas en fil vid namn rc.pcmcia i katalogen /etc/rc.d och en katalog vid namn /etc/pcmcia. Drivare för PCMCIA-kort installeras samtidigt i katalogen /lib/modules/<version>/pcmcia. Finessen med paketet pcmcia är den, att det försöker av sig själv avkänna instoppande och avlägsnande av PCMCIA-kort. Man skall bara behöva stoppa i PCMCIA-nätverkskortet och lyssna efter det pip, som ljuder, när modulerna laddas. Om man drar ut kortet, skall motsvarande moduler av sig själva avlägsnas ur minnet.

Tyvärr måste man förmodligen kompilera om pcmcia-cs, om man kompilerar om linuxkärnan, så att modulerna med PCMCIA-drivare förnyas och passar till den nya kärnan. Givetvis medföljer källkoden; denna finns i katalogen source/a/pcmcia tillsammans med tillhörande dokumentation.

Nätverkstillbehör.

ifconfig.

När nu kärnan kan »tala« med nätverksmaskinvaran, behöver även programvaran kunna meddela kärnan, att den skall skicka iväg några upplysningar, och omvänt. Vi måste därför rigga upp ett gränssnitt (interface). Då behöver vi ifconfig(8).

ifconfig lär man sig bäst genom exempel; det kan vara förnuftigt att ta en titt på befintlig rc.inet1 (som behandlas i avsnittet med rubriken rc.inet1 på s. gif) för att se, hur det användes där. Det enklaste och vanligaste fallet tar sig ut någonting i stil med detta:

# ifconfig eth0 192.168.1.10 broadcast 192.168.1.255 netmask 255.255.255.0

Denna rad öppnar eth0 (första ethernetgränssnittet; till token ring använder man tr0, till PPP använder man ppp0 o.s.v.) med IP-adressen 192.168.1.10, broadcastadressen 192.168.1.255 för allmänt anrop (till hela undernätet 192.168.1) och en nätmask på 255.255.255.0. Nätmasken anger, att de tre första talen i notationen dotted quad (fyra tal avgränsade med punkter) betecknar nätverket, medan hela återstoden, ».10«, gäller vår särskilda värddator (host). Om man inte har särskilt finurliga knep för sig, så kan man nästan alltid använda 255.255.255.0 såsom nätmask. Om man har några särskilt finurliga knep för sig, så har man förmodligen redan tillräckliga kunskaper för att inte ha särskilt mycket nytta av denna del i vår bok.

ifconfig kan även användas till att avläsa gällande inställningar. Om man kör det utan växlar (flaggor) eller parametrar, så visas en lista över samtliga nätverksgränssnitt och deras inställningar.

route.

För att veta, varthän data skall sändas, upprätthåller kärnan en routingtabell. Vi skall inte gå in på detaljer här, men man kan avläsa routingtabellen genom att köra route(8). Kommandot route -n visar en tabell med IP-adresser (siffror) i stället för namn; detta är användbart, om man har bekymmer med namntjänaren (DNS-servern) eller om man inte bryr sig om domännamnens skenvärld. Har man ett enkelt nätverk (vilket de flesta har), så för lyckligtvis 2.2-kärnorna in de nödvändiga posterna i routingtabellen, så att man inte själv behöver befatta sig med detta.

netconfig.

 

Programmet netconfig är en del av Slackwares setup-program, men liksom flertalet delar av setup, så kan det köras fristående. netconfig är mycket enkelt och går steg för steg igenom uppriggningen av en grundläggande nätverksförbindelse. Detta program är särskilt användbart, om man inte är förtrogen med rc-filerna för nätverksinställning. I netconfig hälsas man med skärmbild enligt första figuren.

 figure798
: Hälsningsbilden i netconfig.

Därefter blir man uppmanad att skriva in ett värddatornamn och ett domännamn för datorn. Man behöver förmodligen bara hitta på några lämpliga namn, såvida man inte riggar upp en server eller någon annan maskin, som många skall använda. Sedan blir man tillfrågad om, huruvida man skall använda statisk IP, DHCP eller bara loopback.

 figure804
: Sätta IP-adress på nätverksgränssnittet: statisk, dynamiskt tillordnad med DHCP eller endast loopback.

Om vi inte skall vara anslutna till något nätverk, så väljer vi loopback. Om man riggar upp en dator, som skall vara ansluten till ett universitets- eller stort kontorsnät, så bör man sannolikt välja DHCP. I annat fall väljer man statisk IP. Om vi nu inte väljer statisk IP, så är vi redan klara. Väljer vi däremot statisk IP, så skall vi nu även föra in datorns IP-adress, nätmask, broadcastadress och adress till en namntjänare (DNS-server). netconfig förklarar, hur man skall få reda på alla dessa nummer.

pppsetup.

I Slackware ingår tillbehöret pppsetup för inställning av uppringd förbindelse till en ISP (internetleverantör). Detta tillbehör ingår i programpaketet ppp.tgz i programvaruserie N. pppsetup använder samma gränssnitt som setup. Kommer man inte ihåg, hur detta gränssnitt användes, så kan man läsa om setup på s. gif. pppsetup ställer en rad frågor och skapar därefter ett antal inställningsfiler i katalogen /etc/ppp. Man kör pppsetup som root. Här skall vi gå igenom frågorna i tur och ordning.

 figure824
: Ordna uppringd internetförbindelse med pppsetup.

Telefonnummer (phone number)

Första frågan gäller telefonnumret till internetleverantören (ISP). Numera använder man tonval. Om ISP:ns telefonnummer är 0200-787878, så skriver man in atdt0200787878 i dialogrutan.

 figure831
: Ange telefonnummer till internetleverantören.

Om man har »samtal väntar« påslaget, så bör man se till att stänga av det, när man ringer upp ISP. Koden för att stänga av »samtal väntar« kan läggas in i uppringningskoden.gif Mellan koden för att stänga av »samtal väntar« och själva telefonnumret skall man sätta in ett komma för att få en paus där under uppringningen.

Modem device

Här anger man, hur modemet är anslutet. Därvid betecknar ttyS0 den första serieporten (COM1 i DOS/Windows) och ttyS1 den andra (COM2 i DOS/Windows). Om man inte vet, kan man börja med ttyS0 och prova sig fram.

 figure850
: Ange var modemet är anslutet.

Modem baud rate (Modemhastighet)

Man väljer här den porthastighet (hastighet mellan dator och modem), som ligger närmast den, modemet klarar. Har man äldre serieportar på datorn, kan man behöva välja en lägre hastighet. Vart val har flera exempel, som man kan vägledas av.

 figure855
: Ange porthastighet.

Callback

Det är få internetleverantörer, som erbjuder callback, så man kan i normalfallet välja NO. Callback innebär, att man ringer upp sin ISP, som sedan ringer tillbaka, så att man kan logga in.

 figure863
: Ringer internetleverantören tillbaka till oss?

Om man måste använda callback, väljer man YES. Sedan blir man uppmanad att skriva in sitt telefonnummer, inloggningsnamn och lösenord. Det är inte säkert, att man måste föra in inloggningsnamn och lösenord. Till sist blir man tillfrågad om, vilket slags behörighetskontroll, internetleverantören använder. Om denne använder CHAP eller PAP, väljer man YES. Man får välja endera senare. Se avsnittet om behörighetskontroll på s. gif.

Modem init string (Inledande kommando till modemet)

Här skriver man en initieringssträng till modemet. Man kan i de flesta fall godkänna förvalet »AT&FH0« genom att trycka på Retur.gif Se för övrigt den dokumentation, som medlevererats modemet.

 figure878
: Initieringssträng för modemet.

Domain name (Domännamn)

Nu skall man skriva in internetleverantörens domännamn. Detta brukar vara någonting i stil med »exempel.net«, »slackware.com« eller liknande. Nå, »slackware.com« är det bestämt icke. :)

 figure890
: Internetleverantörens domännamn.

DNS IP address (IP-adress till namntjänare)

Här skriver man in IP-adressen till internetleverantörens namnserver. Denna uppgift får man ifrån sin ISP.

 figure895
: Internetleverantörens IP-adress för DNS.

Authentication method (Behörighet)
 

Här skall man ange, vilken sorts behörighetskontroll, internetleverantören använder.gif Det enklaste sättet kan vara, att fråga internetleverantören. Annars får man prova sig fram. Om man emellertid ställes inför inloggnings- och lösenordsprompter, när man ringer upp, så bör man sannolikt välja »SCRIPT«.

 figure905
: PAP eller CHAP.

PAP eller CHAP

Om man har valt »PAP« eller »CHAP«, så blir man uppmanad att skriva in ett användarnamn. Man har fått ett användarnamn av internetleverantören. Annars är något misstag begånget, och man får begära ett användarnamn av sin ISP.

Därefter skriver man in det lösenord, som hör ihop med det användarnamn, man har hos internetleverantören.

Chat script (Uppringningsskript)

Om man har valt »SCRIPT«, så blir man förelagd en rätt lång utläggning om vad, ett chat script är för något. Det är viktigt, att man läser igenom detta, eftersom denna text beskriver saken mycket bra. Enkelt uttryckt gäller det att tala om, vilka upplysningar internetleverantören sänder, och vad ens egen dator då skall sända tillbaka, för att man skall kunna logga in.

Done (Färdigt)

Till sist får man se, hur de färdiga inställningsfilerna för PPP ser ut. Man kan inte påverka deras innehåll i detta läge, men man kan åtminstone kontrollera dem. När man trycker på Retur, sparas filerna och man lämnar pppsetup.

Denna skärmbild innehåller även en mängd upplysningar om, hur man skall koppla upp den uppringda förbindelsen och hur man skall koppla ner den igen. Grundtanken är denna: såsom root kör man ppp-go, så kopplas förbindelsen upp. När man får ett local IP och ett remote IP är man uppkopplad och har förbindelse med Internet. När man är färdig, kör man ppp-off som root, så kopplas förbindelsen ner.gif

 figure929
: Innan PPP-förbindelsen provas, får man granska resultatet av att köra pppsetup.

Översättarens anmärkning: Märk! På grund av ett smärre fel i pppsetup måste man för hand redigera filen /etc/ppp/pppscript och ändra en av raderna, annars går det inte att ringa upp. Se sidan ringupp.html om detta.

Filerna under /etc.

/etc/inetd.conf.

I ett system, som ställer nätverket i centrum, är det inte ovanligt att ha flera tjänster igång. För var tillgänglig tjänst behövs ett program, som lurpassar på förbindelser. Detta kan bli en belastning för ett system, som kör många sådana tjänare. Det är för att minska denna, som inetd har tillkommit. inetd är »internetövertjänaren«, »the internet super-server« -- den sitter och lurar på förbindelser, som kan komma in på många olika »socklar« (sockets). När en sådan infinner sig, så är det inetd, som startar lämplig server för att hantera uppgiften. På så vis kan behovet av en mängd väntande tjänare (servrar) begränsas till en enda.

/etc/inetd.conf är inställningsfilen för inetd. Däri anges vilka servrar, som skall köras för bestämda anslutningar. Manualsidan för inetd(8) innehåller närmare upplysningar om detta. Vi skall likväl kasta ett öga på, hur en rad för en tjänst kan se ut:

   ftp  stream  tcp  nowait  root  /usr/sbin/tcpd  wu.ftpd -l -i -a

Detta är sista raden för FTP-servern. Lägg märke till protokollnamnet (»ftp«) först och till sist det kommando, som skall köras vid svar på en begäran om anslutning. I detta är det programmet /usr/sbin/tcpd, som skall köras; detta är ett »omslag« (wrapper), som tillhandahåller några grundläggande säkerhetsinställningar för den server, det utgör »omslag« omkring. wu.ftpd är vår egentliga FTP-server, men tcpd kör den i vårt ställe. Ytterligare upplysningar om tcpd finns i avsnittet om tcp_wrappers på s. gif.

Liksom i många andra systemfiler, så kommenteras raderna i inetd.conf med brädgårdstecknet #; man kan lägga till och ta bort tjänster i inetd.conf genom att helt enkelt lägga till eller ta bort kommentartecken och därefter starta om inetd.

/etc/resolv.conf.

Detta är den fil, som talar om för övriga systemet, var det skall få tag i DNS-upplysningar, d.v.s. hur namn på värddatorer (med bokstäver) skall översättas till IP-adresser (med siffror). De namntjänare, man använder, skall stå här, liksom den egna värddatorns domännamn. Här är ett exempel på resolv.conf (från den bärbara, jag skriver detta på, som kallas för ninja.tdn):

   domain tdn
   nameserver 192.168.1.1
   search tdn. slackware.com

På första raden anges ninjas domännamn; detta är allt, som står efter värddatornamnet i vår adress. Andra raden anger DNS-server (namntjänare) för vårt hemmanätverk. Man kan ha så många sådana, man behöver; de tillfrågas i den ordning, de står, när ett program behöver slå upp den IP-adress (med siffror), som motsvarar ett visst domännamn (med bokstäver).

Sista raden är litet intressantare. Den anger domännamn, som skall antagas tillhöra vårt system. Antag, att vi t.ex. har maskinerna zuul.tdn och hejaz.slackware.com.

Då kan vi helt enkelt pinga zuul och hejaz utan att ange domännamn. Detta fungerar därför, att ping först försöker lägga ».tdn« till zuul, hittar motsvarande värddatornamn och är nöjd med det. I fallet »hejaz« försöker det först med hejaz.tdn

Den maskinen finns inte, så då försöker det med hejaz.slackware.com i stället, och träffar då rätt. Märk, att alla de uppräknade domänerna efter search måste sluta med en punkt (».«) förutom den sista; om där bara står en enda domän, så är denna den sista och fordrar ingen avslutande punkt.

/etc/hosts.

Filen hosts erbjuder det allra enklaste sättet att slå upp domäner. Det är en förteckning över några värddatornamn (hostnames) och deras motsvarande IP-adresser. Detta är användbart i ett smärre nätverk, där det inte är lönt att ha någon DNS. Det är också brukbart i sådana fall, när DNS är otillförlitlig o.s.v. Slutligen användes denna fil när systemet startar, då i alla fall inga namntjänare är tillgängliga. Våra skulle kunna se ut så här:

127.0.0.1     localhost
192.168.1.32  ninja.tdn ninja

Första raden torde vara självförklarande. Andra raden är kanske inte lika självklar. Man kan räkna upp så många namn och alias, man önskar, och då avdelar man dem med mellanslag. Vi har alltså IP-adressen »192.168.1.32«, som översättes till »ninja.tdn« (och omvänt), men vi kan alltså även använda »ninja« som alias, när vi är för lata att skriva även ».tdn« (vilket vi för det mesta är).

rc.inet1.

 

I filen /etc/rc.d/rc.inet1 riggar man upp nätverkets »infrastruktur« -- där initieras enheterna, där fastställes adresser och vägar (routes). Den med Slackware levererade rc.inet1 innehåller tämligen rikligt med kommentarer, så vi komme enbart att upprepa oss, om vi skulle gå igenom alltsammans här igen.

rc.inet2.

Filen /etc/rc.d/rc.inet2 är till för övriga delar av nätverkandet: för att anordna tjänster, starta demoner och för övrigt hantera intressanta nätverksinställningar. Låt oss betrakta ett block som exempel:

   # Start the NAMED/BIND name server:
   if [ -f ${NET}/named ]; then
      echo -n " named"
      ${NET}/named -u daemon -g daemon
   fi

Här är det rad fyra, som är den viktiga; det är den, som faktiskt startar named(8). Återstoden är pynt: »if«-satsen förvissar sig om, att det verkligen finns ett program vid namn named där, det förväntas finnas, och raden med »echo« talar när systemet startar om, att named sättes igång. Man skall upptäcka, att de flesta servrar, som startas genom rc.inet2, köres ifrån block i stil med dessa; en enkel test, som kontrollerar, ifall det skulle finnas en uppenbar orsak till att servern inte kan köras, ett meddelande om att tjänsten är igångsatt, och därefter kommandon, som startar själva tjänsten. Även rc.inet2 är ymnigt kommenterad; här kan man ägna en stund åt att läsa kommentarerna.

NFS (Network File System).

 

Network File System använder man, såsom namnet säger, till att dela filer mellan flera maskiner i ett nätverk. Finessen med NFS är den, att man kan montera enheter på andra datorer transparent, såsom funnes de på t.ex. en hårddisk i den egna datorn.

För att detta skall kunna äga rum, måste emellertid ett och annat ordnas. För det första måste motsvarande tjänster vara igång på servermaskinen: dessa är portmap(8), nfsd(8) och mountd(8). För det andra måste servern uttryckligen »exportera« (dela ut) ett filsystemsträd till klienten, vilket åstadkommes medelst filen exports(5) i /etc.

Första delen av detta räknestycke hanteras därigenom, att man installerar programpaketet tcpip.tgz (från programserie N) och låter rc.inet2 sköta sina saker. /etc/exports är litet roligare.

Antag, att vi på datorn battlecat.tdn har en katalog med bilder, vilken vi vill montera på ninja.tdn. På battlecat behövs en rad i /etc/exports i stil med denna:

   /var/media/images   ninja.tdn(ro)

Därefter kan man helt enkelt montera denna katalog med bilder i under katalogen /mnt på maskinen ninja:

   # mount -t nfs battlecat.tdn:/var/media/images /mnt

Tråkigt nog har vi förbjudit oss själva att skriva till denna delade katalog -- det sista »(ro)« i battlecats /etc/exports är ett val, som betyder »endast läsbar« (»read-only«). Sådana val måste stå efter klientens namn och inom parentes i en kommaseparerad lista. Ett exempel:

   /var/media/images   ninja.tdn(rw,no_root_squash)

Valet »rw« står uppenbarligen för »read-write« (»läs- och skrivbar«) -- användare på ninja får skriva i den delade katalogen. Se manualsidan exports(5) beträffande en förklaring av »no_root_squash«.

tcp_wrappers.

 

tcp_wrappers är ett system för att förhindra (eller uttryckligen tillåta) tillgång till tjänster hos oss ifrån vissa värddatorer. I ett nötskal fungerar det så här:

inetd (the internet super-server) kör en mängd servrar, varav många är »inslagna« i tcpd. Med andra ord är tcpd den, som faktiskt kör dessa servrar, men inetd vet inte om det (eller bryr sig om det, för den delen). tcpd loggar anslutningsförsök och kontrollerar därefter i filerna /etc/hosts.allow och /etc/hosts.deny, huruvida en anslutning bör tillåtas.

De regler, dessa filer innehåller, kan vara något invecklade, men låt oss förmoda, att pyramid.tdn är riktigt påstridig och inte vill låta lilla mojo.tdn vara ifred. mojo.tdn kan då lägga in en rad i /etc/hosts.deny, som ser ut så här:

ALL: pyramid.tdn

Denna rad torde vara tydlig nog; den hindrar pyramid ifrån att använda några som helst utav de tjänster på mojo, som skyddas av tcpd. Skulle vi störas av en hel domän, så skulle raden kunna se ut så här:

ALL: pyramid.tdn, .stoerande.domaen

Men vänta litet! Min kompis Hobbes sitter fast på en maskin i den där .stoerande.domaenen, men jag vill låta honom få tillgång till min maskins tjänster (bara inte hans »stoeriga« vänner). Det är en smal sak. Vi lämnar hosts.deny som den är, men följande rad i hosts.allow släpper in Hobbes:

ALL:hobbes.stoerande.domaen

Närmare upplysningar finner man under tcpd(8), hosts_access(5), och hosts_options(5). Systemet med tcp_wrappers är mycket smidigare än så här, och det lönar mödan väl att tränga djupare in i det.

Sammanfattning.

I detta kapitel har vi lärt oss att konfigurera systemet för anslutning till ett nätverk; man bör ha lärt sig, hur man skruvar ihop inställningsfilerna och man bör ha lärt sig några av säkerhetens grunder. Därtill bör man ha lärt sig använda nätverksfilsystemet (NFS) och hur man får det att fungera i sitt system. När man har gjort sitt system till en del av ett nätverk, får man tillgång till flera olika tjänster såsom epost, diskussionsgrupper (news) och WWW-sidor. Se s. gif om hur man använder några grundläggande nätverksprogram.


next up previous contents
Vidare: Fönstersystemet X. Uppåt: Inställningar. Tillbaka: Systeminställningar.


Denna översättning ifrån engelskan är utförd av Erik Jonsson <[email protected]> efter Slackware Linux Essentials, officiell handbok för Slackware Linux.

Denna översättning tillhandahålles liksom engelskspråkiga originalet enligt villkoren i GNU General Public License (GPL).
Uppgifterna om författarnas och översättarens namn får ej avlägsnas, utplånas eller eljest göras oläsliga.
Förvaras åtkomligt.
Bäst före: senaste ändringsdatum.
Äldre versioner bör förstöras.
Senast ändrad Tue Oct 24 09:36:13 CEST 2000

Hela boken finns här även beredd för utskrift i PDF-filen slwhbk.pdf.

http://www.slackware.com/http://www.sslug.dk/Ser bra ut i vilken vävläsare som helst.


Generaldepoten — Emil Tusens Kulturpalats.
Om goda kagor och torra kakor (»cookies«).

Innehåll:

Litteraturförteckning

Om goda kagor och torra kakor (»cookies«).