7.2. Modemforbindelse til Internet

Hvis du er en typisk hjemmebruger eller sidder i en mindre virksomhed og vil have din computer på Internettet, vil du som regel have brug for at gøre det via en modemforbindelse.

Langt den mest almindelige måde at gøre det på i Linux er ved hjælp af PPP, Point-to-Point Protocol. PPP tilbyder en hel del flere faciliteter og mere fleksibilitet, end vi her vil komme ind på. Vi vil nøjes med at beskrive den typiske og helt basale opsætning, der vil sætte dig i stand til at få en TCP/IP-forbindelse til din internetudbyder op at køre.

Hvis du får brug for at sætte en server op til at modtage PPP-opkald, eller hvis du har problemer med at få PPP til at fungere mellem Linux og Windows NT eller har andre specielle behov, skulle du overveje at tage et kig på følgende bog, der går ganske grundigt til værks inden for sit emne:

Andrew Sun: Using & Managing PPP, O'Reilly & Associates, Inc., ISBN 1-56592-321-9, 430 sider.

7.2.1. Opsætning af PPP

Med Red Hat Linux følger der et grafisk baseret opsætningsprogram, der gør det forholdsvis enkelt at få PPP i gang. Hvis du har en konto hos en internetudbyder (ISP), har du forhåbentlig modtaget de sæt oplysninger, der skal bruges for at få din forbindelse til at køre. Du skal fra din ISP som minimum have

Har du sat modemforbindelse til din ISP op under f.eks. Windows 95, står de oplysninger du skal have, under de menuer, hvor Internet via modem konfigureres. Er du i tvivl, spørg din ISP om disse informationer.

Du skal være root for at kunne sætte din internetforbindelse op, så skriv su - i en xterm, og gør følgende:

Start med at finde ud af, hvor dit modem sidder. COM1 i DOS/Windows svarer til /dev/ttyS0 i Linux. COM2 svarer til /dev/ttyS1 osv. Som root skal du lave en modem device, som er et symbolsk link til den rette seriel port. Hvis du anvender COM2, skal du skrive:

[daisy@linus /root]#  ln -sf /dev/ttyS1 /dev/modem

Tjek lige, at linket er rigtigt.

[daisy@linus /root]#  ls -al /dev/modem
lrwxrwxrwx   1 root root 5 Sep  5 04:37 /dev/modem -> /dev/ttyS1

7.2.1.1. Modem og Internet med brug af usernet

Skriv netcfg i en xterm, og følgende panel kommer frem. (Du kunne også finde netcfg via control-panel.)

Bemærk, at vi lader vores maskine have et fiktivt domæne akela.dk, som ingen kender, og maskinen kalder vi www. Alt kan bruges, bare det ikke lapper over et registreret domæne. De to IP-adresser på nameservere har vi fået fra vores internetudbyder. Alt mellem en og tre nameservere er fint. Har du brug for at sætte din Linux-maskine ind i et lokalt netværk, skal du kontakte den ansvarlige for netværket og få adresse samt et registreret maskinnavn.

Trykker vi på Hosts, får vi følgende frem:

Vor egen IP-adresse er valgt til 192.168.0.1 for ikke at matche en på internettet. Alle 192.168.*.* og 172.17.*.* adresser er ukendte på internettet (* står for et tal mellem 0 og 255). Desuden har vi skrevet IP-adresse på den maskine, vi henter mails fra - dette er ikke nødvendigt, men bekvemt (eksemplet svarer til TeleDanmarks internet).

Under routing har vi ikke konfigureret noget specielt.

Trykker vi på Interfaces, får vi følgende vindue frem.

Vi har allerede lavet et PPP-interface og har desuden på vores maskine et ethernet kort til vores private netværk (eth0). Vi har desuden en såkaldt loopback device (lo skal være der). Nu vises, hvordan du tilføjer en ekstra PPP-opkobling (f.eks. til en anden Internet udbyder).

Tryk på Add, og vælg PPP, som er den mest udbredte opkoblingsform hos internetudbydere. Tryk derefter på OK.

Næste vindue kommer frem, og du skriver, hvilket telefonnummer der skal ringes op til.

Dit PPP login er dit kundenummer eller brugernavn. PPP password er den adgangskode, som din internetudbyder har givet dig. Da PPP med PAP er anvendt af mange internetudbydere, skal du nok vælge "Use PAP authentification" knappen (du må kontakte din internetudbyder for at høre, hvad du skal). Det kan lige tilføjes, at det viste loginnavn og adgangskode kun er et eksempel på, hvordan det kan se ud. Du kan undre dig over, at der er tre "skudhuller" i det næste billede - det er naturligvis snyd fra vores side og bare en sød måde, at huske dig på at dit password aldrig er noget du skal vise andre.

Tryk på Done, og du vender tilbage til vinduet med Network Configurator under Interfaces. Her kan du trykke på det PPP-interface, som du lige har oprettet. Vælg derefter Edit.

Her tillader vi, at "Allow any user to (de)activate interface". De fleste moderne modems kan fødes med op til 115200 bits/sekund og køre med hardware flow - er det ikke tilfældet for dit modem, vælg anderledes her. Nu vælger du passende Done og Save, og arbejdet som brugeren root stoppes (skriv exit, eller tryk Ctrl-D i den xterm, du startede med).

Nu er PPP konfigureret, og det skal prøves. Som bruger kan du nu skrive usernet, og følgende panel kommer frem:

Du trykker simpelthen på knappen ppp1 (eller ppp0 for den første PPP) for at starte. Fra begyndelsen er interfacet (her begge to) røde. Når du så kobler op, skiftes til gul og så til grøn, når du er på. Her er vist, at ppp1 er aktiv. Når du vil afslutte og lukke forbindelsen, så tryk igen på knappen, og efter et par sekunder stoppes modemet.

Når du har hul igennem til Internettet, kan du jo passende prøve http://www.sslug.dk - dvs. SSLUG's hjemmeside.

Som supplement (eller alternativ) til det grafiske usernet interface findes også tekst-mode kommandoer:

 [daisy@linus daisy]$  /usr/sbin/usernetctl PPP-DEVICE ACTION 

Hvor PPP-DEVICE er den ppp-enhed, du netop har konfigureret (normalt ppp0), og ACTION er up eller down afhængigt af, om du vil åbne eller lukke forbindelsen.

I virkeligheden er netcfg blot en behagelig og overskuelig måde at redigere det sæt tekstfiler, der bestemmer, hvordan pppd opfører sig. Disse filer ligger i /etc/ppp.

Vi kan i øvrigt anbefale, at du læser http://www.sslug.dk/artikler/ppp-info.html, hvis du har problemer med at få din modem-opkobling til at virke.

7.2.1.2. Modem og Internet med brug af kppp

Et godt program til at styre en internet-opkobling i X er KPPP (kppp). Programmet kommer som del af KDE, men det kan køres under andre grafiske brugergrænseflader.

Du vil i Red Hat 6.1 se at du skal indtast root-password for at komme i gang. Det er irriterende og vi skal her vise hvordan man undgår dette. Først lidt forklaring. Programmet /usr/bin/kppp er i Red Hat 6.1 et link til /usr/bin/consolehelper. /usr/bin/consolehelper er en "pam.d"-wrapper. Den finder sin konfigurationsfil i /etc/security/console.apps/kppp:

USER=root 
PROGRAM=/usr/sbin/kppp 
SESSION=true

Heraf ses, at det program der rent faktisk skal køres er /usr/sbin/kppp, som root, og der skal registreres en "session" for at det virker.

Det er imidlertid ikke så vigtigt. Hvad der er vigtigt er filen /etc/pam.d/kppp som efterfølgende anvendes af consolehelper for at godkende starten af kppp:

Den originale /etc/pam.d/kppp ser således ud.

#%PAM-1.0 
auth sufficient /lib/security/pam_rootok.so 
auth required /lib/security/pam_pwdb.so 
session optional /lib/security/pam_xauth.so
account required /lib/security/pam_permit.so

Den første linje er en kommentar. Den næste linje siger at mht. autorisation, er det tilstrækkeligt at brugeren er "root". Hvis det er tilfældet, vil linje 3 ikke blive brugt, ellers vil linje 3 blive brugt; da brugeren er "root" og auth med pwdb.so kræves, skal man give root-password.

De sidste par linjer omhandler oprettelsen en session (mest aht. logging), samt hvilke rettigheder man har - da man skal have root auth, har man stort set alle rettigheder, og derfor anvendes tilladelse (permit).

Hvis du ønsker at give alle brugere, der er logget ind på konsollen mulighed for at foretage en Internetopkobling, kan du ændre filen til

#%PAM-1.0 
auth sufficient /lib/security/pam_rootok.so 
auth sufficient /lib/security/pam_console.so 
auth required /lib/security/pam_pwdb.so 
session optional /lib/security/pam_xauth.so
account required /lib/security/pam_permit.so

Her er tjekket:

  • a) root? Ja: OK, nej: næste tjek.

  • b) ved konsol? Ja: OK, nej: næste tjek.

  • c) Kan man give root-password? Ja: OK, nej, fejl. (pga. required).

Hvis du ønsker at lave hvad der svarer til "suid root", kan du lave:

#%PAM-1.0 
auth sufficient /lib/security/pam_permit.so 
session optional /lib/security/pam_xauth.so
account required /lib/security/pam_permit.so

Vil du vide mere så prøv man consolehelper, man userhelper og se måske også /usr/doc/pam..../html.

7.2.1.3. Modem og Internet med brug af wvdial

Programmet wvdial følger med SuSE 6.2/6.3 og Red Hat 6.1. Programmet kan komfigureres fra YaST, SuSEs konfigurationsværktøj eller direkte vha. wvdialconf. wvdialconf vil forsøge at detektere dit modem, sætte de optimale initialiseringsstrenge op, osv. Efter du har kørt programmet, skal du redigere filen /etc/wvdial.conf, f.eks. skal du indsætte telefonnummer på din internetudbyder.

Når du har fået sat din opkobling op, kan du ringe op ved at taste wvdial på en kommandolinje.

7.2.2. Diald

Når du har en fungerende PPP installeret, kan diald muligvis være interessant for dig. Ideen er, at diald åbner PPP-forbindelsen, når der er brug for den, og lukker den, når der ikke er. På den måde kan du få fornemmelsen af at have en fast forbindelse, der altid er åben. Virkningen er specielt overbevisende, hvis du har et ISDN-modem, der åbner forbindelsen på et kort øjeblik, for et almindeligt analogt modem bruger en del tid på at ringe op.

Der er rige muligheder for at finindstille diald, så programmet opfører sig præcis, som du ønsker det. Vi vil nøjes med at gøre opmærksom på dets eksistens og i øvrigt henvise til de glimrende manual-sider om emnet.

Læs mere om dialdhttp://www.loonie.net/~eschenk/diald.html