PPP internet

Allikas: Kuutõrvaja

Sissejuhatus

Kasutades Linuxit on võimalik kahte arvutit omavahel andmevahetuseks ühendada päris mitmel moel. PPPd (Point-to-Point Protocol) saab muuseas kasutada kahe modemeid omava arvuti vahele üle telefonivõrgu TCP/IP ühenduse loomiseks. Skemaatiliselt võiks kujutada toimivat PPP ühendust selliselt

                                              ^  ^        |  |  |
   ___                            ___       (-----) )      \_|_/
  |   |  _   TCP/IP ühendus   _  |   |    ((  o o        )   |
  |   |_| |__________________| |_|   |___(  INTERNET      )) |m 
  |___| |_|                  |_| |___|   (  (       ) ) )    |
                üle PPP
 arvuti modem              modem arvuti         ((--)

   klient                  sissehelistamiskeskus

Tänapäeval on sissehelistamisekeskustel (ISP - Internet Service Provider) kombeks lasta inimestel endil end veebis kasutajateks registreerida ning seejärel saavad nad vaid kohaliku kõne maksu tasudes tekitada modemi abil internetiühenduse.

  • Registreerimisel antakse kasutajale
  • kasutajanimi
  • parool
  • sissehelistamiskeskuse telefoninumber

Lisaks on oluline teada teenusepakkuja

  • nimeserverit (DNS) - interneti domeeninimede lahendamiseks
  • veebivahendaja aadressi - kiirendamaks külastatavate veebilehtede kohalejõudmist

Sissehelistamiskeskused autendivad kasutajaid tüüpiliselt kolmel moel

  • PAP (Password Authentication Protocol)
  • CHAP (Challange Handshake Authentication Protocol)
  • ühenduse eel küsitakse kliendilt kasutajanime ja parooli

Järgnevas kirjeldatakse viimast moodust.

Vajalik riistvara ja tarkvara

Kõige kindlam on Linuxiga kasutada välist modemist, mis ühendatakse arvuti järjestikporti; või ISA modemit. Reeglina PCI modemid ei sobi.

Tarkvarast on linuxikasutajatel vaja PPP deemonit pppd ning modemiga suhtlemise automatiseerimiseks näiteks programmi Chat. Need mõlemad kuuluvad pea kõigi Linuxi distributsioonide standardvarustusse. Näiteks Slackware Linuxi puhul kuuluvad need N-seeria paketi ppp.tgz koosseisu.

Lisaks eeldab PPP ühenduse kasutamine sobivalt konfigureeritud tuuma. Selleks valige tuuma konfiguratsioonimenüüst sisse muu seas

Network device support
    PPP (point-to-point) support

Tuleb kasuks kui ühenduse ajal on laaditud moodulid ppp_deflate ja bsd_comp.

Modemi kasutamine programmiga Minicom

Peale riistvara ja tarkvara olemasolu peab olema selge, millisesse porti on modem ühendatud. Tavaliselt on selleks neli võimalust, millele vastavad seadmed /dev/ttyS0, /dev/ttyS1, /dev/ttyS2 ja /dev/ttyS3. Veenudmaks, et operatsioonisüsteem "näeb" modemit kasutage programmi Minicom. Käivitage see, seadke port õigeks valides Ctrl - a, o -> Serial Port Setup ning salvestage muutused: Save setup as dfl. Järgmisel Minicomi käivitamisel peaks te programmi aknas nägema muuseas sarnast teksti

Press CTRL-A Z for help on special keys                                                               
                                                                                                      
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0                                                                      
OK
AT
OK

Esimese käsu järel on näha modemi initsialiseerimiseks kasutatud käske (ingl. k. init-string) mida saab Minicomis muuta valides Ctrl - a, o -> Modem and dialing. Suhteliselt kindlaks märgiks, et asi toimib on see kui sisestades käsu AT ja vajutades Enterit ilmub tekst OK.

Tänapäeva modemid on küll üldiselt standardiseeritud käsustikuga ja käituvad tavakasutajaile oluliste käskude osas sarnaselt, ometi on mõnel juhul hea teada milleks modem võimeline on. Eriti siis, kui ta ei toimi ootuspäraselt.

US Robotics modemitel on võimalik programmiga Minicom uurida modemi käsustikku ja modemit juhtida. Näiteks saab modemit konfigureerida, telefoniga välja helistama panna ning seada sissetulevat kõnet vastu võtma.

Kui Minicom on käivitunud ja modemi üles leidnud millest annab tavaliselt tunnistust see, et ta käsu at peale vastab OK, siis saab hakata asja lähemalt uurima. Käskude nimekirja näeb korraldusega "at$". Üldine süntaks on selline, et vahetult at (ingl. k. attention) järgi tuleb anda käsk. Näiteks käsku ata (attention, answer) puhul võtab modem "toru" kui telefon heliseb.

Põhjust on uurida ka modemi manuaali kui see olemas on.

Rutiinsel modemi kasutamisel tavaliselt ei tarvitata Minicomi ning seepärast ei ole mõtet sellesse liiga süveneda, kuid Minicomiga saab hõlpsasti kindlaks teha järgmises punktis Chati scripti jaoks tarvis minevaid parameerteid. Selleks helistage modemiga sissehelistamiskeskusse ja logige sisse, näiteks selliselt

atdp55663344
CONNECT 28800/ARQ/V34/LAPM/V42BIS 

Username: priit 
Password: priiduparool
~9sdpf0f../90+00304 f09u290398431&/%/")"...-_

Pange tähele kas server kasutas Username:'i, Login:'it või midagi muud. Käsku atdp kasutatakse pulssvalimise ja atdt toonvalimisega telefoni korral.

Telefoni saab hargile panna väljudes Minicomist või valides Ctrl - a, h

Chat

Automaatiseeritud ühendusetekitamisel helistatab Chat skript sissehelistamiskeskusse ning ütleb kasutajanime ja parooli. Programmi Chat juhtivas skriptis on kirjas enne ühenduse tekitamise toimuv "lobisemine" kahe arvuti vahel, tühikutega on eraldatud mida klient ootab, et server ütleks ning mis selle peale vastata. Näiteks tähendab skript

 \rATM0 "OK" atdp55663344 "name:" kasutajanimi "word:" parool

seda, et

  1. - alguses ei oodata midagi
  2. \rATM0 - kohe antakse modemile korraldus olla mute (vaikne)
  3. sellest peab ta aru saama, ja vastama "OK"
  4. järgimisena valitakse pulssvalimisega (atdp) number
  5. kui teine pool vastab reaga, mille lõpus on "name:", siis
  6. vastatakse kasutajanimega
  7. kui teine pool vastab reaga, mille lõpus on "word:", siis
  8. vastatakse parooliga, mis paraku liigub üle telefoniliini avatud tekstina

Selle skirpti kirjutamisel kasutage eelmises punktis tehtud tähelepanekuid.

Kliendi konfigureerimine

Kliendi ülesandeks on:

  1. valida sissehelistamiskeskuse telefoninumber
  2. sisestada oma kasutajanimi ja parool
  3. tekitada TCP/IP ühendus
  4. pidada sideseanss
  5. lõpetada ühendus

Esimesed kaks sammu toimub Chati skripti juhtimisel, kolmas pppd programmi abil. Asja muudab segasemaks see, et kasutaja käivitab esmalt programmi pppd, mis omakorda käivitab Chat skripti ja alles peale telefoninumbri valimist ja kasutajanime ning parooli sisestamist võtab juhtimise taas ise üle ja peab ühendust. Kui pppd läheb tööle omistab server kliendile sobiva IP ning konfigureeritakse võrguseade ppp0. Käsuga ifconfig saab juurkasutaja peale ühenduse loomist veenduda, et selline seade tekkis, näiteks

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:212.107.40.32  P-t-P:212.107.40.254 Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10 

Selleks, et kasutaja priit saaks tekitada internetiühendust, peab administraator looma näiteks järgmise sisuga kolm faili.

pppd peamine konfiguratsiooonifail /etc/ppp/option

lock
debug
idle 60
defaultroute

parameetrid tähendavad

  • lock - moodustatakse UUCP stiilis lukk-fail, mis tagab seadme puutumatuse
  • debug - logitakse ohtrasti syslogi
  • idle 60 - kui ühendust ei kasutata 1 minut, siis ühendus lõpetatakse
  • defaultroute - vaikimisi teeks seatakse serveri IP aadress

teenusepakkujaspetsiifiline fail /etc/ppp/peers/isp

ttyS0
115200
crtscts
connect "/usr/sbin/chat -v -f /etc/ppp/chat-isp"
noauth
  1. ttyS0 - järjestikseade, mille külge on modem ühendatud
  2. 115200 - maksimaalne ühenduskiirus, bit/s
  3. crtscts - kasutada hardware flow control'i
  4. connect "chat -v -f /etc/ppp/chat-isp" - '-f' järel näidatud skript käivitatakse enne kui pppd püüab TCP/IP ühendust luua; -v näitab, et syslogi logitakse rohkem kui vaikimisi

Failist /etc/ppp/peers/isp kutsutakse välja Chat skript /etc/ppp/chat-isp

 \rATM0 "OK" atdp55663344 "name:" kasutajanimi "word:" parool

Kuna selles failis on avatult kirjas parool tuleb määrata talle sobivalt loabitid - nii, et ettenätud kasutajad saaks ühendust pidada.

Tavaliselt ei ole tavakasutajal õigust programmi pppd käivitada. Vajadusel lisage SetUID bitt

bash# chmow u+s /usr/sbin/pppd

Et interneti nimed laheneksid peab kirjutama /etc/resolv.conf faili nimeserveri aadressi

nameserver xxx.xxxx.xxx.xxx

x-id asendage sõbraliku nimeserveri numbrilise aadressiga.

Ühenduse õnnestumisel saab kasutada oma arvutit kõigi mõeldavate Interneti teenuste kasutamiseks ja pakkumiseks arvestades suhteliselt madalat kiirust. Prooviks võite pingida mõnda lemmiksserverit, näiteks

bash$ ping www.ee

Ühenduse pidamine

Ühenduse loob kasutaja priit selliselt

bash$ /usr/sbin/pppd call isp

Ühenduse lõpetamiseks võib käivitada ilma argumetideta näiteks Slackwarega kaasa tulevat skripti ppp-off või lihtsalt lõpetada pppd protsess

bash$ killall pppd

Kuni te pole veenudnud, et teie süsteem kenasti toimib on mõtet kontrollida, kas telefonitoru ikka pandi hargile :)

Tagasihelistamisega sissehelistamiskeskus

Tagasihelistamisega teenuse (callback) puhul:

  1. helistab klient sissehelistamiskeskusse
  2. kasutaja autenditakse
  3. torud pannakse hargile
  4. sissehelistamiskeskuse modem helistab teile tagasi
  5. te peate oskama sissetulevale "modemikõnele" reageerida

Antud juhul tuleb toimida alguses sarnaselt eelmises punktis toodule. Peale kasutaja autentimist katkestab teenusepakkuja ühenduse ja helistab teile tagasi. Tagasihelistamisele reageerimiseks peate te käivitama pppd skriptiga nagu ülal toodud ppp-on, kuid chat tema seest peab kasutama sellist skripti

 ATM0 "OK"  "RING" ATA "CONNECT"

Ohud võrgust

PPP on Peer-to-Peer (ingl. k. isalt-isale) ühednus ja tähendab, et osapooled on võrdsed. Samal ajal kui PPP ühenduse ajal on teile kättesaadavad Interneti teenused on ka kõigile Interneti kasutajatele kättesaadavad teie arvuti poolt pakutavad teenused. Seepärast on mõtet näiteks oma masina juurkasutajale siiski parool omistada, kuigi te olete ehk enda meelest ainus, kel on selle masinale füüsiline juurdepääs. Lisaks on mõtekas kasutada ka IP filtreerimist.

Käesolevalt kirjeldatud viisil ühenduse loomisel liigub algul teie parool avatult sissehelistamiskeskusse, kuid telefoniliine ei kuulata nii sagedasti pealt kui Ethernet'ti.

© EENet 2000