ISP-Hookup HOWTO

Egil Kvaleberg, egil@kvaleberg.no. Svensk översättning av Tomas Carlsson, md5tc@mdstud.chalmers.se v1.26, 5 March 1998. Svensk översättning 21 Juni 1998

Detta dokument beskriver hur man använder Linux för att ansluta till en internetleverantör med hjälp av en uppringd TCP/IP modemförbindelse. Såväl den grundläggande uppringningsproceduren och IP förfarandet som e-post och nyheter täcks.

Innehåll

1 Introduktion 2 1.1 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Översättningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Nya versioner av detta dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Hur ansluter jag till resten av världen? 3 2.1 Den grundläggande konfigurationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Hur surfar jag? 6

4 Hur skickar jag och tar emot e-post? 6

5 Nyheter 8 5.1 Hur sätter jag upp en on-line nyhetsläsare? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2 Hur sätter jag upp en off-line nyhetsläsare? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.3 Hur sätter jag upp C News? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.4 Hur sätter jag upp leafnode? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Hur automatiserar jag anslutningsförfarandet? 12

7 Slutord 14 7.1 Andra saker som jag bör veta? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

8 ISP-specifik information 14 8.1 Hur får jag reda på mer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

9 Tack till 16

1 Introduktion

Denna beskrivning har gjorts för att svara på lite frågor om hur användare av uppringda internetanslutningar kan konfigurera och använda Linux.

För att hjälpa dem som skall ansluta sina Linuxbaserade system till en ISP (internetleverantör) för första gången, så är det ett försök att täcka de flesta saker som man stöter på. Detta skapar oundvikligt visst överlapp med andra Linux HOWTO-dokument och LDP-böcker. Man bör även titta i dessa för bättre förståelse och detaljrikedom.

Mycket av den existerande dokumentationen är riktad till användare med en viss grad av erfarenhet och förstagångsanvändare har problem med att ta fram den relevanta informationen.

För att förenkla så antar exemplena i detta dokument följande:

• Användarnamn: dirk

   • Lösenord: PrettySecret

• Internetleverantör: acme.xz

• E-post server: mail.acme.xz

• Nyhetsserver: news.acme.xz

• Namnserver: 193.212.1.0

• Telefonnummer: 12345678

Våran dirk kommer att kalla sin maskin för roderick.

Alla förekomster av ovanstående skall naturligtvis ersättas med det som är korrekt för den ISP man använder. Ofta så behövs endast ett fåtal ändringar för användare med olika ISP. Jag vill gärna bli informerad om problem som du kan ha med avseende på detta.

1.1 Copyright

Copyright (c) 1996,1997,1998 av Egil Kvaleberg. Detta dokument får distribueras under förutsättningarna som ges i LDP-licensen på

http://sunsite.unc.edu/LDP/COPYRIGHT.html

1.2 Disclaimer

Inget ansvar kan tas för innehållet i detta dokument. Använd begrepp, exempel och annat innehåll på egen risk.

En av många möjliga inställningar kommer att beskrivas. I Linuxvärlden finns det oftast ett antal olika sätt på vilka man kan åstadkomma saker. Stycken som innehåller tips till alternativ markeras med ALT:. Notera att FTP-länkar kommer att ändras lite allteftersom nya versioner av program kommer.

Vad jag vet så kommer endast program som under vissa regler får användas eller evalueras för personliga syften beskrivas. De flesta av programmen finns tillgängliga kompletta med källkod under GNU-lika regler.

1.3 Översättningar

Detta dokument har översatts till följande språk: Tyska, av Cristoph Seibert:

http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html

Koreanska, av Kidong Lee:

http://www.postech.ac.kr/\~{}cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html

Franska, av Eric Jacoboni:

http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html

Polska, av Piotr Pogorzelski: URL TBA Norska:

http://www.kvaleberg.com/no-linux.html

1.4 Nya versioner av detta dokument

Nya versioner av detta dokument kommer då och då postas till comp.os.linux.answers. De kommer även att läggas på de olika anonyma FTP-sajter som innehåller sådan information, inklusive:

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO

Dessutom så bör du kunna hitta detta dokument via www-sajten för Linux Documentation Project på:

http://sunsite.unc.edu/LDP/

Den allra senaste versionen av detta dokument bör också finnas tillgänglig i olika format från:

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.txt
ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.ps.gz
ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.tar.gz
http://www.kvaleberg.com/ISP-Hookup-HOWTO.html

1.5 Feedback

Alla kommentarer, felrapporter, vidare information och kritik av alla de slag skall riktas till:

egil@kvaleberg.no
http://www.kvaleberg.com/

2 Hur ansluter jag till resten av världen?

Det kommer att antas att du har installerat de nödvändiga nätverksverktygen från din Linuxdistribution och att du har ställt in vilken seriell port som skall användas för /dev/modem. Oftast tillåter standardkonfigurationen att endast root-användaren har direktaccess till /dev/modem. För att ansluta direkt till shellkonton hos ISPn och för att experimentera med anslutningssekvenser så kan du använda programmet minicom. Det är ganska okomplicerat att använda.

2.1 Den grundläggande konfigurationen

För att konfigurera maskinen för användning på Internet så måste du vara inloggad som root. Innan du fortsätter, se till att filen /etc/hosts.deny innehåller följande rad:

     ALL: ALL

Normalt vill du väl tillåta dig själv, så lägg till följande i filen /etc/hosts.allow:

     ALL: LOCAL

Eller om du insisterar:

     ALL: 127.0.0.1

Notera att följande är menat för dem som är anslutna med PPP och med dynamisk IP-adress. Om du har fördelen av att ha en fix anslutning så kommer det att vara lite annorlunda. Det är trevligt att ha ett namn kopplat till maskinen, ett namn som användaren av dynamisk IP kan välja som han eller hon vill. Lägg namnet i filen /etc/HOSTNAME:

     roderick

Nästa steg är att sätta upp namnservern i filen /etc/resolv.conf:

     search .
     nameserver 193.212.1.0

Namnservern måste specificeras med en numerisk IP-adress och är olika beroende på vilken ISP man har. Om du behöver så kan du ha upp till tre olika namnservrar specificerade, var och en på olika rader. De kommer att kontaktas i den ordning om de är listade. Om du vill kunna använda namn som somemachine som en förkortning av somemachine.acme.xz, så måste du ersätta den första raden med:

     search acme.xz

Ett minimum av konfiguration behövs även i filen /etc/hosts. De flesta klarar sig bra med:

     127.0.0.1       localhost
     0.0.0.0         roderick

De som har en fix IP-adress ersätter naturligtvis 0.0.0.0 med den. Även en minimal fil /etc/networks behövs:

     loopback        127.0.0.0
     localnet        0.0.0.0

Du bör även sätta din externa e-postdomän i filen /etc/mailname:

     acme.xz

Användarnamn och lösenord hos ISPn skall specificeras i filen /etc/ppp/pap-secrets:

     dirk * PrettySecret

För de ISPar som använder CHAP istället för PAP så heter filen /etc/ppp/chap-secrets.

Till sist så måste man specificera hur anslutningsproceduren skall gå till. Detta görs i filen

/etc/ppp/chatscript:
     TIMEOUT 5
     "" ATZ
     OK ATDT12345678
     ABORT "NO CARRIER"
     ABORT BUSY
     ABORT "NO DIALTONE"
     ABORT WAITING
     TIMEOUT 45
     CONNECT ""
     TIMEOUT 5
     "name:" ppp

Detaljerna här kan behöva finjusteras lite. Telefonnumret på tredje raden måste självklart ändras. Vissa användare måste kanske ersätta initieringssträngen för modemet, ATZ, med något som passar deras modem bättre. Den sista raden specificerar att man väntar sig en prompt som slutar med name: och att svaret på den prompten skall vara ppp. Andra system kanske har andra inloggningsprocedurer.

För att verkligen initiera ett samtal, så kan PPP-protokollet initieras genom att ge följande kommando:

     exec pppd connect \
          'chat -v -f /etc/ppp/chatscript' \
           -detach crtscts modem defaultroute \
           user dirk \
           /dev/modem 38400

Vi bör nu vara on-line och vara så tills programmet avslutas genom att trycka ctrl-C. Alla meddelanden som härrör från anslutningen kommer att läggas på systemloggen. För att läsa dem, försök med:

     tail /var/adm/messages

eller

     dmesg

Så länge som PPP är igång så har du direkt access till Internet och kan använda program som ftp, ncftp, rlogin, telnet, finger osv. Alla dessa program skall finnas i nätverkspaketet.

Mer information om PPP finns också tillgänglig från:

/usr/lib/ppp/README.linux
/usr/lib/ppp/README.linux-chat

Till slut, en ytterligare kommentar om säkerhet. Filen /etc/inetd.conf listar alla tjänster som din maskin kommer att erbjuda externt. Med filerna /etc/hosts.deny och /etc/hosts.allow som vi har skapat så kommer ingen extern access att tillåtas. För de som behöver det så måste access tillåtas explicit i filen /etc/hosts.allow. Lokal trafik kan tillåtas genom:

     ALL: LOCAL

Se även man 5 hosts access.

En viss förvirring finns beträffande namnen på POP-protokollen. En definition i filen /etc/services som är kompatibelt med det mesta är:

     pop2            109/tcp         pop-2           # PostOffice V.2
     pop3            110/tcp         pop-3 pop       # PostOffice V.3

ALT: Istället för chatscript kan man använda den mer flexibla dip. Men inte tillsammans med diald. ALT: De som är lyckliga nog att ha en permanent TCP/IP anslutning tex via Ethernet kan ignorera allt som rör PPP och istället börja ställa in sitt nätverkskort. ALT: Andra kanske inte har möjlighet att använda PPP, men kanske har möjlighet att använda SLIP istället, för vilket det finns ungefär samma stöd som för PPP. En annan möjlighet är UUCP. Andra kanske måste lita till SOUP för utväxling av nyheter och e-post. En beskrivning av det senare finns på:

ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz

Programmet TERM är också en möjlighet. Se Term HOWTO.

3 Hur surfar jag?

Om du tycker att text är det viktigaste, så kanske du vill använda www-bläddraren Lynx. Den finns på:

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz

Om du har installerat fönstersystemet X , så kan du använda en av de många grafiska bläddrarna. Chimera hittar du på:

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz
http://www.unlv.edu/chimera/

Mosaic

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz
ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6

Netscape (aka. Mozilla)

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz
ftp://ftp.cs.uit.no/pub/www/netscape

Dessa bläddrare finns konstant tillgängliga i nya versioner. Användning och utvärdering av dessa program får göras under särskilda omständigheter. Var vänlig att observera dem.

4 Hur skickar jag och tar emot e-post?

Till att börja med, se till att sendmail är installerat. Sendmail sorterar intern och extern e-post, och sparar extern e-post tills det finns möjlighet att skicka iväg den. Sendmail baseras på en konfigurationsfil /etc/sendmail.cf. Ett exempel som passar för modemanvändare kan hittas på: ftp://ftp.sol.no/user/egilk/sendmail.cf Denna är baserad på procmail som utskickningsagent men kan lätt modifieras för att använda deliver.

Det är naturligtvis nödvändigt att ha en officiell domänadress för extern e-post, denna specificeras i filen

sendmail.cf:
     # who I masquerade as (null for no masquerading)
     DMacme.xz

Detta förutsätter att du har samma användarnamn lokalt som du har hos din ISP. Om inte, så specificerar du bara hela namnet istället:

     DMdick@acme.xz

Sendmail är nu konfigurerat för att skicka direkt till mottagaren. För att undvika långa upprepade anslutningar i de fall då den mottagande ändan är långsam eller oregelbunden, så är det bra att använda sin ISP som buffringsarea. Detta specificeras med DS:

     # "Smart" relay host (may be null)
     DSmail.acme.xz

Var uppmärksam på att sendmail är något känslig för tab-tecken i filen sendmail.cf. Man kan använda editorn vi för att vara säker på att dessa tab-tecken behålls oförändrade.

E-postmottagning kan ofta göras via POP3 -protokollet, vilket kan initieras varje gång anslutningen öppnas. Ett script för att testa detta är:

     sendmail -q
     popclient -3 -v mail.acme.xz -u dirk -p "PrettySecret" \
            -k -o /usr/spool/mail/dirk

Detta script kan startas efter det att PPP-anslutningen har skapats. Var uppmärksam på att detta script bara är för testning, så se till att den lokala e-postlådan lämnas orörd medans det körs. Parametern -k betyder att e-posten behålls (‘kept’) i e-postlådan hos ISPn, och du får en kopia av den. Du kan ta bort den parametern då du är säker på att dina inställningar fungerar.

Tänk på att lösenordet kommer att synas på kommandoraden. Notera även att popclient börjar bli gammaldags och du borde överväga att använda fetchmail instället.

En säkrare och bättre version av scriptet hittar du på:

ftp://ftp.sol.no/user/egilk/pop-script.tar.gz

Denna version av scriptet kräver att procmail är installerat, men det är något som du aldrig kommer att ångra ändå. De flesta distributioner inkluderar det, annars kan du försöka med:

ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz

Procmail är ett enkelt och flexibelt verktyg som kan sortera inkommande e-post baserat på ett stort antal kriterium. Dessutom så hanterar det automatiserade uppgifter som vacation-meddelanden och liknande.

Notera att när vi använder procmail direkt som i detta fallet, så är situationen lite annorlunda än vad som beskrivs i dokumentationen för procmail. Man behöver varken en .forward-fil eller en .procmailrc-fil. Den senare krävs endast om man vill sortera e-posten.

Användargränssnittet för att läsa och skriva e-post finns i program som pine eller elm.

ALT: fetchmail har nyligen blivit ett bättre alternativ än popclient. Den senaste versionen finns på:

ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz

ALT: För en vanlig modemanvändare är det egentligen inte nödvändigt att ha sendmail-daemonen aktiv. För att spara resurser, och möjligen andra problem, kan man kommentera bort uppstarten av sendmail, som vanligtvis hittas i filen /etc/rc.d/rc.M (detta varierar mellan distributioner).

ALT: Istället för sendmail kan man använda det något enklare smail. Du hittar en bra beskrivning av det (så väl som det mesta av det andra som nämns här) i Linux Network Administrator’s Guide.

ALT: Det finns även ett m4 makropaket för att göra en ren /etc/sendmail.cf. För en enkel installation kan det vara lika bra att modifiera en existerande konfiguration.

ALT: Det finns även enklare men mindre flexibla sätt att hantera e-post. Pine, till exempel, kan köras självständigt bara det konfigureras ordentligt. Det går även att använda nyare versioner av vissa wwwbläddrare.

ALT: Många är väldigt entusiastiska beträffande Emacs-kompanionen Gnus som e-post och nyhetshanterare. Mer information finns på:

http://www.ifi.uio.no/\~{}larsi/

ALT: Ett alternativ till popclient är pop-perl5 . Det finns tillgängligt från:

ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz

5 Nyheter

5.1 Hur sätter jag upp en on-line nyhetsläsare?

Så länge PPP är igång så går det att läsa nyheter online. Det finns många program för detta, två enkla alternativ är rtin och trn.

För att läsa nyheter så är det enda som behövs, i fråga om konfiguration, att specificera omgivningsvariabeln NNTPSERVER, vanligtvis en gång för alla i filen .profile:

     export NNTPSERVER=news.acme.xz

För att få Från-adressen korrekt i sina inlägg, så kan vissa program kräva:

     export NNTP_INEWS_DOMAIN=acme.xz

5.2 Hur sätter jag upp en off-line nyhetsläsare?

För att kunna läsa nyheter när man är off-line och därmed reducera telefonräkningarna och få större flexibilitet, så måste man sätta upp en lokal nyhets-spool av ett eller annat slag. Detta kräver lite konfiguration och det krävs även en viss mängd diskutrymme. Efter den första konfigurationen så skall det fungera mer eller mindre av sig självt, med endast lite tillsyn då och då.

Två olika lösningar beskrivs här.

5.3 Hur sätter jag upp C News?

Lösningen som beskrivs här baseras på nyhetsservern C News och protokollet NNTP. Från början var C News tänkt att vara till för en annan typ av konfiguration, men det är tillräckligt flexibelt för att klara av våran situation också. Man kan även använda den nyare nyhetsservern INN , men den kräver något mer resurser. Hur som helst, se till att inte installera båda; de fungerar inte bra tillsammans.

Det är ett måste att allt underhåll av nyheterna görs när man är inloggad som användaren news, och att alla konfigurationsfiler placeras i katalogen /usr/lib/news. Ett sätt att fixa detta är genom att, när man är inloggad som root, skriva su news; cd

De viktigaste filerna att konfigurera är:

• active är en överblick över aktiva nyhetsgrupper. Den uppdateras med kommandot addgroup, tex

     addgroup comp.os.linux.networking y.

• organization skall endast innehålla det du vill skall stå i fältet Organization: i dina inlägg, i vårt fall:

     Dirk Gently's Holistic Detective Agency

• mailname skall i vårt fall innehålla acme.xz.

• whoami innehåller namnet på din sajt i Path:-tråden. I en konfiguration som den som beskrivs här, om man använder newsx, så lämar detta namnet aldrig din maskin, så du kan sätta det till vad du vill så länge du är hyfsat säker på att det är unikt. I vårt fall roderick.

• Filen sys kontrollerar hämtning och vidarebefodring av nyheter. Vi antar ISPn i vårt fall och lägger till acme.xz till Path, och det är den enda nyhetskälla vi har. Exemplet säger egentligen att vi tar emot allt som anländer och att vi endast postar nyheter till acme.xz som den inte sett innan, och som är postade från våran sajt. I denna förenklade inställning kan vi anta att alla grupper kommer från en enskild källa. /all specificerar distributionen och måste inkluderas. Bokstaven F säger att (referenser till) utgående nyhetsartiklar kommer att samlas i en fil.

     ME:all/all::
     acme/acme.xz:all,!junk/all:FL:

• En underkatalog för utgående nyheter måste skapas, i vårt fall:

     mkdir /var/spool/news/out.going/acme

• mailpaths kontrollerar inlägg i kontrollerade (moderated) grupper, även om denna uppgift vanligtvis utförs av ISPn.

C News kräver ett visst dagligt underhåll, men detta kan specificeras en gång för alla via kommandot crontab -e, angivet som användaren news. En möjlig konfiguration följer; den kan finjusteras efter behov:

     # maintain incoming and outgoing batches
     10,40 *  * * * /usr/lib/newsbin/input/newsrun
     # expire C News, once a day
     30 0  * * * /usr/lib/newsbin/expire/doexpire
     # monitor and report if needed
     00 2  * * sat /usr/lib/newsbin/maint/addmissing
     40 3  * * * /usr/lib/newsbin/maint/newswatch
     50 3  * * * /usr/lib/newsbin/maint/newsdaily

newsrun flyttar in och ut artiklar (två gånger i timmen), doexpire tar bort gamla artiklar (varje natt klockan 00:30), och de tre sista kommandona utför olika övervaknings och felkontrolluppgifter.

Man skall se till att det städas upp när man startar maskinen. Som användare root, lägg till följande i

/etc/rc.d/rc.local:

     su news -c /usr/lib/newsbin/maint/newsboot

Nyheter kan samlas ihop med programmet NewsX , som hämtar dem från en NNTP-server. Programmet kan hittas på:

ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz eller:
ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz

Att sätta upp NewsX är ganska enkelt. Installationen är ett klassiskt fall av:

     make
     su
     make install
     exit

Med inställningarna som finns här så är allt du behöver göra att skapa de grupper du vill läsa med kommandot addgroup.

För att hämta artiklar så utför användaren news följande kommandon (med antagandet att kommunikationen sker via PPP eller något liknande):

     newsrun
     newsx acme news.acme.xz
     newsrun

Parametern -d ger utskrift till skärmen. Se dokumentationen för NewsX för mer information.

NewsX tar även hand om att skicka iväg utgående artiklar.

För att kontrollera borttagning av artikler allt eftersom de blir gamla så behövs en fil explist. Kommentarerna i detta exempel bör förklara vad vi vill göra:

     # hold onto history lines 14 days, nobody gets >120 days
     /expired/                       x       14      -
     /bounds/                        x       0-1-120 -
     # retain these for 2 months
     comp.sources,comp.os.linux.all  x       60      -
     # noise gets thrown away fast
     junk,control                    x       2       -
     # default:  14 days, no archive
     all                             x       14      -

ALT: I en liten nyhets-spool behöver man oftast inte nyhetsgruppen control. Trafiken är enorm jämfört med hur användbar den är. Huvudsyftet är att artiklar avbryts och grupper skapas automatiskt. För att se till att kontrollmeddelanden som innehåller newgroup inte skall förstöra saker och ting för oss, så specificerar filen newgroupperm vad vi tillåter:

     comp.os.linux   tale@uunet.com  yv
     all             any             nq

I detta exemplet så skapas (y) alla riktiga grupper under comp.os.linux och användaren news kommer att meddelas (v). Allt annat ignoreras (n) tyst (q). Sista raden räcker om du vill skapa alla grupper manuellt.

ALT: Ett alternativ till NewsX är suck.

5.4 Hur sätter jag upp leafnode?

En annan lösning är att installera det integrerade paketet leafnode. Detta tar hand om alla uppgifter som krävs för en personlig nyhets-spool, och det är lätt att konfigurera. Det är tillgängligt via:

http://www.troll.no/freebies/leafnode.html

Som för C News, så bör allt underhåll göras som användaren news. Hemkatalogen för leafnode är i /usr/lib/leafnode. För att installera så skriver du:

     cd /usr/lib/leafnode
     tar -xzvf leafnode-0.8.tgz
     cd leafnode-0.8
     make
     su
     make install

Notera att i det som följer så skall prefixet /usr/local/sbin ersättas med /usr/sbin om du installerade leafnode från ett paket. När du fortfarande är inloggad som root, ändra raderna som kontrollerar NNTP i filen /etc/inetd.conf:

     nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode

Aktivera det med:

     killall -HUP inetd

Återvänd till användaren news genom att skriva exit. Ändra sedan raden som definierar NNTP-servern i

filen /usr/lib/leafnode/config. I vårt fall:
     server = news.acme.xz

Leafnode sköter sig självt ifall man som användare news lägger till följande via crontab -e:

     # expire Leafnode, once a day
     0 4 * * * /usr/local/sbin/texpire

Användare som vill läsa nyheter skall sedan använda receptet i Hur sätter jag upp en on-line nyhetsläsare, förutom att de skall konfigurera det för den lokala maskinen, dvs:

     export NNTPSERVER=localhost

Detta skall räcka. Den första ‘hämtningen’ kommer att föra över en lista med tillgängliga nyhetsgrupper. Leafnode håller sedan koll på vilka grupper som användarna frågar efter och anpassar sig till det nästa gång det aktiveras. Observera att leafnode inte verkar fungera i de fall när NNTP auktorisering krävs. ALT: Ett alternativ till leafnode är nntpcache, tillgängligt på:

ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz

ALT: Ett annat alternativ är att använda nyhetsläsaren slrn tillsammans med slrnpull-paketet. Nyhetsläsaren måste kompileras med alternativet spool.

6 Hur automatiserar jag anslutningsförfarandet?

Automatisk hantering av nyheter och e-post är ganska enkelt att implementera i Linux.

Först och främst skall man ha en fil /usr/lib/ppp/ppp-on som initierar ISP-anslutningen. Ofta så innehåller den filen följande:

     /usr/sbin/pppd

Vidare specificering görs i filen /etc/ppp/options:

     connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
     crtscts
     modem
     defaultroute
     asyncmap 00000000
     user dirk
     /dev/modem 38400

För att avsluta en anslutning, använd den tillgängliga versionen av /usr/lib/ppp/ppp-off.

Efter att ha testat funktionaliteten hos dessa båda script så måste man skriva script som utför de olika uppgifterna. Scriptet för att hämta e-post har beskrivits tidigare, och vi kommer att anta att det finns i

/home/dirk/pop.

Ett script för utbyte av e-post kan sedan göras i /root/mail:

     #! /bin/sh
     #
     # exchange mail
     # 10 minutes timeout:
     TIMEOUT=600
     DT=10
     # kick sendmail:
     sendmail -q &
     # retrieve mail:
     su dirk -c /home/dirk/pop
     # wait for sendmail to terminate:
     t=0
     while ! mailq | grep -q "Mail queue is empty"; do
         t=$[$t+$DT]
         if [ $t -gt $TIMEOUT ] ; then
          echo "sendmail -q timeout ($TIMEOUT).."
          exit 1
         fi
         sleep $DT
     done
     exit 0

Scriptet för utbyte av nyheter kan placeras i /usr/lib/news/news:

     #!/bin/sh

6. Hur automatiserar jag anslutningsförfarandet? 13

#
# exchange news
# must be run as news:
cd /usr/lib/news
#update the outgoing batch (C News):
/usr/lib/newsbin/input/newsrun < /dev/null
#exchange news:
/usr/lib/newsbin/newsx acme news.acme.xz
#and flush the incoming batch:
/usr/lib/newsbin/input/newsrun < /dev/null

Ett script för att koppla samman de olika delarna återstår och kan placeras i /root/news+mail:

#!/bin/sh
#
# exchange news and email
# must be run as root
#
if ! /usr/lib/ppp/ppp-on; then
    exit 1
fi
trap "/usr/lib/ppp/ppp-off" 1 2 3 15
#exchange news+mail:
/root/mail &
su news -c ~news/news
wait
#disconnect..
/usr/lib/ppp/ppp-off
#update the incoming batch (C News):
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &
exit 0

Det är ganska lätt att utöka ovanstående till att endast öppna en anslutning ifall det finns någon e-post eller nyheter att skicka. Låt oss kalla det för /root/news+mail.cond, och kom ihåg att namnet på den utgående nyhets-spoolen måste vara den man använder:

#!/bin/sh
#
# exchange news and email, only if outgoing news or mail
# (C News spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
    ! ( mailq | grep -q "Mail queue is empty"); then
     /root/news+mail
fi

Det enda som återstår är att specificera när allt skall hända. Detta görs genom att använda kommandot crontab -e som root. Låt oss anta att vi alltid vill skicka och ta emot nyheter och e-post klockan 07:00 på morgonen, och efter det var fjärde timme givet att det finns utgående meddelanden:

     00 7            * * *   /root/news+mail
     00 11,15,19,23  * * *   /root/news+mail.cond

Se till att varje komponent testas och fungerar innan du sätter ihop dem. Man kan senare lägga till flera andra uppgifter, såsom att justera tiden (genom att använda ntpdate), och automatiskt uppdatera (spegla) lokalt underhållna WWW och FTP filer till ISPn (genom att använda make och ftp).

ALT: Beroende på vad man är ute efter, så är det även möjligt att vända på hela proceduren. Varje gång en PPP-länk initieras så startas scriptet /etc/ppp/ip-up. Här kan man lägga in den magi som krävs för att skicka och ta emot nyheter och e-post. Se man pppd för mer information.

ALT: Det är också möjligt att automatiskt ansluta PPP när nätverkstrafik detekteras. Detta är på många sätt den elegantare lösningen, men den är beroende av en bra konfiguration för att undvika att frekventa (och dyra) anslutningar görs. Mer information hittar du på:

http://www.dna.lth.se/\~{}erics/diald.html

Programmet diald finns på:

ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz

På samma ställe hittar man också andra variationer på temat PPP-anslutningar.

7 Slutord

7.1 Andra saker som jag bör veta?

• Olika felmeddelanden i systemet sänds normalt som intern e-post. För att se till att dessa verkligen läses så skall man skapa filen /etc/aliases. Kom ihåg kommandot newaliases varje gång du ändrar i denna. Ett exempel:

     PostMaster: root
     ftp: root
     news: root
     usenet: root
     FaxMaster: root
     fax: root
     WebMaster: root
     MAILER.DAEMON: root

• Många program för Linux hittar man på Sunsite, som är ganska hårt belastad. Men det finns många speglingar och varje gång det refereras till ftp://sunsite.unc.edu/pub/Linux/.. så bör man försöka

     hitta en spegel i sitt område, tex ftp://ftp.nvg.unit.no/pub/linux/sunsite/...

• Om du händelsevis byter från Yarn så är det möjligt att dessa till standardfoldrar med yarn2mf som finns på:

ftp://ftp.sol.no/user/egilk/yarn2mf.zip

8 ISP-specifik information

Mer specifik information för vissa ISP finns tillgängliga från ett antal ställen:

Demon Internet

ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz

Netcom

http://www.netcom.com/bin/webtech/NetCruiser/Operating\_Systems/Linux/linux.cfg.html

PowerTech, Telenor Online, Telia PowerTech Telenor Online, Telia

http://www.kvaleberg.com/no-isp.html

Stanford

http://www-leland.stanford.edu/\~{}wkn/Linux/network/network.html

MCI

http://www.kvaleberg.com/linux-mci.html

SISCOM

http://www.siscom.net/support/linux\_setup.htm

AOL är inte möjligt eftersom AOL använder ett patentskyddat protokoll. Om du kan tillhandahålla ISP-specifik information som inte listas här så hör gärna av dig.

8.1 Hur får jag reda på mer?

Boken Linux Network Administrator’s Guide av Olaf Kirch, som ingår i Linux Documentation Project är nästan obligatorisk för alla som vill sätta upp och underhålla någonting som innefattar TCP/IP och Internet

ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz

Dokumentationen som följer med alla programvarupaket ger normalt all den detaljerade information som du behöver. Manualbladen är det första stället man skall titta på. Testa till exempel:

     man pppd

Du hittar även dokumentation om vissa program i katalogen /usr/doc, den är dock inte alltid så välstrukturerad. Följande HOWTOs är högst relevanta:

• Installation-HOWTO reder ut grunderna.

• NET-3-HOWTO är en väldigt grundlig beskrivning av installation och konfiguration av NET-koden. Mycket av detta skall redan vara gjort ifall du använder en standarddistribution av Linux (tex Slackware, Red Hat, Debian). Men många avsnitt om konfiguration och felsökning är läsvärda ändå.

• Mail-HOWTO förklarar hur man konfigurerar diverse verktyg. Även det mesta av detta skall vara gjort i din distribution.

• News-HOWTO beskriver hur man sätter upp en (konventionell) nyhets-spool.

• Tiny-News täcker ytterligare ett alternativ för att hämta nyheter.

• PPP-HOWTO är en bra beskrivning av problem som du kan stöta på när du sätter upp en PPPanslutning.

• Serial-HOWTO innehåller allt du behöver veta om hur man sätter upp seriella portar.

• Mail-Queue beskriver hur du ställer in sendmail att alltid köa upp extern e-post men leverera lokal e-post direkt.

9. Tack till 16

Red Hat har en e-postlista för PPP-frågor; för att gå med skicka ett e-postmeddelande till

redhat-ppp-list-request med ämnesraden:
subscribe

9 Tack till

Informationen här är hämtad från många källor. Tack till följande personer som har bidragit antingen direkt eller indirekt:

Adam Holt <holt@graphics.lcs.mit.edu>
Arne Coucheron <arneco@oslonett.no>
Arne Riiber <riiber@oslonett.no>
Arnt Gulbrandsen <agulbra@troll.no>
Bjorn Steensrud <bjornst@powertech.no>
Gisle Hannemyr <gisle@a.sn.no>
Hans Amund Rosbach <haro@sesam.dnv.no>
Hans Peter Verne <hpv@ulrik.uio.no>
Harald T Alvestrand <Harald.T.Alvestrand@uninett.no>
Harald Terkelsen  <Harald.Terkelsen@adm.hioslo.no>
Haavard Engum <hobbes@interlink.no>
James Youngman <JYoungman@vggas.com>
Johan S. Seland <johanss@sn.no>
John Phillips <john@linux.demon.co.uk>
Jorn Lokoy <jorn@oslonett.no>
Kenneth Tjostheim <kenneth.tjostheim@asplanviak.no>
Kjell M. Myksvoll <kjell.myksvoll@fou.telenor.no>
Kjetil T. Homme <kjetilho@math.uio.no>
Michael Meissner <meissner@cygnus.com>
N J Bailey <N.J.Bailey@leeds.ac.uk>
Nicolai Langfeldt <janl@math.uio.no>
Ove Ruben R Olsen <Ove.R.Olsen@ub.uib.no>
R. Bardarson <ronb@powernet.net>
Steinar Fremme <steinar@fremme.no>
Sverre H. Huseby <sverrehu@ifi.uio.no>
Trond Eivind Glomsrod <teg@stud.imf.unit.no>
Tommy Larsen <tommy@mix.hive.no>
Yves Bellefeuille <yan@storm.ca>