ISP-Hookup HOWTO <author>Egil Kvaleberg, <tt>egil@kvaleberg.no</tt>. Svensk översättning av Tomas Carlsson, <htmlurl url="mailto:md5tc@mdstud.chalmers.se" name="md5tc@mdstud.chalmers.se"> <date>v1.26, 5 March 1998. Svensk översättning 21 Juni 1998 <abstract> Detta dokument beskriver hur man använder Linux för att ansluta till en internetleverantör med hjälp av en uppringd <idx>TCP/IP</idx> modemförbindelse. Såväl den grundläggande uppringningsproceduren och <idx>IP</idx> förfarandet som e-post och nyheter täcks. </abstract> <toc> <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Introduktion <p> 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. <p> 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. <p> 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. <p> För att förenkla så antar exemplena i detta dokument följande: <p> <itemize> <item> Användarnamn: <tt>dirk</tt> <item> Lösenord: <tt>PrettySecret</tt> <item> Internetleverantör: <tt>acme.xz</tt> <item> E-post server: <tt>mail.acme.xz</tt> <item> Nyhetsserver: <tt>news.acme.xz</tt> <item> Namnserver: <tt>193.212.1.0</tt> <item> Telefonnummer: <tt>12345678</tt> </itemize> <p> Våran <tt/dirk/ kommer att kalla sin maskin för <tt/roderick/. <p> 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. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Copyright <p> Copyright (c) 1996,1997,1998 av Egil Kvaleberg. Detta dokument får distribueras under förutsättningarna som ges i LDP-licensen på <p> <tt> <htmlurl url="http://sunsite.unc.edu/LDP/COPYRIGHT.html" name="http://sunsite.unc.edu/LDP/COPYRIGHT.html"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Disclaimer <p> Inget ansvar kan tas för innehållet i detta dokument. Använd begrepp, exempel och annat innehåll på egen risk. <p> 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 <bf/ALT:/. Notera att FTP-länkar kommer att ändras lite allteftersom nya versioner av program kommer. <p> 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. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Översättningar <p> Detta dokument har översatts till följande språk: <p> Tyska, av Cristoph Seibert: <p> <tt> <htmlurl url="http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html" name="http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html"></tt> <p> Koreanska, av Kidong Lee: <p> <tt> <htmlurl url="http://www.postech.ac.kr/~cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html" name="http://www.postech.ac.kr/~cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html"></tt> <p> Franska, av Eric Jacoboni: <p> <tt> <htmlurl url="http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html" name="http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html"></tt> <p> Polska, av Piotr Pogorzelski: <bf>URL TBA</bf> <p> Norska: <p> <tt> <htmlurl url="http://www.kvaleberg.com/no-linux.html" name="http://www.kvaleberg.com/no-linux.html"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Nya versioner av detta dokument <p> Nya versioner av detta dokument kommer då och då postas till <em/comp.os.linux.answers/. De kommer även att läggas på de olika anonyma FTP-sajter som innehåller sådan information, inklusive: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO" name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO"></tt> <p> Dessutom så bör du kunna hitta detta dokument via www-sajten för Linux Documentation Project på: <p> <tt> <htmlurl url="http://sunsite.unc.edu/LDP/" name="http://sunsite.unc.edu/LDP/"></tt> <p> Den allra senaste versionen av detta dokument bör också finnas tillgänglig i olika format från: <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.txt" name="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.txt"></tt> <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.ps.gz" name="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.ps.gz"></tt> <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.tar.gz" name="ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.tar.gz"></tt> <p> <tt> <htmlurl url="http://www.kvaleberg.com/ISP-Hookup-HOWTO.html" name="http://www.kvaleberg.com/ISP-Hookup-HOWTO.html"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Feedback <p> Alla kommentarer, felrapporter, vidare information och kritik av alla de slag skall riktas till: <p> <tt> <htmlurl url="mailto:egil@kvaleberg.no" name="egil@kvaleberg.no"></tt> <p> <tt> <htmlurl url="http://www.kvaleberg.com/" name="http://www.kvaleberg.com/"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Hur ansluter jag till resten av världen? <p> 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 <tt>/dev/modem</tt>. <p> Oftast tillåter standardkonfigurationen att endast <tt/root/-användaren har direktaccess till <tt>/dev/modem</tt>. <p> För att ansluta direkt till shellkonton hos ISPn och för att experimentera med anslutningssekvenser så kan du använda programmet <em/minicom/. Det är ganska okomplicerat att använda. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>Den grundläggande konfigurationen <p> För att konfigurera maskinen för användning på Internet så måste du vara inloggad som <tt/root/. Innan du fortsätter, se till att filen <tt>/etc/hosts.deny</tt> innehåller följande rad: <tscreen><verb> ALL: ALL </verb></tscreen> Normalt vill du väl tillåta dig själv, så lägg till följande i filen <tt>/etc/hosts.allow</tt>: <tscreen><verb> ALL: LOCAL </verb></tscreen> Eller om du insisterar: <tscreen><verb> ALL: 127.0.0.1 </verb></tscreen> Notera att följande är menat för dem som är anslutna med <em/PPP/ och med <em/dynamisk IP-adress/. Om du har fördelen av att ha en fix anslutning så kommer det att vara lite annorlunda. <p> Det är trevligt att ha ett namn kopplat till maskinen, ett namn som användaren av <em/dynamisk IP/ kan välja som han eller hon vill. Lägg namnet i filen <tt>/etc/HOSTNAME</tt>: <tscreen><verb> roderick </verb></tscreen> <p> Nästa steg är att sätta upp <em/namnservern/ i filen <tt>/etc/resolv.conf</tt>: <tscreen><verb> search . nameserver 193.212.1.0 </verb></tscreen> 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. <p> Om du vill kunna använda namn som <tt/somemachine/ som en förkortning av <tt>somemachine.acme.xz</tt>, så måste du ersätta den första raden med: <tscreen><verb> search acme.xz </verb></tscreen> <p> Ett minimum av konfiguration behövs även i filen <tt>/etc/hosts</tt>. De flesta klarar sig bra med: <tscreen><verb> 127.0.0.1 localhost 0.0.0.0 roderick </verb></tscreen> De som har en fix IP-adress ersätter naturligtvis 0.0.0.0 med den. <p> Även en minimal fil <tt>/etc/networks</tt> behövs: <tscreen><verb> loopback 127.0.0.0 localnet 0.0.0.0 </verb></tscreen> <p> Du bör även sätta din externa e-postdomän i filen <tt>/etc/mailname</tt>: <tscreen><verb> acme.xz </verb></tscreen> <p> Användarnamn och lösenord hos ISPn skall specificeras i filen <tt>/etc/ppp/pap-secrets</tt>: <tscreen><verb> dirk * PrettySecret </verb></tscreen> <p> För de ISPar som använder <em/CHAP/ istället för <em/PAP/ så heter filen <tt>/etc/ppp/chap-secrets</tt>. <p> Till sist så måste man specificera hur anslutningsproceduren skall gå till. Detta görs i filen <tt>/etc/ppp/chatscript</tt>: <tscreen><verb> TIMEOUT 5 "" ATZ OK ATDT12345678 ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT WAITING TIMEOUT 45 CONNECT "" TIMEOUT 5 "name:" ppp </verb></tscreen> 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, <tt/ATZ/, med något som passar deras modem bättre. Den sista raden specificerar att man väntar sig en prompt som slutar med <tt/name:/ och att svaret på den prompten skall vara <tt/ppp/. Andra system kanske har andra inloggningsprocedurer. <p> För att verkligen initiera ett samtal, så kan <em/PPP/-protokollet initieras genom att ge följande kommando: <tscreen><verb> exec pppd connect \ 'chat -v -f /etc/ppp/chatscript' \ -detach crtscts modem defaultroute \ user dirk \ /dev/modem 38400 </verb></tscreen> <p> 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: <tscreen><verb> tail /var/adm/messages </verb></tscreen> eller <tscreen><verb> dmesg </verb></tscreen> <p> Så länge som <em/PPP/ är igång så har du direkt access till Internet och kan använda program som <em/ftp/, <em/ncftp/, <em/rlogin/, <em/telnet/, <em/finger/ osv. Alla dessa program skall finnas i nätverkspaketet. <p> Mer information om <em/PPP/ finns också tillgänglig från: <p> <tt> <htmlurl url="file:/usr/lib/ppp/README.linux" name="/usr/lib/ppp/README.linux"></tt> <p> <tt> <htmlurl url="file:/usr/lib/ppp/README.linux-chat" name="/usr/lib/ppp/README.linux-chat"></tt> <p> Till slut, en ytterligare kommentar om <em/säkerhet/. Filen <tt>/etc/inetd.conf</tt> listar alla tjänster som din maskin kommer att erbjuda externt. Med filerna <tt>/etc/hosts.deny</tt> och <tt>/etc/hosts.allow</tt> 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 <tt>/etc/hosts.allow</tt>. Lokal trafik kan tillåtas genom: <tscreen><verb> ALL: LOCAL </verb></tscreen> Se även <tt>man 5 hosts_access</tt>. <p> En viss förvirring finns beträffande namnen på <em/POP/-protokollen. En definition i filen <tt>/etc/services</tt> som är kompatibelt med det mesta är: <tscreen><verb> pop2 109/tcp pop-2 # PostOffice V.2 pop3 110/tcp pop-3 pop # PostOffice V.3 </verb></tscreen> <p> <bf/ALT:/ Istället för <tt/chatscript/ kan man använda den mer flexibla <tt/dip/. Men inte tillsammans med <em/diald/. <p> <bf/ALT:/ De som är lyckliga nog att ha en permanent <em>TCP/IP</em> anslutning tex via Ethernet kan ignorera allt som rör <em/PPP/ och istället börja ställa in sitt nätverkskort. <p> <bf/ALT:/ Andra kanske inte har möjlighet att använda <em/PPP/, men kanske har möjlighet att använda <em/SLIP/ istället, för vilket det finns ungefär samma stöd som för <em/PPP/. En annan möjlighet är <em/UUCP/. Andra kanske måste lita till <em/SOUP/ för utväxling av nyheter och e-post. En beskrivning av det senare finns på: <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz" name="ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz"></tt> <p> Programmet <em/TERM/ är också en möjlighet. Se <em/Term HOWTO/. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Hur <em/surfar/ jag? <p> Om du tycker att text är det viktigaste, så kanske du vill använda www-bläddraren <em/Lynx/. Den finns på: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz"></tt> <p> Om du har installerat fönstersystemet <em/X/, så kan du använda en av de många grafiska bläddrarna. <em/Chimera/ hittar du på: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz"></tt> <p> <tt> <htmlurl url="http://www.unlv.edu/chimera/" name="http://www.unlv.edu/chimera/"></tt> <p> <em>Mosaic</em> <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz" name="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz"></tt> <p> <tt> <htmlurl url="ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6" name="ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6"></tt> <p> <em>Netscape</em> (aka. <em>Mozilla</em>) <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz"></tt> <p> <tt> <htmlurl url="ftp://ftp.cs.uit.no/pub/www/netscape" name="ftp://ftp.cs.uit.no/pub/www/netscape"></tt> <p> Dessa bläddrare finns konstant tillgängliga i nya versioner. <p> Användning och utvärdering av dessa program får göras under särskilda omständigheter. Var vänlig att observera dem. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Hur skickar jag och tar emot e-post? <p> Till att börja med, se till att <em/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. <p> Sendmail baseras på en konfigurationsfil <tt>/etc/sendmail.cf</tt>. Ett exempel som passar för modemanvändare kan hittas på: <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/sendmail.cf" name="ftp://ftp.sol.no/user/egilk/sendmail.cf"></tt> Denna är baserad på <em/procmail/ som utskickningsagent men kan lätt modifieras för att använda <em/deliver/. <p> Det är naturligtvis nödvändigt att ha en <bf/officiell/ <em/domänadress/ för extern e-post, denna specificeras i filen <tt>sendmail.cf</tt>: <tscreen><verb> # who I masquerade as (null for no masquerading) DMacme.xz </verb></tscreen> 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: <tscreen><verb> DMdick@acme.xz </verb></tscreen> Sendmail är nu konfigurerat för att skicka <bf/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 <tt/DS/: <tscreen><verb> # "Smart" relay host (may be null) DSmail.acme.xz </verb></tscreen> Var uppmärksam på att sendmail är något känslig för <tt/tab/-tecken i filen <tt>sendmail.cf</tt>. Man kan använda editorn <em/vi/ för att vara säker på att dessa <tt/tab/-tecken behålls oförändrade. <p> E-postmottagning kan ofta göras via <em/POP3/-protokollet, vilket kan initieras varje gång anslutningen öppnas. Ett script för att testa detta är: <tscreen><verb> sendmail -q popclient -3 -v mail.acme.xz -u dirk -p "PrettySecret" \ -k -o /usr/spool/mail/dirk </verb></tscreen> Detta script kan startas efter det att <em/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 <tt/-k/ betyder att e-posten <bf/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. <p> Tänk på att lösenordet kommer att synas på kommandoraden. Notera även att <em/popclient/ börjar bli gammaldags och du borde överväga att använda <em/fetchmail/ instället. <p> En säkrare och bättre version av scriptet hittar du på: <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/pop-script.tar.gz" name="ftp://ftp.sol.no/user/egilk/pop-script.tar.gz"></tt> <p> Denna version av scriptet kräver att <em/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: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz"></tt> <p> 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 <em/vacation/-meddelanden och liknande. <p> 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 <tt/.forward/-fil eller en <tt/.procmailrc/-fil. Den senare krävs endast om man vill sortera e-posten. <p> Användargränssnittet för att läsa och skriva e-post finns i program som <em/pine/ eller <em/elm/. <p> <bf/ALT:/ <em/fetchmail/ har nyligen blivit ett bättre alternativ än <em/popclient/. Den senaste versionen finns på: <p> <tt> <htmlurl url="ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz" name="ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz"></tt> <p> <bf/ALT:/ För en vanlig modemanvändare är det egentligen inte nödvändigt att ha <em/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 <tt>/etc/rc.d/rc.M</tt> (detta varierar mellan distributioner). <p> <bf/ALT:/ Istället för <em/sendmail/ kan man använda det något enklare <em/smail/. Du hittar en bra beskrivning av det (så väl som det mesta av det andra som nämns här) i <em/Linux Network Administrator's Guide/. <p> <bf/ALT:/ Det finns även ett <em/m4/ makropaket för att göra en ren <tt>/etc/sendmail.cf</tt>. För en enkel installation kan det vara lika bra att modifiera en existerande konfiguration. <p> <bf/ALT:/ Det finns även enklare men mindre flexibla sätt att hantera e-post. <em/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. <p> <bf/ALT:/ Många är väldigt entusiastiska beträffande Emacs-kompanionen <em/Gnus/ som e-post och nyhetshanterare. Mer information finns på: <p> <tt> <htmlurl url="http://www.ifi.uio.no/~larsi/" name="http://www.ifi.uio.no/~larsi/"></tt> <p> <bf>ALT:</bf> Ett alternativ till <em>popclient</em> är <em>pop-perl5</em>. Det finns tillgängligt från: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Nyheter <sect1>Hur sätter jag upp en on-line nyhetsläsare? <p> Så länge <em/PPP/ är igång så går det att läsa nyheter <bf/online/. Det finns många program för detta, två enkla alternativ är <em/rtin/ och <em/trn/. <p> För att läsa nyheter så är det enda som behövs, i fråga om konfiguration, att specificera omgivningsvariabeln <em/NNTPSERVER/, vanligtvis en gång för alla i filen <tt/.profile/: <tscreen><verb> export NNTPSERVER=news.acme.xz </verb></tscreen> <p> För att få <em/Från/-adressen korrekt i sina inlägg, så <em/kan/ vissa program kräva: <tscreen><verb> export NNTP_INEWS_DOMAIN=acme.xz </verb></tscreen> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>Hur sätter jag upp en off-line nyhetsläsare? <p> 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 <em/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å. <p> Två olika lösningar beskrivs här. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Hur sätter jag upp C News? <p> Lösningen som beskrivs här baseras på nyhetsservern <em/C News/ och protokollet <em/NNTP/. Från början var <em/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 <em/INN/, men den kräver något mer resurser. Hur som helst, se till att <bf/inte/ installera båda; de fungerar inte bra tillsammans. <p> Det är ett måste att allt underhåll av nyheterna görs när man är inloggad som användaren <em/news/, och att alla konfigurationsfiler placeras i katalogen <tt>/usr/lib/news</tt>. Ett sätt att fixa detta är genom att, när man är inloggad som <em/root/, skriva <tt>su news; cd</tt> <p> De viktigaste filerna att konfigurera är: <p> <itemize> <item><tt/active/ är en överblick över aktiva nyhetsgrupper. Den uppdateras med kommandot <em/addgroup/, tex <tt/addgroup comp.os.linux.networking y/. <item><tt/organization/ skall endast innehålla det du vill skall stå i fältet <em/Organization:/ i dina inlägg, i vårt fall: </itemize> <tscreen><verb> Dirk Gently's Holistic Detective Agency </verb></tscreen> <p> <itemize> <item><tt/mailname/ skall i vårt fall innehålla <tt/acme.xz/. <item><tt/whoami/ innehåller namnet på din sajt i <em/Path:/-tråden. I en konfiguration som den som beskrivs här, om man använder <em/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 <tt/roderick/. <item>Filen <tt/sys/ kontrollerar hämtning och vidarebefodring av nyheter. Vi antar ISPn i vårt fall och lägger till <tt/acme.xz/ till <em/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 <tt/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. <tt>/all</tt> specificerar distributionen och <bf/måste/ inkluderas. Bokstaven <tt/F/ säger att (referenser till) utgående nyhetsartiklar kommer att samlas i en fil. </itemize> <tscreen><verb> ME:all/all:: acme/acme.xz:all,!junk/all:FL: </verb></tscreen> <p> <itemize> <item>En underkatalog för utgående nyheter måste skapas, i vårt fall: </itemize> <tscreen><verb> mkdir /var/spool/news/out.going/acme </verb></tscreen> <p> <itemize> <item><tt/mailpaths/ kontrollerar inlägg i kontrollerade (moderated) grupper, även om denna uppgift vanligtvis utförs av ISPn. </itemize> <p> C News kräver ett visst dagligt underhåll, men detta kan specificeras en gång för alla via kommandot <tt/crontab -e/, angivet som användaren <em/news/. En möjlig konfiguration följer; den kan finjusteras efter behov: <tscreen><verb> # 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 </verb></tscreen> <tt/newsrun/ flyttar in och ut artiklar (två gånger i timmen), <tt/doexpire/ tar bort gamla artiklar (varje natt klockan 00:30), och de tre sista kommandona utför olika övervaknings och felkontrolluppgifter. <p> Man skall se till att det städas upp när man startar maskinen. Som användare <em/root/, lägg till följande i <tt>/etc/rc.d/rc.local</tt>: <tscreen><verb> su news -c /usr/lib/newsbin/maint/newsboot </verb></tscreen> Nyheter kan samlas ihop med programmet <em/NewsX/, som hämtar dem från en <em/NNTP/-server. Programmet kan hittas på: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz"></tt> eller: <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz" name="ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz"></tt> <p> Att sätta upp <em/NewsX/ är ganska enkelt. Installationen är ett klassiskt fall av: <tscreen><verb> make su make install exit </verb></tscreen> <p> 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 <em/addgroup/. <p> För att hämta artiklar så utför användaren <em/news/ följande kommandon (med antagandet att kommunikationen sker via PPP eller något liknande): <tscreen><verb> newsrun newsx acme news.acme.xz newsrun </verb></tscreen> <p> Parametern <tt/-d/ ger utskrift till skärmen. Se dokumentationen för NewsX för mer information. <p> NewsX tar även hand om att skicka iväg utgående artiklar. <p> För att kontrollera borttagning av artikler allt eftersom de blir gamla så behövs en fil <tt/explist/. Kommentarerna i detta exempel bör förklara vad vi vill göra: <tscreen><verb> # 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 - </verb></tscreen> <p> <bf/ALT:/ I en liten nyhets-spool behöver man oftast inte nyhetsgruppen <tt/control/. Trafiken är <bf/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 <tt/newgroup/ inte skall förstöra saker och ting för oss, så specificerar filen <tt/newgroupperm/ vad vi tillåter: <tscreen><verb> comp.os.linux tale@uunet.com yv all any nq </verb></tscreen> I detta exemplet så skapas (y) alla riktiga grupper under <em/comp.os.linux/ och användaren <em/news/ kommer att meddelas (v). Allt annat ignoreras (n) tyst (q). Sista raden räcker om du vill skapa alla grupper manuellt. <p> <bf/ALT:/ Ett alternativ till NewsX är <em/suck/. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Hur sätter jag upp <em/leafnode/? <p> En annan lösning är att installera det integrerade paketet <em/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: <p> <tt> <htmlurl url="http://www.troll.no/freebies/leafnode.html" name="http://www.troll.no/freebies/leafnode.html"></tt> <p> Som för C News, så bör allt underhåll göras som användaren <em/news/. <p> Hemkatalogen för leafnode är i <tt>/usr/lib/leafnode</tt>. För att installera så skriver du: <tscreen><verb> cd /usr/lib/leafnode tar -xzvf leafnode-0.8.tgz cd leafnode-0.8 make su make install </verb></tscreen> <p> Notera att i det som följer så skall prefixet <tt>/usr/local/sbin</tt> ersättas med <tt>/usr/sbin</tt> om du installerade leafnode från ett paket. <p> När du fortfarande är inloggad som <em/root/, ändra raderna som kontrollerar <em/NNTP/ i filen <tt>/etc/inetd.conf</tt>: <tscreen><verb> nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode </verb></tscreen> Aktivera det med: <tscreen><verb> killall -HUP inetd </verb></tscreen> <p> Återvänd till användaren <em/news/ genom att skriva <tt/exit/. Ändra sedan raden som definierar <em/NNTP/-servern i filen <tt>/usr/lib/leafnode/config</tt>. I vårt fall: <tscreen><verb> server = news.acme.xz </verb></tscreen> <p> Leafnode sköter sig självt ifall man som användare <em/news/ lägger till följande via <tt>crontab -e</tt>: <tscreen><verb> # expire Leafnode, once a day 0 4 * * * /usr/local/sbin/texpire </verb></tscreen> <p>Användare som vill läsa nyheter skall sedan använda receptet i <em/Hur sätter jag upp en on-line nyhetsläsare/, förutom att de skall konfigurera det för den lokala maskinen, dvs: <tscreen><verb> export NNTPSERVER=localhost </verb></tscreen> <p> 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. <p> Observera att leafnode inte verkar fungera i de fall när NNTP auktorisering krävs. <p> <bf/ALT:/ Ett alternativ till leafnode är <em/nntpcache/, tillgängligt på: <p> <tt> <htmlurl url="ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz" name="ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz"></tt> <bf/ALT:/ Ett annat alternativ är att använda nyhetsläsaren <em/slrn/ tillsammans med <em/slrnpull/-paketet. Nyhetsläsaren måste kompileras med alternativet <tt/spool/. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Hur automatiserar jag anslutningsförfarandet? <p> Automatisk hantering av nyheter och e-post är ganska enkelt att implementera i Linux. <p> Först och främst skall man ha en fil <tt>/usr/lib/ppp/ppp-on</tt> som initierar ISP-anslutningen. Ofta så innehåller den filen följande: <tscreen><verb> /usr/sbin/pppd </verb></tscreen> Vidare specificering görs i filen <tt>/etc/ppp/options</tt>: <tscreen><verb> connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript" crtscts modem defaultroute asyncmap 00000000 user dirk /dev/modem 38400 </verb></tscreen> <p> För att avsluta en anslutning, använd den tillgängliga versionen av <tt>/usr/lib/ppp/ppp-off</tt>. <p> 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 <tt>/home/dirk/pop</tt>. <p> Ett script för utbyte av e-post kan sedan göras i <tt>/root/mail</tt>: <tscreen><verb> #! /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 </verb></tscreen> <p> Scriptet för utbyte av nyheter kan placeras i <tt>/usr/lib/news/news</tt>: <tscreen><verb> #!/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 </verb></tscreen> Ett script för att koppla samman de olika delarna återstår och kan placeras i <tt>/root/news+mail</tt>: <tscreen><verb> #!/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 </verb></tscreen> <p> 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 <tt>/root/news+mail.cond</tt>, och kom ihåg att namnet på den utgående nyhets-spoolen måste vara den man använder: <tscreen><verb> #!/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 </verb></tscreen> <p> Det enda som återstår är att specificera när allt skall hända. Detta görs genom att använda kommandot <tt/crontab -e/ som <em/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: <tscreen><verb> 00 7 * * * /root/news+mail 00 11,15,19,23 * * * /root/news+mail.cond </verb></tscreen> 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 <em/ntpdate/), och automatiskt uppdatera (spegla) lokalt underhållna WWW och FTP filer till ISPn (genom att använda <em/make/ och <em/ftp/). <p> <bf/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 <tt>/etc/ppp/ip-up</tt>. Här kan man lägga in den magi som krävs för att skicka och ta emot nyheter och e-post. Se <tt/man pppd/ för mer information. <p> <bf/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å: <p> <tt> <htmlurl url="http://www.dna.lth.se/~erics/diald.html" name="http://www.dna.lth.se/~erics/diald.html"></tt> <p> Programmet <em/diald/ finns på: <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz"></tt> <p> På samma ställe hittar man också andra variationer på temat PPP-anslutningar. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>Slutord <sect1>Andra saker som jag bör veta? <p> <itemize> <item>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 <tt>/etc/aliases</tt>. Kom ihåg kommandot <em/newaliases/ varje gång du ändrar i denna. Ett exempel: </itemize> <tscreen><verb> PostMaster: root ftp: root news: root usenet: root FaxMaster: root fax: root WebMaster: root MAILER.DAEMON: root </verb></tscreen> <p> <itemize> <item>Många program för Linux hittar man på <bf/Sunsite/, som är ganska hårt belastad. Men det finns många <em/speglingar/ och varje gång det refereras till <tt>ftp://sunsite.unc.edu/pub/Linux/..</tt> så bör man försöka hitta en spegel i sitt område, tex <tt>ftp://ftp.nvg.unit.no/pub/linux/sunsite/..</tt>. <item>Om du händelsevis byter från <em/Yarn/ så är det möjligt att dessa till standardfoldrar med <em/yarn2mf/ som finns på: </itemize> <p> <tt> <htmlurl url="ftp://ftp.sol.no/user/egilk/yarn2mf.zip" name="ftp://ftp.sol.no/user/egilk/yarn2mf.zip"></tt> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect> ISP-specifik information <p> Mer specifik information för vissa ISP finns tillgängliga från ett antal ställen: <p> <bf>Demon Internet</bf> <p> <tt> <htmlurl url="ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz" name="ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz"></tt> <p> <bf>Netcom</bf> <p> <tt> <htmlurl url="http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.cfg.html" name="http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.cfg.html"></tt> <p> <bf>PowerTech, Telenor Online, Telia</bf> PowerTech Telenor Online, Telia <p> <tt> <htmlurl url="http://www.kvaleberg.com/no-isp.html" name="http://www.kvaleberg.com/no-isp.html"></tt> <p> <bf>Stanford</bf> <p> <tt> <htmlurl url="http://www-leland.stanford.edu/~wkn/Linux/network/network.html" name="http://www-leland.stanford.edu/~wkn/Linux/network/network.html"></tt> <p> <bf>MCI</bf> <p> <tt> <htmlurl url="http://www.kvaleberg.com/linux-mci.html" name="http://www.kvaleberg.com/linux-mci.html"></tt> <p> <bf>SISCOM</bf> <p> <tt> <htmlurl url="http://www.siscom.net/support/linux_setup.htm" name="http://www.siscom.net/support/linux_setup.htm"></tt> <p> <bf/AOL/ är inte möjligt eftersom AOL använder ett patentskyddat protokoll. <p> Om du kan tillhandahålla ISP-specifik information som inte listas här så hör gärna av dig. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1> Hur får jag reda på mer? <p> Boken <em/Linux Network Administrator's Guide/ av Olaf Kirch, som ingår i <em/Linux Documentation Project/ är nästan obligatorisk för alla som vill sätta upp och underhålla någonting som innefattar <em>TCP/IP</em> och <em/Internet/ <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz"></tt> <p> 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: <tscreen><verb> man pppd </verb></tscreen> <p> Du hittar även dokumentation om vissa program i katalogen <tt>/usr/doc</tt>, den är dock inte alltid så välstrukturerad. <p> Följande HOWTOs är högst relevanta: <p> <itemize> <item> <bf>Installation-HOWTO</bf> reder ut grunderna. <item> <bf>NET-3-HOWTO</bf> ä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å. <item> <bf>Mail-HOWTO</bf> förklarar hur man konfigurerar diverse verktyg. Även det mesta av detta skall vara gjort i din distribution. <item> <bf>News-HOWTO</bf> beskriver hur man sätter upp en (konventionell) nyhets-spool. <item> <bf>Tiny-News</bf> täcker ytterligare ett alternativ för att hämta nyheter. <item> <bf>PPP-HOWTO</bf> är en bra beskrivning av problem som du kan stöta på när du sätter upp en PPP-anslutning. <item> <bf>Serial-HOWTO</bf> innehåller allt du behöver veta om hur man sätter upp seriella portar. <item> <bf>Mail-Queue</bf> beskriver hur du ställer in <em/sendmail/ att alltid köa upp extern e-post men leverera lokal e-post direkt. </itemize> <p> <em/Red Hat/ har en e-postlista för PPP-frågor; för att gå med skicka ett e-postmeddelande till <p> <tt> <htmlurl url="mailto:redhat-ppp-list-request" name="redhat-ppp-list-request"></tt> med ämnesraden: <tscreen><verb> subscribe </verb></tscreen> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect> Tack till <p> Informationen här är hämtad från många källor. Tack till följande personer som har bidragit antingen direkt eller indirekt: <tscreen><verb> 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> </verb></tscreen> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> </article>