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ållsförteckning 1. Introduktion 1.1 Copyright 1.2 Disclaimer 1.3 Översättningar 1.4 Nya versioner av detta dokument 1.5 Feedback 2. Hur ansluter jag till resten av världen? 2.1 Den grundläggande konfigurationen 3. Hur 4. Hur skickar jag och tar emot e-post? 5. Nyheter 5.1 Hur sätter jag upp en on-line nyhetsläsare? 5.2 Hur sätter jag upp en off-line nyhetsläsare? 5.3 Hur sätter jag upp C News? 5.4 Hur sätter jag upp 6. Hur automatiserar jag anslutningsförfarandet? 7. Slutord 7.1 Andra saker som jag bör veta? 8. ISP-specifik information 8.1 Hur får jag reda på mer? 9. Tack till ______________________________________________________________________ 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 www-blä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 kom­ mandona 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 # # 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 PPP-anslutning. · 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. 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 Arne Coucheron Arne Riiber Arnt Gulbrandsen Bjorn Steensrud Gisle Hannemyr Hans Amund Rosbach Hans Peter Verne Harald T Alvestrand Harald Terkelsen Haavard Engum James Youngman Johan S. Seland John Phillips Jorn Lokoy Kenneth Tjostheim Kjell M. Myksvoll Kjetil T. Homme Michael Meissner N J Bailey Nicolai Langfeldt Ove Ruben R Olsen R. Bardarson Steinar Fremme Sverre H. Huseby Trond Eivind Glomsrod Tommy Larsen Yves Bellefeuille