egil@kvaleberg.no
bokkie@nl.linux.org
Deze beschrijving werd gemaakt om een paar vragen te beantwoorden, over hoe dial-up ISP (Internet Service Provider) abonnees, Linux kunnen configureren en gebruiken.
Om degenen te helpen die hun op Linux gebaseerde computers voor de eerste keer met een ISP zullen verbinden, is er een poging gedaan om de meeste zaken, die zullen worden aangetroffen, te behandelen. Dit zal onvermijdelijk zorgen voor een bepaalde overlap met andere Linux Howto-documenten en LDP-boeken. Er zal naar deze documenten worden gerefereerd om in een beter begrip en details te voorzien.
Veel van de bestaande documentatie is gericht op gebruikers met een bepaalde mate ervaring, en beginnelingen zullen vaak moeite hebben om de relevante informatie er uit te filteren.
Ter vereenvoudiging zal bij de gegeven voorbeelden van het volgende worden uitgaan:
dirk
PrettySecret
acme.xz
mail.acme.xz
news.acme.xz
193.212.1.0
12345678
Onze dirk
zal zijn computer roderick
gaan bellen.
Alle referenties in de tabel hierboven moeten uiteraard worden vervangen door wat dan ook geldig is voor de ISP die men gebruikt. Vaak zijn er slechts een paar wijzigingen nodig die vereist zijn voor gebruikers met andere ISP's. Ik zou graag worden geïnformeerd over welke problemen je ondervindt bij deze account.
Copyright (c) 1996,1997,1998 door Egil Kvaleberg. Dit document mag worden gedistribueerd onder de voorwaarden zoals ze in de LDP-licentie zijn uiteengezet.
http://sunsite.unc.edu/LDP/COPYRIGHT.html
Er kan geen verantwoordelijkheid voor de inhoud van deze documenten worden geaccepteerd. Gebruik de concepten, voorbeelden en andere inhoud op eigen risico.
Één van de vele mogelijke setups zal worden beschreven. In de Linux wereld zijn er over het algemeen een aantal manieren waarop zaken kunnen worden bewerkstelligd. Paragrafen met alternatieve hints zijn gemarkeerd met ALT: Bedenk ook alsjeblieft dat FTP-verwijzingen vaak iets zullen wijzigen als er nieuwe versies van programma's zijn.
Alleen die programma's zullen worden beschreven, die voor zover ik weet, voor persoonlijke doeleinden mogen worden gebruikt of geëvalueerd. De meeste programma's zullen compleet met source beschikbaar zijn onder GNU-vergelijkbare voorwaarden.
Dit document is vertaald naar de volgende talen:
Duits, door Cristoph Seibert:
http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html
Koreaans, door Kidong Lee:
http://www.postech.ac.kr/~cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html
Frans, door Eric Jacoboni:
http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html
Pools, door Piotr Pogorzelski: URL TBA
Norweegs:
http://www.kvaleberg.com/no-linux.html
Nieuwe versies van dit document zullen periodiek worden gepost naar comp.os.linux.answers. Ze zullen ook aan de diverse anonieme FTP sites worden toegevoegd die dergelijke informatie archiveren, waaronder:
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO
Bovendien zou je dit document gewoonlijk kunnen vinden op de pagina van het Linux Documentatie Project, via:
De allerlaatste versie van dit document zou ook in diverse formaten beschikbaar moeten zijn vanaf:
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
Al het commentaar, rapporteren van fouten, aanvullende informatie en kritiek kan worden geadresseerd aan:
Er zal vanuit worden gegaan dat de ter zake doende netwerk-software modules van je Linux-distributie zijn geïnstalleerd en dat je de seriële poort die je zult gaan gebruiken als /dev/modem hebt ingesteld.
De standaardconfiguratie zal je meestal slechts als gebruiker
root
toegang geven tot /dev/modem.
Om direct contact te maken met ISP shell-accounts, en om met verbindingsreeksen te experimenteren, kun je het programma minicom gebruiken. Het is tamelijk eenvoudig in het gebruik.
Configuratie van de computer voor gebruik op het net zou moeten worden
gedaan als gebruiker root
. Zorg ervoor dat de volgende regel
in het bestand
/etc/hosts.deny staat:
ALL: ALL
voordat je verdergaat.
Je zou normaal gesproken jezelf willen toelaten, dus voeg de volgende regel toe aan /etc/hosts.allow:
ALL: LOCAL
Of als je er op staat:
ALL: 127.0.0.1
Bedenk dat het volgende voor die mensen is bedoeld, die zijn aangesloten via PPP en met een dynamisch IP adres. Als je het voordeel van een vaste verbinding hebt, zullen er een paar verschillen zijn.
Het is prettig om een naam aan de computer verbonden te hebben, een naam welke de dynamische IP-gebruiker echt kan selecteren zoals hij of zij dat wil. Plaats de naam in /etc/HOSTNAME:
roderick
De volgende stap is om de name server in /etc/resolv.conf in te stellen:
search .
nameserver 193.212.1.0
De name server moet door een numeriek IP-adres zijn aangegeven, en zal van ISP tot ISP anders zijn. Als dit is vereist, kun je tot drie verschillende servers voor laten komen, ieder op een aparte regel. Ze zullen in de volgorde, waarin ze staan, worden ondervraagd.
Als je namen zoals somemachine
zou willen gebruiken, als
afkorting voor somemachine.acme.xz
, moet je de eerste
regel vervangen door:
search acme.xz
Een bepaalde minimumconfiguratie is ook vereist in /etc/hosts. De meeste gebruikers hebben voldoende aan:
127.0.0.1 localhost
0.0.0.0 roderick
Degenen met een vast IP-adres zullen 0.0.0.0 uiteraard vervangen door dat vaste IP-adres.
Eveneens, een minimum /etc/networks is:
loopback 127.0.0.0
localnet 0.0.0.0
Je zou ook je externe maildomein in /etc/mailname:
acme.xz
in moeten stellen.
De gebruikersnaam en het wachtwoord bij de ISP moeten worden aangegeven in /etc/ppp/pap-secrets
dirk * PrettySecret
Voor de ISP's die gebruik maken van CHAP in plaats van PAP is de bestandsnaam /etc/ppp/chap-secrets.
Als laatste, de bijzonderheid betreffende de verbindingsprocedure zelf moet worden gespecificeerd voordat PPP kan worden geïnitialiseerd. Dit wordt gedaan in /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
Het zou kunnen dat de details hier wat moeten worden aangepast.
Het telefoonnummer in de derde regel moet natuurlijk zoals vereist
zijn ingesteld. Voor een aantal gebruikers is het misschien nodig
om de initialisatie-string ATZ
van het modem te vervangen
door het iets meer aan te passen voor het modem dat wordt gebruikt.
De laatste regel specificeert dat men een prompt verwacht, die eindigt met
name:
, en dat de reactie
ppp
zouden moeten zijn, als het arriveert.
Andere systemen hebben mogelijk andere login-procedures.
Om de verbinding werkelijk op gang te brengen, kan het PPP-protocol worden begonnen door het volgende commando aan te roepen:
exec pppd connect \
'chat -v -f /etc/ppp/chatscript' \
-detach crtscts modem defaultroute \
user dirk \
/dev/modem 38400
We zouden nu `in de lucht' moeten zijn, houd dit zo, totdat het programma wordt beëindigd door het intikken van ctrl-C. Meldingen betreffende de verbinding zullen aan de systeemlogs worden toegevoegd.
Probeer ze te lezen:
tail /var/adm/messages
of
dmesg
Zolang PPP actief is, heb je directe toegang tot het Internet en kan je programma's zoals ftp, ncftp, rlogin, telnet, finger enz. gebruiken. Al deze programma's zouden onderdeel uit moeten maken van het netwerk-package.
Verdere informatie aangaande PPP is ook beschikbaar vanaf:
/usr/lib/ppp/README.linux-chat
Als laatste een extra woord over beveiliging. Het bestand /etc/inetd.conf somt alle services op, die je computer extern zal bieden. Met het bestand /etc/hosts.deny dat we hebben gemaakt, zal er geen externe toegang zijn toegestaan. Voor degene die het nodig hebben, moet toegang expliciet in /etc/hosts.allow zijn toegestaan. Lokaal verkeer kan worden toegestaan met:
ALL: LOCAL
Zie ook man 5 hosts_access
.
Een klein laatste punt: Er bestaat wat verwarring betreffende de namen van de POP protocollen. Een definitie in /etc/services compatibel met zo ongeveer alles is:
pop2 109/tcp pop-2 # PostOffice V.2
pop3 110/tcp pop-3 pop # PostOffice V.3
ALT: In plaats van chatscript, kan men de veel flexibelere dip gebruiken. Maar niet in combinatie met diald.
ALT: De gelukkigen met een permanente TCP/IP-verbinding via b.v. een Ethernet kunnen alles over PPP gerust negeren en beter beginnen zich te concentreren op het instellen van hun netwerkkaart.
ALT: Anderen hebben misschien niet de mogelijkheid om gebruik te maken van PPP, maar kunnen in plaats daarvan gebruik maken van SLIP, waarvoor op vrijwel dezelfde wijze ondersteuning is als voor PPP. Een andere mogelijkheid is UUCP. Weer anderen zijn afhankelijk van de uitwisseling van news en email door middel van SOUP. Een beschrijving van de laatste situatie kan worden gevonden in:
ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz
Ook het TERM programma is een optie. Raadpleeg hiervoor de Term-HOWTO.
Als je tekst het belangrijkste vindt, zou je de Lynx-browser uit kunnen proberen. Het is beschikbaar vanaf:
ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz
Als je het X window systeem hebt geïnstalleerd, kun je ook één van de vele grafische browsers gebruiken. Chimera kan worden gevonden bij:
ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz
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 (ala Mozilla)
ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz
ftp://ftp.cs.uit.no/pub/www/netscape
Deze browsers zijn continue beschikbaar in nieuwe en diverse spannende versies.
Gebruik en evaluatie van deze programma's is onderworpen aan bepaalde voorwaarden. Neem ze alsjeblieft in acht.
Zorg er als eerste voor dat sendmail is geïnstalleerd. Sendmail sorteert interne en uitgaande mail, en zal uitgaande mail bufferen totdat het mogelijk is het door te sturen.
Sendmail is gebaseerd op een configuratie die te vinden is in /etc/sendmail.cf. Een voor ISP-gebruikers geschikt voorbeeld kan worden gevonden in:
ftp://ftp.sol.no/user/egilk/sendmail.cf
Dit is gebaseerd op procmail als een delivery agent maar kan makkelijk worden gewijzigd om als een bezorger te gebruiken.
Voor uitgaande mail is natuurlijk een officieel domein adres vereist, iets dat in sendmail.cf staat aangegeven:
# als wie doe ik me voor (null voor geen masquerading)
DMacme.xz
Hierbij wordt ervan uitgegaan dat je lokale gebruikersnaam gelijk is aan die bij je ISP. Geef als ze verschillend zijn, in plaats daarvan gewoon de volledige naam op:
DMdick@acme.xz
Sendmail is nu voor het zenden direct met de ontvanger geconfigureerd. Om lange en herhalende verbindingen te voorkomen, in die gevallen waarbij de verbinding met de ontvangende partij langzaam en onregelmatig is, is het vaak prettig om één ISP als een bufferopslag te gebruiken.
Dit kan worden aangegeven met de DS specificatie:
# "Smart" relay host (kan null zijn)
DSmail.acme.xz
Let erop dat sendmail wat gevoelig kan zijn bij het afhandelen van tabstop tekens in sendmail.cf. Misschien dat je de vi editor wilt gebruiken om er zeker van te zijn dat deze tab-tekens ongewijzigd blijven.
Email-ontvangst kan vaak worden verricht via het POP3 protocol, welke iedere keer dat de verbinding tot stand is gebracht, op gang kan worden gebracht. Een script om dit te testen is:
sendmail -q
popclient -3 -v mail.acme.xz -u dirk -p "PrettySecret" \
-k -o /usr/spool/mail/dirk
Dit script kan worden gestart nadat de
PPP-verbinding tot stand is gebracht.
Houd wel in de gaten dat dit script alleen bedoeld is voor het testen,
dus zorg ervoor dat de lokale mailbox onaangeroerd blijft als het wordt
uitgevoerd.
De optie -k
betekent dat de mail in de mailbox van de ISP
bewaard blijft, en dat je gewoon een kopie van de mail krijgt.
Je zou deze optie natuurlijk willen verwijderen zodra je er van bent
overtuigd dat je setup functioneert.
Denk erom dat het wachtwoord op de commando-regel zal worden getoond. Merk ook op dat popclient ouderwets begint te geraken, en dat je zou kunnen overwegen om in plaats daarvan fetchmail te gebruiken.
Een veiliger en betere versie van dit script kan worden gevonden bij:
ftp://ftp.sol.no/user/egilk/pop-script.tar.gz
Deze versie van het script vereist dat procmail is geïnstalleerd, maar dat is toch iets waar je nooit spijt van zult krijgen. Het bevindt zich in de meeste distributies, en anders kun je het volgende proberen:
ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz
Procmail is een eenvoudig en flexibel hulpmiddel dat inkomende email, gebaseerd op een breed kriteriabereik, kan sorteren. Bovendien is het in staat om automatisch taken zoals vacation berichten en dergelijke, af te handelen.
Merk op dat wanneer we procmail direct gebruiken, zoals in dit geval, de situatie iets anders is, dan zoals beschreven in de documentatie van procmail. Een .forward is niet vereist, en we hebben ook geen .procmailrc nodig. Het laatste is alleen nodig als we de mail willen sorteren.
De gebruikersinterface voor het lezen en versturen van email kan worden gevonden in programma's zoals pine of elm.
ALT: Fetchmail is onlangs een verbeterd alternatief geworden ten opzichte van popclient. De laatste versie is beschikbaar vanaf:
ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz
ALT: Voor een gewone dial-up ISP-gebruiker is het niet echt nodig om de sendmaildaemon actief te hebben. Om het gebruik van bronnen, en mogelijk andere problemen te verminderen, kan men voor elke opstart van sendmail een commentaarteken plaatsen, aangezien het meestal is te vinden in /etc/rc.d/rc.M (dit varieert van distributie tot distributie).
ALT: In plaats van sendmail zou men ook gebruik kunnen maken van de eenvoudiger smail. Een goede beschrijving ervan (als ook de meeste andere zaken die hier zijn benoemd) is te vinden in de Linux Network Administrator's Guide.
ALT: Er bestaat ook een m4 macro-package voor het maken van een nieuwe /etc/sendmail.cf. Voor een eenvoudige installatie kan het misschien ook goed zijn om een bestaande configuratie te wijzigen.
ALT: Er is ook een eenvoudiger alhoewel minder flexibeler alternatief voor het afhandelen van email. Bijvoorbeeld, Pine kan stand-alone worden uitgevoerd, zolang het maar juist is geconfigureerd. Het is misschien zelfs mogelijk nieuwere versies van een aantal web-browsers te gebruiken.
ALT: Velen zijn zeer enthousiast over de Emacs metgezel Gnus als een email en news handler. Verdere informatie is te vinden op:
ALT: Een alternatief voor popclient is pop-perl5. Het is beschikbaar vanaf:
ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz
Zolang PPP actief is, zal het mogelijk zijn news online te lezen. Er zijn erg veel programma's beschikbaar, twee eenvoudige alternatieven zijn rtin en trn.
Het enige dat in termen van configuratie in de meeste gevallen is vereist voor het lezen van news, is de NNTPSERVER in te stellen (meestal slechts éénmalig in het bestand .profile):
export NNTPSERVER=news.acme.xz
Om in postings het From-adres goed te krijgen, kunnen een aantal programma's als vereiste stellen:
export NNTP_INEWS_DOMAIN=acme.xz
Om news te kunnen lezen als je offline bent om de telefoonrekeningen te beperken en betere flexibiliteit te verkrijgen, moet men een lokale news-spool van de ene of andere soort instellen. Hiervoor is wat configuratie vereist, en er zal ook een bepaalde hoeveelheid diskruimte voor nodig zijn. Na de initiële setup, zullen zaken min of meer uit zichzelf draaien, waarbij er slechts zo af en toe aandacht aan moet worden geschonken.
Er zullen hier twee verschillende oplossingen worden beschreven.
De oplossing die hier wordt beschreven is gebaseerd op de news-server C News en het NNTP protocol. C News was oorspronkelijk gericht op een andere soort configuratie, maar is flexibel genoeg ook onze situatie af te kunnen handelen. Men zou ook de wat recentere INN news server kunnen gebruiken, maar hier zouden wat meer bronnen voor nodig kunnen zijn. Hoe dan ook, zorg ervoor dat je ze niet beiden installeert; ze zijn niet makkelijk tegelijk te gebruiken.
Het is van groot belang dat alle beheer van news als gebruiker
news
wordt uitgevoerd, en dat alle configuratiebestanden
in
/usr/lib/news zijn geplaatst.
Één manier om hiermee om te gaan is, als je als
root
bent ingelogd, te schrijven su news;
cd
.
De belangrijkste bestanden in de configuratie zijn:
addgroup
comp.os.linux.networking y
.
Dirk Gently's Holistic Detective Agency
acme.xz
.site
in de Path: thread.
In een setup zoals hier beschreven, met gebruik van
newsx, zal deze naam alleen op de computer zelf beschikbaar
zijn, dus je kunt dit instellen op wat je wilt zolang je
er tamelijk zeker van bent dat het uniek is.
In dit geval roderick
.acme.xz
aan het Path toevoegt, en dat
dit de enige news-source is die we hebben.
Het gegeven voorbeeld vertelt eigenlijk dat we alles zullen accepteren
wat arriveert, en dat we alleen news naar acme.xz
zullen
posten wat het voorheen nog niet eerder heeft gezien,
en oorspronkelijk op onze eigen site is gepost.
In deze vereenvoudigde setup gaan we ervan uit dat alle groepen
vanaf een enkele bron zullen komen.
/all
specificeert de distributie en
moet worden opgenomen. De letter F
geeft aan
dat (verwijzingen naar) uitgaande news-artikelen in een bestand zullen worden
verzameld.
ME:all/all::
acme/acme.xz:all,!junk/all:FL:
mkdir /var/spool/news/out.going/acme
C News heeft een bepaalde mate van dagelijks beheer nodig, maar dit
kan voor eens en voor altijd worden aangegeven via het commando
crontab -e
dat als gebruiker news
wordt
uitgevoerd. Er volgt nog een aanbevolen setup;
het kan zoals gewenst beter worden afgestemd:
# beheer van inkomende en uitgaande batches
10,40 * * * * /usr/lib/newsbin/input/newsrun
# expire C News, éénmaal per dag
30 0 * * * /usr/lib/newsbin/expire/doexpire
# monitor en rapporteer zonodig
00 2 * * sat /usr/lib/newsbin/maint/addmissing
40 3 * * * /usr/lib/newsbin/maint/newswatch
50 3 * * * /usr/lib/newsbin/maint/newsdaily
newsrun verplaatst de artikelen (twee keer per uur), doexpire zal artikelen verwijderen als ze oud worden (iedere nacht om 00:30), en de drie laatste commando's verrichten diverse supervisor en fout-corrigerende taken.
Eigenlijk zou men er ook zeker van moeten zijn dat er bij het starten van de computer wordt opgeschoond. Voeg, als gebruiker root, de volgende regel toe aan /etc/rc.d/rc.local:
su news -c /usr/lib/newsbin/maint/newsboot
News kan worden verzameld via het programma NewsX, ophalen van news vanaf een NNTP-server Het programma kan worden gevonden bij:
ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz
Of:
ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz
Het instellen van NewsX
is heel eenvoudig.
Installatie is een klassiek geval van:
make
su
make install
exit
Met de hier geschetste setup, hoef je slechts met addgroup de groepen aan te maken die je wilt lezen.
Gebruiker news
roept de volgende commando's aan
om artikelen op te halen (uitgaande van een actieve PPP-verbinding of
iets vergelijkbaars):
newsrun
newsx acme news.acme.xz
newsrun
De optie -d
geeft een continue weergave op het scherm.
Raadpleeg de documentatie van NewsX voor verdere informatie.
NewsX zorgt ook voor het posten van uitgaande nieuwsberichten.
Om de beschikbaarheid te hebben over het beheer van oude artikelen,
is een bestand met de naam
explist
vereist. Het commentaar is dit voorbeeld
zou aan moeten geven wat we willen:
# houd vast aan een history van 14 dagen, niemand krijg >120 dagen
/expired/ x 14 -
/bounds/ x 0-1-120 -
# behoud deze voor 2 maanden
comp.sources,comp.os.linux.all x 60 -
# rommel wordt snel weggegooid
junk,control x 2 -
# standaard: 14 dagen, geen archief
all x 14 -
ALT: In een kleine news-spool, zal men de nieuwsgroep
control
meestal niet nodig hebben.
Het verkeer vergeleken met de mogelijke bruikbaarheid is hoog.
Waar het als belangrijkste op aankomt is dat artikelen zullen worden
gecanceled en groepen automatisch kunnen worden aangemaakt.
Om er zeker van te zijn dat beheerberichten met daarin
newgroup
er voor ons geen rommeltje van zal maken, geeft een bestand
genaamd
newgroupperm wat we toe zullen
staan:
comp.os.linux tale@uunet.com yv
all any nq
In dit voorbeeld zullen alle eigenlijke groepen onder comp.os.linux worden
aangemaakt (y) en de gebruiker news
zal op de hoogte worden
gesteld (v). Al het andere zal "in stilte" (q) worden genegeerd (n).
De laatste regel volstaat als je alle groupen handmatig aan wil maken.
ALT: Een alternatief voor NewsX is suck.
Een andere oplossing voor het geheel is het geïntegreerde package leafnode te installeren. Hiermee zullen alle taken die vereist zijn voor een persoonlijke newsspool worden afgehandeld en het is eenvoudig te configureren. Het is beschikbaar via:
http://www.troll.no/freebies/leafnode.html
Net als bij C News, zal al het beheer van news door de gebruiker
news
moeten worden uitgevoerd.
De home-directory voor leafnode is: /usr/lib/leafnode. Tik het volgende in om het te installeren:
cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install
Merk in het volgende op dat het voorvoegsel /usr/local/sbin door /usr/sbin zou moeten worden vervangen als je leafnode vanuit een package installeerde.
Terwijl je nog steeds als root
bent ingelogd, wijzig je de regel
waarin NNTP wordt beheerd in
/etc/inetd.conf:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Activeer het met:
killall -HUP inetd
Ga terug naar gebruiker news
door het intikken van
exit. In
/usr/lib/leafnode/config wijzig je de regel waarin de
NNTP-server wordt gedefinieerd. In ons geval:
server = news.acme.xz
Leafnode zal het volgende commando
via crontab -e
als gebruiker news
toevoegen:
# expire Leafnode, éénmaal per dag
0 4 * * * /usr/local/sbin/texpire
News uitwisseling wordt ook als gebruiker news
gedaan door het
volgende commando
(uitgaande van een actieve PPP-verbinding):
/usr/local/sbin/fetch
Gebruikers die news willen lezen zouden dan hetgeen in Hoe stel ik een online news-reader in? moeten gebruiken, behalve dan dat ze de configuratie voor de lokale computer uitvoeren, d.w.z.:
export NNTPSERVER=localhost
Dit zou het moeten zijn. De eerste
fetch
zal een lijst met beschikbare nieuwsgroepen
transporteren. Leafnode zal dan in de gaten houden om welke groepen de
gebruikers verzoeken, en dit de volgende keer dat het wordt
geactiveerd, aanpassen.
Merk op dat leafnode niet schijnt te werken in die situaties waar een NNTP authorisatie is vereist. +.LP
ALT: Een alternatief voor leafnode is nntpcache, beschikbaar vanaf:
ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz
ALT: Een ander alternatief is de newsreader
slrn samen met het
slrn-pull package te gebruiken. De newsreader moet
met de spool
instelling worden gecompileerd.
Automatische afhandeling van news en email is onder Linux heel makkelijk te implementeren.
Als eerste en voornaamste zou men een /usr/lib/ppp/ppp-on aan moeten maken waarmee de ISP-verbinding op gang wordt gebracht. Vaak zal er gewoon het volgende instaan:
/usr/sbin/pppd
Verdere specificatie zal worden uitgevoerd in /etc/ppp/options:
connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
crtscts
modem
defaultroute
asyncmap 00000000
user dirk
/dev/modem 38400
Gebruik de geleverde versie /usr/lib/ppp/ppp-off. om de verbinding te beëindigen.
Na de functionaliteit van deze twee scripts te hebben geschreven, moet men vervolgens scripts schrijven die de diverse taken uitvoeren. Het script om email te verzamelen is reeds eerder beschreven, en we zullen er hierbij van uitgaan dat het is geplaatst in /home/dirk/pop.
Een script om email uit te wisselen kan dan worden geproduceerd in /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
# wacht totdat sendmail eindigt:
t=0
while ! mailq | grep -q "Mail queue is leeg"; do
t=$[$t+$DT]
if [ $t -gt $TIMEOUT ] ; then
echo "sendmail -q timeout ($TIMEOUT).."
exit 1
fi
sleep $DT
done
exit 0
Het script om news uit te wisselen, kan worden geplaatst in /usr/lib/news/news:
#!/bin/sh
#
# wissel nieuws uit
# moet worden gedraaid als news:
cd /usr/lib/news
#update de uitgaande batch (C News):
/usr/lib/newsbin/input/newsrun < /dev/null
# exchange news:
/usr/lib/newsbin/newsx acme news.acme.xz
# en leeg de inkomende batch:
/usr/lib/newsbin/input/newsrun < /dev/null
Een script om de diverse stukjes en beetjes te verbinden blijft, en kan
in /root/news+mail worden geplaatst:
#!/bin/sh
#
# wissel nieuws en email uit
# moet als root worden gedraaid
#
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 de inkomende batch (C News):
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &
exit 0
Het is heel eenvoudig op het bovenstaande een uitbreiding te maken, zodanig dat er alleen een verbinding tot stand wordt gebracht als er uitgaande email en news aanwezig is. Laten we het /root/news+mail.cond noemen, en in gedachten houden dat de naam van de uitgaande news-spool als volgt moet worden bijgewerkt:
#!/bin/sh
#
# wissel nieuws en email uit alleen als er uitgaande news of mail-berichten zijn
# (C News spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
! ( mailq | grep -q "Mail queue is empty"); then
/root/news+mail
fi
Het enige wat er nu overblijft is aan te geven wanneer dit allemaal
gaat gebeuren. Dit wordt gedaan door als root gebruik te maken van het commando
crontab -e
. Laten we ervan uitgaan dat we altijd om 07:00
in de ochtend news en mail uit willen wisselen, en dat er daarna
ieder 4e uur uitgaande email en news zal zijn:
00 7 * * * /root/news+mail
00 11,15,19,23 * * * /root/news+mail.cond
Verzeker je ervan dat iedere component goed is getest voor je ze aan elkaar koppelt. Je kunt later verscheidene andere taken toevoegen, zoals een aanpassing van de tijd of de dag (met gebruik van ntpdate), en automatische update (mirroring) van lokaal beheerde WWW en FTP bestanden aan de ISP (met behulp van make en ftp).
ALT: Afhankelijk van iemands voorkeuren, is het ook mogelijk
om het proces om te keren. Iedere keer dat er een PPP-link wordt
geïnitieerd, zal het script
/etc/ppp/ip-up worden gestart. Hier kan men, datgene wat er
voor nodig is om email of news uit te wisselen, toevoegen.
Zie man pppd
voor verdere details.
ALT: Het is ook mogelijk om PPP automatisch op te starten als er netwerkverkeer wordt gedetecteerd. Dit is op veel manieren de elegantere oplossing, maar het is nogal afhankelijk van een goede configuratie om te voorkomen dat er frequente (en kostbare) verbindingen tot stand worden gebracht. Meer informatie is te vinden bij:
http://www.dna.lth.se/~erics/diald.html
Het diald
utility is beschikbaar vanaf:
ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz
Op dezelfde lokatie vindt men ook nog andere variaties op het thema PPP verbindingen.
newaliases
. Een voorbeeld waarmee de meeste
eventuele voorkomendheden zouden zijn afgedekt:
PostMaster: root
ftp: root
news: root
usenet: root
FaxMaster: root
fax: root
WebMaster: root
MAILER.DAEMON: root
ftp://ftp.sol.no/user/egilk/yarn2mf.zip
Meer specifieke informatie voor bepaalde ISP's is beschikbaar vanaf diverse bronnen:
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
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 is niet mogelijk aangezien AOL gebruik maakt van een eigen protocol.
Als je ISP specifieke informatie aan kunt leveren die hier niet is opgesomd, neem dan alsjeblieft contact op.
Het Linux Documentatie Project boek met de naam Linux Network Administrator's Guide door Olaf Kirch is eigenlijk verplichte kost voor iedereen die met betrekking tot TCP/IP en Internet iets zal gaan instellen en beheren.
ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz
In de documentatie behorende bij ieder software-package zou normaal gesproken alle informatie moeten staan die je nodig hebt, zo niet altijd het overzicht. De man-pages zijn de eerste plaats waar je zou moeten zoeken. Probeer bijvoorbeeld:
man pppd
Je zult ook wat documentatie over bepaalde programma's in de /usr/doc structuur kunnen vinden, alhoewel dit niet altijd zo goed is gestructureerd.
De volgende HOWTO's zijn zeer relevant:
sendmail
in moet stellen zodat remote mail altijd in
de wachtrij wordt geplaatst en lokale mail onmiddellijk wordt bezorgd.Red Hat heeft een mailinglijst voor PPP-zaken; om je hierbij aan te sluiten stuur je een email naar:
redhat-ppp-list-request
met in de subject regel
subscribe
De informatie hierin is verzameld vanuit diverse bronnen. Met dank aan de volgende mensen die daaraan direct of indirect hebben bijgedragen:
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>