# Priročnik kppp

Bernd Johannes
Wuebben

    wuebben@kde.org

Prevod dokumentacije
Matej
Badalič

    matej_badalic@slo.net

05/02/1999
1.6.2

Ta priročnik opisuje kppp Različico 1.6.2

KPPP Klicalo za internet

KPPP
klicalo
Internet
PPP
IP
PAP
CHAP

## Uvod

### O kppp

`PROSIMO NE POZABITI PREBRATI POGOSTO ZASTAVLJENA VPRAšANJA! HVALA!`

kppp je klicalo in maska za pppd. Omogoča interaktivno ustvarjanje skript in nastavitev omrežja. Avtomatiziral vam bo klicni proces do vašega ISP-ja in vam omogočal ugoden nadzor nad celotnim procesom. Ko je enkrat povezan, vam bo kppp prinesel bogato garnituro statistik in vam beležil porabljen čas na zvezi. Vgrajen terminal in ustvarjatelj skript, vam bo omogočal, da boste z lahkoto vzpostavili vašo povezavo. Ne boste več potrebovali nobenega dodatnega terminalskega programa, kot je seyon ali minicom za testiranje in nastavitev vaše povezave. kppp lastnosti izdelajo račune za stroške telefoniranja, ki vam omogočajo lahek nadzor nad vašimi stroški na zvezi.

Upamo, da boste s tem klicalom zadovoljni.

### Avtorji

kppp izhaja iz ezppp 0.6, katerega avtor je Jay Painter. Kljub vsemu je bilo skoraj vse v kppp ponovno napisanega, tako da ezppp in kppp nimata veliko skupnega.

Glavni avtorji so:

- `Bernd Johannes Wuebben` wuebben@kde.org

- `Mario Weilguni` mweilguni@sime.com

- `Harri Porten` porten@kde.org

Hvala tudi naslednjim ljudjem, ki so prispevali kodo h kppp

- Jesus Fuentes Saaverdra za dopolnitev veliko opcij in raznovrstnega dela.

- Markus Wuebben za ATI povpraševanje.

- Peter Silva za spustna pogovorna okna in druge prispevke.

- Martin A. Brown za preverjanje nekaj Angleškega besedila v programu

- Martin Häfner za razdelek povratno klicanje

- Olaf Kirch za bežen uvod v skrivnosti opisnih datotek.

- Prevod dokumentacije: Matej Badalič matej_badalic@slo.net

### Licenca in jamstvo

kppp se razširja pod pogoji Splošnega dovoljena GNU (GPL). Ta program nima nobenih zagotovil, da deluje ali karkoli.

## Namestitev

`PROSIMO NE POZABITI PREBRATI POGOSTO ZASTAVLJENA VPRAšANJA! HVALA!`

### Kako pridobiti kppp

kppp je aplikacija za KDE projekt http://www.kde.org. Kppp se lahko najde na ftp://ftp.kde.org/pub/kde/, glavni ftp strani projekta KDE.

### Zahteve

Da lahko uspešno sestavite kppp, potrebujete zadnjo različico `libkdecore` in `libkdeui`. Vse potrebne knjižnice kot tudi kppp se lahko najdejo na ftp://ftp.kde.org/pub/kde/.

### Sestavljanje in namestitev

`PROSIMO NE POZABITI PREBRATI POGOSTO ZASTAVLJENA VPRAšANJA! HVALA!`

Sam nisem mogel preveriti kppp na nič drugem kot Linux-u, vendar, bi morali biti sposobni spraviti pppd v delovanje na različnih platformah, vključno, vendar ne omejeno na SVR4, Solaris 2, Linux, FreeBSD, NetBSD, SunOS 4, AIX 4, OSF/1, če imate nameščen pppd na teh sistemih.

Če želite sestaviti kppp na platformi različni od Linux-a, prosim, preverite na hitro prvih nekaj vrstic od pppstats.cpp in se prepričajte, da so defines in includes v redu. Po vsej verjetnosti bi morali biti v redu. Prosim obvestite me o potrebnih spremembah.

Z namenom da sestavite in namestite kppp na vaš sistem, vtipkajte naslednje v osnovnem imeniku kppp distribucije:

    % ./configure
    % make
    % make install

To bo namestilo kppp z vključenim bitom.

Preverite, da opcijska datoteka od pppd, ki se ponavadi nahaja v `/etc/ppp/` obstaja, vendar mora biti prazna. pppd jo potrebuje, vendar mora biti prazna, drugače pppd ne bo sprejemal ukazov od kppp.

Ponovno: Če naletite na težave mi jih prosim posredujte.

### Priprava vašega Linux sistema za PPP povezavo

Z namenom, da vam bo kppp/pppd deloval, mora imeti jedro sestavljeno ppp podporo. Če to ni tako, si priskrbite zadnjo različico od pppd iz kateregakoli popularnega Linux arhiva in jo ponovno sestavite v vaše jedro z omogočeno ppp podporo. Ne se prestrašiti, če to zveni zastrašujoče bolj kot je v resnici. Potem ne pozabiti namestiti pppd. Če ne veste ali imate jedro s ppp podporo, vnesite `dmesg` v ukazni vrstici in poiščite nekaj kar je podobnega temu:

    PPP: version 2.3.0 (demand dialling)
    TCP compression code copyright 1989 Regents of the University of California
    PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
    PPP line discipline registered

Posodobitev: kppp od različice 1.5.32 dalje poskuša samodejno izvedeti ali jedro podpira PPP. Če ne podpira, boste opozorjeni ob zagonu kppp-ja. Ta lastnost še ni popolnoma preverjena, zato se ne morete popolnoma zanesti na to za zdaj.

V jedru PPP iz Linux različice 1.2.x do 2.0.x so bile narejene spremembe, ki so prisilile v programiranje novega pppd daemona. V večini distribucij lahko najdete pppd daemon v `/usr/sbin`. Za jedro različice 1.2.x je pravilna različica pppd daemona 2.1; za jedro različice 2.0.x je pravilna različica 2.2. ali novejša; za jedro različice 2.1.x in 2.2.x potrebujete pppd različico 2.3. Če ne veste katero različico pppd daemona ima vaš sistem, lahko vtipkate:

    % pppd --version

Nobeden od pppd daemonov trenutno nima možnosti --version, vendar bo vtipkanje te možnosti povzročilo, da bo pppd daemon izpisal napako zaradi neprepoznane možnosti, ter izpisal seznam možnosti, v katerih bo razvidna tudi različica pppd daemona.

### Več o ppp/pppd

Naslednje strani bodo lahko zanimive za nadaljne informacije o ppp protokolu, pppd in na splošno o omrežjih:

- Linux PPP FAQ: http://metalab.unc.edu/mdw/FAQ/PPP-FAQ.html

- Linux PPP HOWTO: http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html

- http://www.thoughtport.com:8080/PPP/index.html

- The Network Administrators' Guide: http://metalab.unc.edu/mdw/LDP/nag/nag.html

## Nastavitev kppp-ja

Da nastavite kppp, zaženite kppp in pritisnite gumb `Nastavitve` na kppp-jevem glavnem oknu. Pojavilo se bo novo pogovorno okno.

### Računi

To okno bo prikazalo račune, ki ste jih ustvarili. Ustvariti morate najmanj en račun. ``Gumb Resetiramo'' bo resetiral nabrane stroške za izbrani račun na ničlo. Ponavadi želite pritisniti ta gumb enkrat na mesec, ko boste preverili vaše telefonske stroške.

### Naprava

Naprava modema

  Izberite napravo, ki ustreza vaši strojni opremi. Tukaj je nekaj primerov:

  - /dev/ttyS0 - DOS ali Windows uporabniki bodo prepoznali to kot COM1, COM2 je /dev/ttyS1 in tako dalje. Te naprave se večinoma uporabljajo na Linux sistemih.

  - /dev/cua0 - prva serijska vrstica (COM1). COM2 bi bila /dev/cua1 in tako dalje. Te naprave se večinoma uporabljajo na BSD sistemih - FreeBSD, NetBSD in OpenBSD.

  - /dev/ttyI0 - pod Linuxom pripada to notranji ISDN kartici. Te naprave posnemajo splošen Hayes kompatibilen modem. /dev/ttyI0 je za prvo , /dev/ttyI1 za drugo ISDN kartico in tako dalje. Te naprave so na voljo samo v Linux različici

  - /dev/modem - veliko Linux distribucij ima simbolično povezavo z resnične naprave za modem na /dev/modem. Tej uporabi bi se morali izogibati. Uporabljajte raje /dev/ttySx (x pomeni številko).

Nadzor pretoka

  Izbirate med strojnim (CRTSCTS), programskim (XON/XOFF) in nobenim. Privzeta nastavitev je strojni nadzor pretoka.

Zaključitev linije

  Izberite pravilno ``Vnosno'' znakovno sekvenco za vaš modem. Večina modemov uporablja ``CR/LF''. Kljub vsemu nekateri modemi potrebujejo drugačne nastavitve. Če naletite na težave, ko zaganjate skripto: igrajte se s temi parametri.

Hitrost povezave

  Iz seznama hitrostnih povezav izberite tisto, ki jo podpirajo vaša serijska vrata.

Uporabi zaklepno datoteko

  Aktivirajte to možnost, če želite, da kppp ustvari zaklepno datoteko. Pod Linux-om bi bil imenik za to datoteko `/var/lock`. Programi kot je mgetty so odvisni od obstoja takih zaklepnih datotek in kppp ne bo deloval z mgetty, če zaklepna datoteka ni nastavljena. Preverite, da ne uporabljate možnosti "zakleni" ("lock") v pppd, če želite, da kppp zaklene modem, ker bo pppd možnost "zakleni" ("lock") povzročila, da bo pppd poskušal zakleniti modemsko napravo. Ker pa kppp že pred tem zakleni napravo, pppd ne bo uspel in kppp bo prikazal "pppd nepričakovano umrl".

Čas na voljo modemu

  To je čas v sekundah, katerega kppp čaka za odgovor ``CONNECT'' iz vašega modema po klicanju k drugemu modemu (ponavadu je to modem v združbi vašega ISP-ja). Priporočam vam nastavitev na 30 sekund.

### Modem

Ukazi modemu

  To bo odprlo okno, katerega boste morali izpolniti z ukazi za modem primernimi za vaš modem. Če ste lastnik Hayes kompatibilnega modema verjetno ne boste potrebovali nobenega spreminjanja privzetih nastavitev. Spodbujam vas, da kljub vsemu preberete o Hayes ukazih v Dodatku te dokumentacije. Tam navedene informacije bi morale biti v pomoč, če naletite na težave pri vzpostavljanju stabilne povezave z modemi vašega ISP-ja. Nastavitvi "Predinic. premor" in "Premor po inicializaciji" sta lahko zelo zanimivi, če doživite kakšne zaklepe z modemom. To bo povzročilo, da bo kppp naredil premor malenkost pred in po pošiljanju začetnega niza. "Predinic. premor" bo pospremljen z odpošiljanjem CR razen, če ne bo podan interval zakasnitve 0.

Povprašaj modem

  Pritisk na gumb Povprašaj modem bo sprožil, da bo kppp vprašal vaš modem, da se bo identificiral. Ob uspehu bodo odgovori vaših modemov prikazani v pogovornem oknu. To lahko, ali pa tudi ne, dokazuje informativne odvisnosti na vašem modemu.

Terminal

  Pritisk na gumb `Terminal` bo odprl mini terminal. Mini terminal lahko uporabljate za testiranje vašega modema in eksperimentiranje s posredovalnim protokolom za zagon ppp povezave z vašim ISP-jem. Ne boste več potrebovali terminalskega programa kot je minicom ali seyon.

### PPP

Čas na voljo pppd

  kppp bo počakal na ta znesek časa po zagonu skripte in zagonu pppd, da pppd vzpostavi veljavno ppp povezavo, preden preneha in ubije pppd.

Samodejno ponovno pokliči ob prekinjeni povezavi

  Z izbiro te možnosti se bo kppp poskušal ponovno povezati, v primeru, da se zveza nenapovedano prekine, medtem ko ste na zvezi.

Na naslovu prikaži uro

  To bo povzročilo, da bo kppp prikazal čas trajanja povezave na naslovu kppp okna medtem, ko ste na zvezi.

Prekini povezavo ob izhodu iz strežnika X

  Obkljukanje te možnosti bo povzročilo, da bo kppp prekinil ppp povezavo, izključil modem in prekinil račun po ustaljenem načinu, ob izhodu iz strežnika X. To je uporabno, če ste nagnjeni k temu, da izklopite kppp ob izhodu iz strežnika X ali preprosto, da vam ne bo treba skrbeti zaradi prekinitve povezave. Če ne želite, da bo kppp prekinil modemsko povezavo ob izhodu iz strežnika X, bi morali pustiti to potrditveno polje neobkljukano. Bodite pozorni, če imate omogočen račun in ne želite, da kppp prekine povezave ob izhodu iz strežnika X, boste imeli neprekinjen vnos računa v dnevniku povezav, ko boste zapustili sejo strežnika X in ko bo kppp končal.

Ob povezavi skrči okno

  kppp okno bo skrčeno, ko bo vzpostavljena povezava. Čas trajanja povezave bo prikazan v opravilni letvi.

Ob povezavi zasidrajmo v pult

  Če je ta možnost izbrana, se bo kppp zasidral v pult, kjer bo prikazan z majhno animirano ikono. Uporabite levi miškin gumb na tej ikoni, da obnovite kppp-jevo okno. Desni miškin gumb bo odprl padajoči menu,

  ki omogoča, obnovitev okna, prikaže dodatne statistike prenosa ali prekine povezavo. Ta možnost ima prednost pred Ob povezavi skrči okno.

## Nastavitev računa

### Klicne nastavitve

Ime povezave

  Računu morate dati ime. Tukaj lahko uporabite karkoli, vendar če imate več računov morajo biti edinstveni.

Telefonska številka

  Določite telefonsko številko katera naj se kliče. Lahko uporabite znake kot je ``-'', da naredite številko lažje berljivo. Če povežete serijo številk (ločenih z dvopičjem), bo kppp poklical te številke v krožnem vrstnem redu kadarkoli bo dobil signal zasedene linije. Primer: "1111111:2222222:3333333"

Identifikacija

  Izberite primerno metodo identifikacije, ki jo bo kppp uporabljal, da se bo prijavil na strežnik. Preverite z vašim ponudnikom ali ponuja PAP ali CHAP podporo, ali če morate uporabljati skripto, ali na terminalu temelječ način prijavljanja.

Shrani geslo

  Izberite to možnost, če želite, da si kppp zapomni vaše geslo pri naslednji prijavi.

Izvrši program ob povezavi

  kppp bo poskušal izvršiti tukaj določen ukaz, ko bo ppp povezava nastavljena.

Izvrši program pred odjavo

  kppp bo pognal ukaz preden bo prekinil povezavo. To je uporabno, če morate spremeniti kakšno usmerjanje ali naslov preden zapustite omrežje.

Izvrši program ob odjavi

  podobno prejšnjemu odstavku.

Prikroji argumente pppd

  To bo odprlo pogovorno okno za prikrojitev pppd argumentov. To pogovorno okno lahko uporabite, da dodate željene možnosti s kateremi bo kppp ravnal s pppd. Poglejte pppd man strani za seznam možnosti, ki so na voljo. Dokler niste prepričani kaj delate, bi se morali zadržati pred šušmarjenjem s pppd možnostmi.

### IP

Dinamičen naslov IP

  Preverite, ali vaš ISP uporablja dinamično dodeljevanje IP naslovov. To pomeni, da se bo najverjetneje vaš IP naslov vsakič spremenil, ko boste vzpostavili povezavo.

Statični naslov IP

  Preverite, če vam je vaš ISP dodelil statičen IP naslov. V tem primeru boste morali vnesti ta naslov in Podmrežno masko, če jo imate na voljo. Vprašajte vašega ISP-ja, če ste nesigurni.

Samodejno nastavi ime računalnika iz te IP

  Izberite to možnost, če želite, da kppp nastavi ime računalnika in domeno za vašo mašino po uspešni nastavitvi ppp linije ob povezavi. To se naredi s povpraševanjem določenega Imenskega strežnika za domene (Domain Name Server) z dodeljeno ip številko za ppp linijo. Ta možnost je uporabna za tiste osamljene mašine, ki želijo uporabljati protokole kot je talk, ki zahtevajo, da je ime računalnika enako kot je vaša mašina poznana v internetu. To ima prednost pred Domain Name Option v razdelku DNS. Privzete lastnosti za mašino se obnovijo na originalne vrednosti, ko zaključite ppp linijo. Bodite previdni, ko izbirate to možnost: Lahko se izkaže uporabno vam, vendar lahko povzroči veliko nezaželjenih stranskih učinkov. Poigrajte se malo s tem ...

### DNS

Ime domene

  Določa ime domene za vašo mašino. Prav tako kot DNS naslovi, se obnovi na originalno, ki je določena v `/etc/resolv.conf`, ko se prekine povezava. Če se to polje pusti prazno, se ne naredi nobene spremembe imenu domeni, ki je določena v `/etc/resolv.conf`

Strežniki DNS

  Dodajte Domain Name strežnike, ki vam jih je dodelil vaš ISP. Navesti morate vsaj enega Domain Name strežnika, da bo vaš OS lahko razrešil človeku berljive IP naslove kot je ftp.kde.org. Priskrbljeni DNS strežniški naslovi morajo biti v numerični obliki, npr. 128.231.231.233. Naslovi bodo v času zagona dodani v `/etc/resolv.config`.

Med povezavo izklopi obstoječe strežnike DNS

  Izberite to možnost, če želite, da kppp izklopi že obstoječe vnose imenskih strežnikov v `/etc/resolv.conf` med povezavo.

### Prehod

Privzeti prehod

  Izberite to, če želite, da pppd uporablja privzeti Prehod za vašo mašino.

Stalni prehod

  Izberite to, če želite določiti prehod, ki naj se stalno uporablja.

Dodeli privzeto pot preko tega prehoda

  To boste skoraj zagotovo potrebovali. Pustite neizbrano, če resnično veste kaj delate.

### Prijavna skripta

Uredi skript

  Uporabite to pogovorno okno, da sestavite klicno skripto za klicno povezavo z vašim ISP-jem. Uporabite mini-terminal in informacije pridobljene od vašega ISP-ja, da boste razumeli katera zaporedja akcij so potrebna za izvršitev.

  - Expect: kppp bo čakal na določen niz, ki ga mora prejeti.

  - Send: kppp bo poslal določen niz.

  - Scan: kppp bo pregledoval vhodni tok za določenim nizom in shranil katerikoli znak po nizu do prve nove vrstice v internem medpomnilinku. Zadnji in vodilni presledek bosta odrezana.

  - Save: trajno shraniti prej pregledn niz v določen register. Do sedaj je edini veljaven register 'password'.

  - Pause: naredi odmor za določen časovni interval v sekundah

  - Hangup: kppp bo poslal modemu ukaz za prekinitev(obesiti modem)

  - Answer: kppp bo postavil modem v način za odgovarjanje

  - Timeout: dinamično spremeni privzeti čas odmora na določeno časovno vrednost v sekundah med izvrševanjem skripte. Če je potrebno, lahko med izvrševanjem večkrat spremenite čas odmora.

  - Prompt: kppp namigne uporabniku z določenim nizom, naj vnese določen niz. Uporabnik bo videl kaj je vtipkano. Če določen niz vključuje oznako &num;&num; bo oznaka zamenjana s trenutno vsebino pregledanega intrenega medpomnilnika.

  - PWPrompt: kppp namigne uporabniku z določenim nizom, naj vnese določen niz. Za vsak vtipkan znak bo prikazana zvezdica.

  - ID: če je ID polje na kppp-jevem glavnem pogovornem oknu zapolnjeno, pošlji ta ID. Če ID polje ni zapolnjeno, kppp namigne uporabniku z določenim nizom, naj vnese ID. Uporabnik bo videl kaj je vtipkano. Ob drugem prehodu, kot v primeru zanke se bo ob drugi ponovitvi, prikazalo okno in vam namignilo določeni niz.

  - Password: Če je polje password na glavnem kppp pogovornem oknu zapolnjeno, pošlje to geslo. Če polje password ni zapolnjeno, kppp namigne uporabniku z določenim nizom, naj vnese geslo. Za vsak vtipkan znak bo prikazana zvezdica. Ob drugem prehodu, kot v primeru zanke se bo ob drugi ponovitvi, prikazalo okno in vam namignilo z določenim nizom.

  - LoopStart: kppp bo čakal na določen niz, ki ga mora prejeti. Niz bo shranil za uporabo pri LoopEnd

  - LoopEnd: kppp bo čakal na določen niz, ki ga mora prejeti, da zapusti zanko. Če najprej prejme niz od primernega LoopStart, bo sprožil skok na vrstico po LoopStart delu in s tem omogočil ponovitev username/password sloga na pare pogovornih oken.

#### Primeri skript

Tukaj je preprosta skripta, ki jo lahko uporabljam za povezavo z mojim ISP-jem:

    Expect      ID:                        # čakaj na ID:
    Send        myid                       # myid morate zamenjati z vašim id
    Expect      word:                      # čakaj na 'password'
    Send        4u3fjkl                    # pošlji moje geslo '4u3fjkl'
    Expect      granted                    # Moj ISP pošlje 'Permission granted' ob uspešni prijavi.
    Send        ppp                        # To zažene ppp povezavo za
                                           # mene na ISP-jevi strani.

Tukaj je skripta za enak račun z ID in zahtevo gesla: Ta skripta vas bo vsakič vprašala za ID in geslo, ne glede na to, kaj je vpisano v poljih ID in geslo v kppp-jevem glavnem pogovornem oknu. Ta skripta prikaže tudi uporabo strukture LoopStart/LoopEnd. Če gre med prijavnim postopkom kaj narobe, na primer, če napačno vpišem geslo, bo moj ISP izpisal obvestilo o napaki in ponovno zagnal id/password zanko s ponovnim izpisom niza "ID:". Če je niz "ID" zaznan preden je bila LoopEnd ključna beseda razčlenjena, bo kppp ponovno zagnal skripto po LoopStart ključni besedi.

    LoopStart   ID:                        # čakaj na ID:
    Prompt      Enter ID:                  # Vprašaj me za moj ID in ga odpošlji.
    Expect      word:                      # čakaj na 'password'
    PWPrompt    Enter Password:            # Vprašaj me za moje geslo in je odpošlji.
    LoopEnd     granted                    # Moj ISP pošlje 'Permission granted' ob uspešni prijavi.
    Send        ppp                        # To zažene ppp povezavo za mene

Tukaj je skripta, ki jo trenutno uporabljam za povezovanje z mojim ISP-jem: Ta skripta bo vprašala za ID in geslo samo če nisem izpolnil primerna polja v kppp-jevem glavnem pogovornem oknu.

    LoopStart   ID:                        # čakaj na ID:
    ID          Enter ID:                  # Vprašaj me za moj ID in ga odpošlji.
    Expect      word:                      # čakaj na 'password'
    Password    Enter Password             # Vprašaj me za moje geslo in je odpošlji.
    LoopEnd     granted                    # Moj ISP pošlje 'Permission granted' ob uspešni prijavi.
    Send        ppp                        # To zažene ppp povezavo za mene
                                           # na ISP-jevi strani

Tukaj je skripta, ki jo uporabljam za povezovanje z ISP-jem, ki uporablja neko vrsto pozivno/odgovorne identifikacije. Ponavadi dobite strojni izkaz (hardware token) (pametno katrico z zaslonom in kalkulatorjem kot je keypad) od vašega ISP-ja. Tukaj morate vedeti geslo, da lahko uporabljate izkaz. Ko kličete, vam vaš ISP prikaže poziv. Na poziv morate odgovoriti z vašim izkazom in pridobiti dinamično geslo kot odgovor. Potem morate vnesti to geslo.

    LoopStart   ID:                        # čakaj na ID:
    ID          Enter ID:                  # Vprašaj me za moj ID in ga odpošlji.
    Scan        Challenge:                 # Preglej za 'Poziv' in shrani vse za tem do naslednje nove vrstice.
    Expect      Password:                  # čakaj na 'password'
    Prompt      Your token is ## - vnesite geslo  # Vprašaj me za moje geslo in je odpošlji.
    LoopEnd     granted                    # Moj ISP pošlje 'Permission granted' ob uspešni prijavi.
    Send        ppp                        # To zažene ppp povezavo za mene
                                           # na ISP-jevi strani

Naslednji dnevnik prikazuje prijavno proceduro izmišljenega ISP-ja, ki določi novo geslo ob vsaki prijavi. Novo geslo mora biti preverjeno in shranjeno za naslednjo sejo.

    University of Lummerland

    Login:mylogin
    Password:
    The password for your next session is: YLeLfkZb
    Please record and enter it for verification.
    Verification:YLeLfkZb

    1 = telnet
    2 = SLIP
    3 = PPP

    Your choice:

kppp se lahko uporablja, da naredi tista nadležna opravila za vas (izniči tveganje za izgubo tistega majhnega papirja, na katerem je vaše geslo). Ključni del naslednje skripte je kombinacija Scan/Save ključnih besed:

    Expect      Login:                     # čakaj na vprašanje za prijavo
    ID                                     # pošlji ID
    Expect      Password:                  # čakaj na vprašanje za geslo
    Password                               # pošlji geslo
    Scan        is:                        # čakaj na '... next session is:' in
                                           # preglej predhodno geslo
    Save        password                   # shrani novo geslo za naslednjo prijavo
    Expect      Verification:              # čakaj na 'Verification:'
    Password                               # pošlji novo geslo
    Expect      choice:                    # čakaj na vrstico, ki vam omogoča izbiro
                                           # med različnimi možnostimi (telnet, SLIP, PPP)
    Send        3                          # izberite tretjo možnost, npr. PPP

### Računovodstvo

Uredi račun

  Uporabite gumb ``Vklopi računovodstvo'', da omogočite/onemogočite vodenje telefonskih stroškov. Izberite pravila, ki ustrezajo vaši regiji. Če ne najdete pravil za vašo regijo, jih boste morali napisati po sledeči `PREDLOGI` v `&dollar;&lcub;KDEDIR&rcub;/share/doc/HTML/en/kppp/`. Ne se prestrašiti, ker je zelo preprosto. Ne pozabiti poslati vašo datoteko z na novo ustvarjeni pravili meni. Novo ustvarjena datoteka s pravili se lahko preveri za pravilne sintakse z -r rule&lowbar; možnostjo, ki se nanaša na pot do kppp iz ukazne vrstice in mora biti nameščena v `&dollar;&lcub;KDEDIR&rcub;/share/apps/kppp/Rules` ali v `&dollar;&lcub;HOME&rcub;/.kde/share/apps/kppp/Rules` preden jo boste lahko izbrali iz pogovornega okna.

### Količinsko računovodstvo

#### Kaj je količinsko računovodstvo?

V splošnem pomeni štetje števila bajtov iz ali v Internet. kppp lahko šteje bajte noter, bajte ven ali oboje. Od vas je odvisno kaj želite (morate) uporabljati.

#### Zakaj naj bi uporabljal količinsko računovodstvo?

Zato, ker v današnjih časih veliko Ponudnikov dostopa do Interneta je začelo računati svojim strankam po številu prenešenih bajtov. Zelo pogosto vam tak ISP določi določen limit prenosa in vam zaračuna vsak prenešen megabajt nad tem limitom. kppp vam prikazuje trenutno količino in vam lahko pomaga pri ohranjanju minimalnih zneskov vašega računa. Seveda če nimate količinskih limitov in ste radovedni lahko tudi uporabljate to možnost...

#### Kateri tip količinskega računovodstva naj izberem?

To je odvisno od vašega ponudnika. Veliko ponudnikov beleži samo koliko megabajtov dobite iz Interneta in ignorira koliko jih pošljete ven. V tem primeru bi morali izbrati "Bajtov noter". Če morate plačevati za oboje, bi morali izbrati "Bajtov noter in ven". "Bajtov ven" ni v veliko pomoč in je tukaj samo za zaključitev celote.

#### Slaba stran

Na našo nesrečo obstaja tudi pri količinskem računovodstvu slaba stran. kppp bo štel samo število bajtov ne glede na njihov izvor. Veliko ponudnikov postavi limit samo za dostop do interneta, ne pa za njihovo lastno omrežje. Zatorej če kdaj pa kdaj deskate in uporabljate posrednika za predpomnjenje (proxy -cache), se bo posrednik nahajal v omrežju vašega ponudnika in vam zato ponudnik ne bo zaračunal za bajte prenešene iz tega posrednika za medpomnjenje. Kljub temu kppp ne bo vedel, da ti IP paketi prihajajo iz posrednika in jih bo zato štel. Zato če uporabljate posrednika ali vaš ponudnik uporablja novičarski strežnik s predpomnjenjem (kot je nntpcached), bo količina posredovana od kppp nekoliko večja kot bi morala biti.

## Triki & namigi za modem

Ta razdelek bi moral opogumiti bojazljivce za uporabo (ne tako) prikrite umetnosti prelisičenja modema. Tukajšnji ukazi so vsi standardni Hayes AT, vendar vsi modemi niso enaki, zato je lahko vaša pot različna.

### Seje modema

Seja modema vam omogoča direktno upravljanje modema. Vi vnesete ukaze in modem bo odgovoril. Da pridobite modemsko sejo, ko ni nobena povezava aktivna, pojdite v pogovorno okno Nastavitve/Modem/Terminal. To bo odprlo okno za interaktivno nastavitev modema. Poskusite vpisati ATZ (to ponovno nastavi(resetira) vaš modem) Morali bi dobiti odgovor OK. Uporabite Datoteka/Zapri, da končate sejo.

### Profili modema

Eden izmed razlogov zaradi katerih želite dati direktne ukaze modemu je, da želite ohraniti garnituro modemskih nastavitev, če jih imate, ne da jih določate za vsako povezavo. Dober način kako se to naredi je preko modemskih profilov. Modemi imajo lahko shranjenih več oštevilčenih profilov, z 0,1,... AT&V ukazom jih lahko pregledate vse. Privzeti profil je ponavadi 0 (to se lahko spremeni z AT&Y.) Profil, ki je trenutno v uporabi, se imenuje "aktivni" profil.

Ko spremenite nastavitev, se aktivni profil spremeni. Ukaz ATZ bo modemu naročil, naj naloži privzeti profil tako, da bo izbrisal vse spremembe, ki ste jih naredili. Da shranite spremembe, naložite profil, ki ga želite spremeniti z ukazom ATZn (kjer n pomeni številko profila). Naredite željene spremembe in jih nato shranite z AT&Wn. Da bo kppp uporabljal profil, ki ga želite, spremenite modemu inicializacijski niz (Nastavitve/Modem/Ukazi modemu/Inicializacijski niz.) Na primer ATZ1 bo določil, naj kppp resetira modem in uporabi shranjeni &num;1.

Če želite resetirati vaš modem na neko znano začetno točko, uporabite AT&F&W, da nastavite aktivni profil na tovarniške nastavitve in da te nastavitve shrani kot privzeti profil.

Primeri spremenjenih profilov so v naslednjih razdelkih.

### Prisilite modem naj odloži

Včasih ima kppp težave pri odložitvi modema. To je ponavadi rezultat nesporazuma med kppp nastavitvami in med modemskimi nastavitvami. Standardni modem uporablja dve metodi, da se odloči za odložitev: Ukazi in DTR. Način z ukazi vključuje pošiljanje ubežnega niza modemu, ki ga postavi v ukazni način, potem pa izda ukaz za odložitev (ATH).

Izven kppp-ja, ko ročno nastavljate pppd paket, je pogosto koristno uporabljati način z ukazi, da lahko zakjučite terminalsko sejo in potem zaženete pppd brez da bi odložili modem. V večini drugih situacij je priljubljena metoda DTR , ker je preprostejša.

#### DTR (AT&Dn) metoda

Način DTR bo odložil modem vsakič, ko bo kppp končal uporabljati modem. Če dobite modemsko sejo in povprašate za stanje preko AT&V in je med drugimi prikazanimi nastavitvani za aktivni profil tudi &D0, potem je DTR odložitvena metoda onemogočena. Da omogočite DTR metodo uporabite Nastavitve/Več/Da dobiš modemsko sejo uporabi terminal. Potem:

    ATZ		# resetiraj privzeti profil
    AT&D2		# Nastavite za odložitev ob DTR izpadu.
    AT&W		# Zapišite v privzeti profil

##### Kako deluje DTR metoda

Vsakič ko se Data Terminal Ready (DTR) linija na serijski liniji med gostiteljevim računalnikom in modemom poveča, se modem odloži. Ko kppp odpre serijska vrata, se DTR linija potlači, zato lahko na zunanjem modemu vidite DTR (ali TR) lučko, ki se prižge, ko se to zgodi. Ko TR lučka ugasne (ker je kppp zaprl serijska vrata, ali še kaj slabšega!), bo modem odložil.

#### Ukazni način

Drugi način kako modem odloži, ko je povezan (uporaben ko je AT&Dn kjer n ni enak 2), je da modem sprejme ukaz ko je seja v napredovanju. Da ga pravilno odložite, vzpostavite modemsko sejo in postavite čas varovanja na kratek interval kot je:

    ATZ
    ATS12=5
    AT&W

Potem uporabite drsnik v Nastavitve/Več/Ukazi modemu/Čas varovanja, da prilagodite vrednost registra (S12) na (5). Modem bi sedaj moral pravilno odložiti.

##### Kako deluje ukazni način

Ko je lokalni modem povezan z oddaljenim modemom, je v stanju "povezan", kjer pošlje vse znake, ki jih prejme oddaljenemu modemu brez prevajanja. Da modem sprejme znake kot ukaze, mora nekdo postaviti modem v stanje z ukazi. To naredi ubežni niz.

Ubežni niz je definiran kot trije časovni intervali, katerih dolžina je definirana z S12 (v petdesetinkah na sekundo.)

- Zapri (mora trajati več kot S12/50 sekund)

- Ubežni niz (definiran od registra S2, privzeto je "+") se ponovi trikrat (manj kot S12/50 sekund med vsako ponovitvijo)

- Zapri (moraj trajati več kot S12/50 sekund)

Ko je enkrat modem v ukazovnem načinu, mu lahko pošljete ukaze. Da odloži mu pošljite ATH. Ubežni niz in odložitveni niz, ki jih uporablja kppp sta prikazana v pogovornih oknih Nastavitve/Več/Ukazi modemu. Te nastavitve bi morale ustrezati vašemu modemu.

### Narediti tonsko klicanje hitrejše

Če lahko uporabljate tonsko klicanje, se znesek časa, ki se porabi za klicanje lahko spremeni z uporabo S11 registra. Ta podaja trajanje (v 100stotinkah sekunde), da pošlje vsak ton posebej med klicanjem. Privzeto je ponavadi 95 (skoraj sekunda.) Kako hitro lahko kličete je odvisno od opreme telefonske družbe, ki vzdržuje vašo linijo. Minimalno trajanje je 50, skoraj dvakrat hitrejše. Ta hitrost pogosto deluje.

    ATZ		# resetiraj privzeti profil
    ATS11=50	# pospeši klicanje, uporabite večje število če ne deluje.
    AT&W		# zapiši v privzeti profil

## PAP in CHAP

Od različice 0.9.1 dalje kppp neposredno podpira najbolj pogosto uporabljeno obliko PAP identifikacije. Razdelek 'PAP in CHAP s kppp' bo opisal, kako naredite delujoča PAP in CHAP s kppp v splošnem medtem, ko bo razdelek 'PAP s kppp' podrobno opisal kako izkoristiti prednosti kppp-jeve vgrajene podpore za najbolj pogosto uporabljeno različico PAP-a, ki se široko uporablja pri komercialnih Ponudnikih dostopa do interneta (ISP).

### PAP s kppp

Obstajata dva različna načina kako uporabljati PAP:

#### Identifikacija pri odjemalcu

Ta varianta se uporablja pri večini komercialnih ISP-jev. V osnovi pomeni, da se morate vi (ali vaš računalnik) identificirati samega sebe na ISP-jevem PPP strežniku. PPP strežnik se ne sme sam od sebe idnetificirati z vašim računalnikom, vendar to ponavadi ni potrebno, ker veste na kateri računalnik ste povezani (ker je bila povezava vzpostavljena od vas samih). Zato to ni izdaja varnosti. kppp direktno podpira to varianto. Glejte spodaj za navodila, kako se to uporablja.

Če vam vaš ISP dodeli samo uporabniško ime in geslo, ter vam reče, da uporabljajte PAP identifikacijo, morate uporabljati to varianto.

#### Identifikacija v obe smeri

Podobno kot zgoraj, vendar potrebuje vaš računalnik, da ISP-jev PPP strežnik identificira sam sebe. Z namenom vzpostavitve povezave, morate izbrati način identifikacije Na skripti temelječ, ne pa PAP, ter morate ročno urediti `/etc/ppp/pap-secrets`. Ker kppp ne prinaša vgrajene podpore za to varianto -- je vseeno lažje vzpostaviti povezavo z uporabo te variante PAP-a s kppp-jem. Podrobnosti so opisane v naslednjem razdelku 'PAP in CHAP s kppp'.

#### Priprava kppp-ja za PAP

1. Preverite, da `/etc/ppp/options` (in `˜/.ppprc` če imate tako datoteko) ne vsebujeta naslednjih argumentov:

   - +pap

   - -pap

   - papcrypt

   - +chap

   - +ua

   - remotename

   Zelo malo verjetno je, da je kateri izmed argumentov že tam, vendar se morate prepričati.

2. Zaženite kppp

3. Kliknite na Nastavitve

4. Izberite račun s katerim želite uporabljati PAP in kliknite na Uredi

5. Kliknite na jeziček Pokliči.

6. Izberite PAP iz potrditvenega polja Identifikacija

7. Če ne želite vsakič, ko kličete vnašati geslo, izberite Shrani geslo. To bo shranilo geslo. Preverite, da nobeden razen vas, nima dostopa do vašega računa, ker bi tako lahko tista oseba prišla do vašega gesla.

8. To je vse. Zaprite pogovorna okna, vnesite vaše uporabniško ime in geslo, ki vam ga je dodelil vaš ISP in priklopite se.

### PAP in CHAP s kppp (alternativni način)

Naslednje se nanaša na epošto od Keith Browna in razlaga kako narediti, da bo kppp deloval s splošnim PAP ali CHAP računom. Če vam je vaš ISP dal samo uporabniški id in geslo za PAP račun, lahko preskočite ta razdelek, ker boste rešili vse težave z branjem prejšnjega z naslovom 'PAP s kppp'.

PAP na prvi pogled izgleda precej bolj zakompliciran, kot je v resnici. Strežnik (mašina na katero se povezujete) v osnovi pove odjemalcu (vaši mašini) naj se identificira z uporabo PAP. Odjemalec (pppd) pogleda v specifično datoteko za vnos, ki vsebuje ustrezno ime strežnika in odjemalčevo ime za to povezavo, ter nato pošlje geslo, če je tam najde. To je vse o tem! Sedaj je tukaj razlaga kako narediti, da se bo to zgodilo. Privzamem, da uporabljate pppd različico 2.2.0 in standardno namestitev nastavitvenih datotek pod `/etc/ppp`.

Z namenom, da ponazorim stanje, se pretvarjam, da imam internetni račun z 'glob.net', z uporabniškim imenom 'booger' in geslo 'foobar'. Najprej moram vse to dodati datoteki `/etc/ppp/pap-secrets` . Oblika vnosa za naš namen je:

    UPORABNIŠKOIME  IMESTREŽNIKA   GESLO

zato dodam vrstico:

    booger  glob  foobar

tej datoteki in jo shranim. Opomba: Ime za strežnik lahko uporabim katerokoli ime hočem v kolikor uporabim isto ime v pppd argumentih, kot bomo kmalu videli. Skrajšal sem ga v 'glob'. To ime se uporablja samo, da se najde pravilno geslo.

Sedaj moram nastaviti mojo povezavo v kppp. Osnove so enake kot za druge povezave, zato se ne bom spuščal v podrobnosti, razen, da se boste prepričali, da je datoteka `/etc/ppp/options,` prazna in da ne potrebujete nobene prijavne skripte. Sedaj je v pogovornem oknu Klicne nastavitve gumb Prikroji argumente pppd. To odpre pogovorno okno podobno tistemu za urejanje prijavne skripte. Tukaj bomo vnašali vrednosti, ki bodo poslane pppd-ju kot argumenti ukazne vrstice, v primeru argumentov mnogokratnih-vrednosti, pa moramo vnesti vsako vrednost kot ločen vnos v seznamsko polje, v pravilnem vrstnem redu.

Sem lahko vnesemo katerekoli druge argumente, ki jih želimo najprej. Sedaj moramo dodati argumente, ki jih potrebuje pppd za obravnavanje PAP identifikacije. V tem primeru bom dodal 'user', 'booger', 'remotename', 'glob', v tem vrstnem redu. Argument user pove pppd-ju za katero uporabniško ime naj išče v pap-secrets in je pošlje strežniku. Remotename uporablja pppd samo zato, da najde vnose v datoteki pap-secrets in se ne pošlje strežniku. Zato je to lahko karkoli kar jaz želim, v kolikor je dosledno z vnosom v datoteki pap-secrets.

To je zaenkrat vse. Sedaj bi si morali biti sposobni nastaviti vašo lastno povezavo s strežnikom s PAP identifikacijo. CHAP ne bi smel biti veliko drugačen. Poglejte Linux Network Administrators' Guide za chap-secrets datotečni format in uporabljene pppd argumente. Ostalo bi morala biti samo navlaka, vendar...vaš cilj, ah saj veste za ostalo.

## Vprašanja in odgovori

### Pogosto zastavljena vprašanja

#### kppp ne morem spraviti v delovanje. kppp mi sporoči, da je pppd umrl ali da se je iztekel čas na voljo modemu!

Ste prebrali pazljivo ta priročnik? Tukaj so ponovno najbolj pogoste pasti.

- Kliknite na gumb "Podrobnosti". kppp vam bo pokazal izvleček iz dnevnika PPP obvestil (to lahko ne deluje na ne-Linux sistemih ali celo na nekaterih Linux distribicijah). Dnevnik vam bo pomagal, da boste odkrili hrošča.

- Preverite, da je pppd v resnici pppd binaren in ne skripta

- Preverite, da ima pppd nastavljen setuid root. Ta način lahko nastavite z ukazom chmod u+s pppd kot root.

- Preverite, da obstaja datoteka `/etc/ppp/options` in da ne vsebuje nobenih spornih vnosov. Če ste v dvomih: pustite datoteko prazno.

- Preverite, da NE uporabljate možnosti "lock" kot argument za pppd (kppp že poskrbi za zaklepanje naprave )

- Odstranite "lock" možnost iz vaših `/etc/ppp/options` in `˜/.ppprc` datotek!

- Uporaba simbolične povezave `/dev/modem` lahko povzroči spore. Odstranite izvor takih težav z uporabo resnične naprave, npr. `/dev/cuaX` ali `/dev/ttySX`. OPOMBA: COM1 je enak ttyS0, COM2 je ttyS1 in tako dalje.

- Preverite, da ste določili pravilna dovoljenja. V primeru težav bi morda najprej poskusili pognati najprej kot root in pozneje, ko vse deluje pravilno, dati manj škodljiva dovoljenja, če si ne morete privoščiti, da bi pognali kppp s setuid root. Pravilna smer za nadaljevanje bi bila, da bi mogoče ustvarili skupino "modem".

- Lahko da zaganjate pppd preveč zgodaj, t.j. preden je oddaljeni strežnik sposoben sklepati PPP povezavo. Če uporabljate prijavno skripto, bi morali uporabiti vgrajeni terminal, da bi preverili vašo prijavno proceduro. Nekateri ponudniki bodo zahtevali, da preprosto izdate "Send" ali "Send ppp", da se zažene PPP. Nekateri uporabniki celo poročajo, da morajo dodati "Pause 1" ali "Pause 2" njihovi skripti, da rešijo težave s časovnim usklajevanjem.

Če nič ne pomaga, bi morali dobiti nekaj podatkov za razhroščevanje iz vašega sistemskega dnevnika z ukazom:

    # tail /var/log/messages

#### kppp mi sporoči ``Oprostite, ne morem odpreti modema''.

To pomeni, da kppp nima dovoljenj, da odpre napravo modema, ali da ste izbrali napravo modema na jezičku Modem, ki ni veljavna. Najprej preverite, če ste izbrali pravo modemsko napravo. Ko ste enkrat prepričani, da ste izbrali pravilno modemsko napravo, morate dati kppp-ju pravilna dovoljenja za dostop do modemske naprave in dovoljenja, da lahko spreminja `/etc/resolv.conf` v primeru, če želite, da kppp pravilno nastavi DNS. Če si lahko privoščite poganjati kppp s setuid root bo to rešilo vse težave v zvezi z dostopom, če si tega ne morete privoščiti, boste morali ugotoviti katera so pravilna dovoljenja za vaše namene. Z namenom, da date kppp-ju setuid root dovoljenja, naredite naslednje:

    % su root
    # chown root:root &dollar;{KDEDIR}/bin/kppp
    # chmod +s &dollar;{KDEDIR}/bin/kppp
    # exit

#### kppp mi sporoči, da ne more ustvariti zaklepne datoteke za modem.

To v večini primerov pomeni, da imate kppp nameščen brez vključenaga SETUID bita, medtem ko vi, oseba ki izvaja kppp, nimate dovoljenja za pisanje v imenik zaklepne datoteke, ki se kot privzeto nahaja v `/var/lock`. To je na primer v primeru Red Hat sistemov. Preverite pogovorno okno modema za natančno lokacijo, ki ste jo izbrali. Rešitev je preprosta -- ali poženete kppp s SETUID, če si lahko privoščite, ali pa dodelite navadnim uporabnikom dovoljenje za pisanje v `/var/lock` ali pa ustvarite skupino modem, ki bo imela dostop do `/var/lock` datoteke.

#### Zakaj je kppp nameščen z vključenim SETUID bitom?

V resnici ni nobene potrebe za SETUID bit, če poznate malo Unix sistemskega upravljanja. Preprosto ustvarite skupino modem, dodajte vse uporabnike, ki jim želite omogočiti dostop do modema tej skupini in naredite modemsko napravo berljivo/zapisljivo tej skupini. Če želite, da DNS nastavitev deluje s kppp, potem mora biti `/etc/resolv.conf` berljiva/zapisljiva članom te skupine. Isto velja za `/etc/ppp/pap-secrets` in `/etc/ppp/chap-secrets`, če želite uporabljati vgrajeno PAP ali CHAP podporo.

Prosim ne me kritizirati za namestitev kppp-ja z vključenim setuid bit , ker preprosto ne morem več prebirati kupe pošte, ki sem jih dobival od obupanih uporabnikv, ki so imeli težave z delovanjem kppp-ja, ker niso dovolj razumeli Unix-a in dovoljenj o napravah.

Skupina kppp je pozneje veliko delala na tem, da bi naredila kppp setuid-varen. Vendar je od vas odvisno, da se odločite, če želite to namestiti in na kakšen način.

Mogoče boste želeli še prebrati razdelek Varnost.

#### kppp samo stoji pri miru in čaka: Pričakujem OK

- Ste se igrali s CR/LF nastavitvami? Poskusite CR, LF ali CR/LF.

- Vaš modem lahko potrebuje nekaj časa, da odgovori, če se je inicializiral. Odprite pogovorno okno "Ukazi modemu" na jezičku "Modem" in se igrajte z zakasnitvami "Predinic. premor" in "Premor po inicializaciji". Preverite, če vam je uspelo pri drastičnem povečanju njihovih vrednosti in potem te vrednosti uskladite.

#### Povezava deluje pravilno, vendar ne morem zagnati nobene aplikacije.

Verjetno ste vključili možnost in ima zato strežnik X probleme s povezovanjem do vašega novo imenovanega odjemalca. Če resnično potrebujete to možnost (verjetno da ne) si morate sami nastaviti primerno identifikacijo. Zagon ukaza xhost + preden zaženete povezavo, bo opravilo to delo, vendar bodite pozorni na varnostna tveganja, ki jih ta ukaz povzroči, ker ima sedaj vsakdo odobren dostop do vašega strežnika X.

#### kppp poroča o uspešni povezavi, vendar Netscape pravi samo "The server does not have a DNS entry"

Poskusite ping-ati drugi strežnik po njegovi IP številki, npr. `ping 195.0.254.76`. Če to deluje, bi morali

- preveriti, če ste vnesli kppp-ju vsaj en DNS naslov

- preveriti vsebino `/etc/host.conf`. Tam bi morala biti vrstica, ki pravi nekaj podobnega temu: `order hosts, bind`. Ključna beseda je `bind`, ki obvešča razreševalno knjižnico, naj vključi povpraševanje imenskega strežnika, ko izvaja iskanje po naslovih.

#### Kako naredim, da kppp pošlje \n ali \r?

Preprosto pošljite prazen niz, kot je v naslednji skripti:

    Send                                   # pošlje prazen niz
    Expect      ID:
    Send        itsme
    Expect      word:
    Send        forgot
    Expect      granted
    Send        ppp

#### kppp se pritožuje: "Ne morem ustvariti zaklepne datoteke"

To pomeni, da nimate dovoljenj, da bi ustvarili zaklepno datoteko. Če izberete, da boste uporabljali zaklepno datoteko, morate imeti dovoljenje za pisanje v imenik (ponavadi /var/lock). To seveda ni več težava, če ste dali kppp-ju setuid dovoljenja. Prosim preberite razdelek .

#### Moj modem povzroča veliko hrupa med klicanjem!

Kliknite na "Nastavitve", "Modem". Tukaj lahko nadzorujete glasnost modema v treh korakih: izključena, srednja in visoka. Za večino modemov imata "srednja" in "visoka" za rezultat isto glasnost. Če to ne deluje, preverite, da so izbrane pravilne nastavitve za vaš modem v "Nastavitve"/"Modem"/"Ukazi modemu"!

#### Glasnost modema sem premaknil na "izključena" in preveril ukaze modemu, vendar še vedno slišim ta hrup med klicanjem!

Začetni klicni niz glasnosti se izgubi, če vaš modem ne more obvladati hitrosti, ki jo vzpostavi ukaz od kppp. Povečajte vrednost "Premor po inicializaciji" v "Nastavitve"/"Modem"/"Ukazi modemu"!

Kliknite na "Nastavitve", "Modem". Od tukaj lahko nadzorujete glasnost modema v treh korakih: izključana, srednja in visoka. Za večino modemov imata "srednja" in "visoka" za rezultat isto glasnost. Če to ne deluje, preverite, da so izbrane pravilne nastavitve za vaš modem v "Nastavitve"/"Modem"/"Ukazi modemu"!

#### kppp poroča nenavadno hitrost modema, kot je 115200, 57600 ali podobno

Veliko modemov poroča samo hitrost serijskih vrat in ne hitrost preko telefonske linije kot privzeto hitrost. Te modeme morate nastaviti, da bodo poročali resnično hitrost po liniji (dodajte modemskemu inicializacijskemu ali klicnemu nizu). Za večino modemov je ta ukaz "ATW2". Če ga želite dodati v klicni-niz (dial-string) (tipično "ATD"), bi bil novi klicni niz enak "ATW2D".

#### kppp poroča "Neznana hitrost"

Novi modemi imajo pogosto zelo kompleksna obvestila kot je "CONNECT LAP.M/V42.bis/115000:RX/31200:TX" in kppp ne more pravilno razčleniti takega obvestila. Vključite "Prikaži dnevnik", da boste videli hitrost povezave. Trenutno delam na tem, da bi se to rešilo, razčlenitev je že veliko boljša, vendar še vedno ni idealna.

#### Počasna hitrost povezave

Če niste zadovoljni s hitrostjo modema, preverite, da ste nastavili hitrost povezave ("Nastavitve" / "Naprava" / "Hitrost povezave") na 57600 ali več. Preverite, da vaša serijska vrata podpirajo višje hitrosti. Veliko sistemov baziranih na i486 ne delujejo pravilno, ko nastavite hitrost na 115200. Če imate čip 8250 UART ne bo delovalo. Če pa imate 16550 ali 16550A bi moralo delovati brezhibno.

Dodatno preverite navodila za uporabo vašega modema za inicializacijski niz, ki omogoča način hitre povezave.

#### RESNIčNO počasna povezava

Če podatki kapljajo v samo nekaj bajtov na sekundo, bi morali preveriti nastavitve vaše strojne opreme. Če premikanje vaše miške pospeši oddajanje, je to definitivno problem strojne opreme.

Pridobite si nekaj informacij o vaših serijskih vratih s `setserial -a /dev/ttySx` in preverite za spore v prekinitvah z drugimi komponentami vašega sistema.

#### Moja telefonska linija potrebuje pulzno klicanje namesto tonskega klicanja (ali obratno)

Spremeniti morate vaš klicni niz(dial string) modema. Skoraj vsi modemi podpirajo naslednje AT-ukaze:

- ATDT - izbere tonsko klicanje

- ATDP - izbere pulzno klicanje

#### kppp počne resnično čudne stvari (karkoli)

Ste ga (ali knjižnice) sestavili z gcc-2.8? Ta različica gcc-ja je nekako pokvarjena in ne bo delovala kot je pričakovano.

#### Kako napišem datoteko s pravili za telefonske stroške?

Preprosto sledite datotekam s pravili PREDLOGA, ki prihaja s kppp. Morali bi najti kopijo v `&dollar;&lcub;KDEDIR&rcub;/doc/HTML/kppp`. Uporabite možnost `-r` kppp v ukazni vrstici, da preverite sintakso vaše predlagane datoteke s pravili.

#### Napisal sem datoteko s pravili za telefonske stroške za mojo regijo. Kam jo lahko pošljem, da jo bodo lahko tudi drugi uporabljali?

Zelo bom vesel, da bom prejel kakšno datoteko s pravili. Objavil jo bom na moji kppp spletni strani. Preden mi pošljete novo datoteko s pravili, preverite, da ni že mogoče objavljena na kppp spletni strani. Potem mi jo pošljite na .

#### Lahko moja datoteka s pravili za telefonske stroške vsebuje decimalne številke za merjenje časa, npr. "(0.17, 45.5)"?

Da lahko. Vendar nebi smeli uporabljati nenavadno majhne časovne enote (pod desetinko sekunde), ker bi to imelo za posledico visoko obremenitev CPE (CPU) (čeprav dvomim, da boste to opazili s sodobno CPE (CPU) :-)

#### Moja država se drži premaknjenega praznika, ki je različen od velike noči.

V tem primeru morate napisati novo kodo, ki omogoča računanje za ta praznik. Prosimo poglejte ruleset.cpp in posnemajte ``velikonočni'' primer. Potem mi pošljite popravke.

### Kako si razlagati sistemski dnevnik

#### Serijska linija je zazankana

Kratek odgovor: Niste zagnali PPP programske opreme na enakovrednem sistemu.

Glejte pošto, ki jo je poslal Al Longyear na http://www.dejanews.com/getdoc.xp?AN=184945314 za bolj podrobne razlage.

#### Signal 15

Če uporabljate naslednje linije, ste verjetno tudi dobili napako o izteku časa od kppp-ja. kppp je čakal, da bi se pojavil PPP vmesnik in se vdal po določenem iztečenem času. pppd je bil obveščen, naj zaključi s signalno številko 15, npr. SIGTERM.

    pppd[26921]: pppd 2.3.5 started by me, uid 500
    pppd[26921]: Using interface ppp0
    pppd[26921]: Connect: ppp0 <--> /dev/ttyS0
    pppd[26921]: Terminating on signal 15.
    pppd[26921]: Connection terminated.
    pppd[26921]: Exit.

#### Prejeta serijska linija ni 8-bitno čista

PPP daemon je alarmiran, ker vsi podatki, ki jih prejme imajo bit 8 nastavljen na nič. V večini primerov to preprosto nakazuje, da oddaljeni PPP strežnik še ni zagnan. Lahko se še vedno soočate s prijavno vrstico, ki vrne nazaj vse podatke, ki jih je poslal vaš pppd.

#### Ne morem najti modula ppp-compress

Ali dobite naslednja sporočila?

    modprobe: can't locate module ppp-compress-21
    modprobe: can't locate module ppp-compress-26
    modprobe: can't locate module ppp-compress-24

Dodajte vrstice

    alias ppp-compress-21 bsd_comp
    alias ppp-compress-24 ppp_deflate
    alias ppp-compress-26 ppp_deflate

vaši /etc/conf.modules datoteki.

## kppp in razdelek o varnosti

Ta razdelek je v glavnem za superuporabnike (root), ljudi s pomembnimi varnostnimi vprašanji ali za preprosto tehnično zainteresirane ljudi. Ni vam potrebno prebrati tega, če uporabljate Linux samo doma za vaše potrebe (čeprav se lahko naučite kaj novega, če to preberete)

### Omejiti dostop do kppp-ja

Sistemski administrator bo mogoče želel omejiti dostop, komu je dovoljeno uporabljati kppp. Za to obstajata dva načina:

#### Z dovoljenji skupine

Ustvarite novo skupino (mogoče jo boste hoteli poimenovati "dialout" ali podobno), dodajte vse uporabnike, ki naj bi imeli dovoljenje za uporabo kppp-ja v to skupino in vtipkajte:

    chown root.dialout /usr/local/kde/bin/kppp
    chmod 4750 /usr/local/kde/bin/kppp

Tukaj se privzame, da je bil KDE nameščen v `/usr/local/kde` in vaša nova skupina se imenuje "dialout".

#### kppp-jev način

Preden se karkoli naredi, kppp preveri, če obstaja datoteka imenovana `/etc/kppp.allow`. Če ta datoteka obstaja, bodo SAMO uporabniki imenovani v tej datoteki imeli dovoljenje za klicanje. Ta datoteka mora biti berljiva vsakemu uporabniku (seveda NE zapisljiva). Prepoznana so samo imena s katerimi se uporabniki prijavijo, zato ne morete uporabiti UID-jev v tej datoteki. Tukaj je kratek primer:

    # /etc/kppp.allow
    # vrstice s komentarjem kot je tale se ignorirajo,
    # kot tudi prazne vrstice
    fred
    karl

    # Sebe sem postavil semkaj :-)
    mweilguni

V zgornjem primeru samo uporabniki fred, karl in mweilguni lahko uporabljajo kppp za klicanje, kot tudi vsak uporabnik z UID nastavljen na 0. Zato vam ni potrebno postaviti uporabnika root v to datoteko.

### kppp ima nastavljen SUID bit. Kaj pa varnost?

Navidezno je nemogoče napisati program za klicanje brez SUID bita, ki je istočasno varen in preprost za uporabo za neizkušene uporabnike. kppp odgovarja na varnostna vprašanja z naslednjo strategijo:

- Takoj ko se program zažene, se kppp razveji.

- Glavni proces (master process) (kateri skrbi za vse GUI stvari, uporabniško medsebojno delovanje in podobno) takoj za tem prekine SUID način in se zažene z navadnimi uporabniškimi privilegiji.

- Podrejeni proces (slave process) ohrani svoje privilegije in je odgovoren za akcije, ki potrebujejo privilegije root-a. Da ohranimo ta del varen, se tukaj ne uporabijo nobeni klici KDE/Qt knjižnic, ampak samo preprosti klici C knjižnic. Izvorna koda za ta proces je kratka (okrog 500 vrstic) in dobro dokumentirana, zato jo je lahko preveriti, če vsebuje varnostne luknje.

- Glavni in podrejeni proces komunicirata s standardnim UNIX IPC.

Resnično hvala Harri-ju Porten, da je napisal ta odlični del kode. Jaz sem mislil, da je nemogoče - on pa jo je napisal v enem tednu.

## Nastavitev kppp-ja za povratno klicanje

Naslednji razdelek je priskrbel Martin Häfner.

Ta razdelek opisuje, kako nastavimo kppp za povratno klicanje. Podprti so naslednji strežniki:

### Unix (Linux) strežnik za povratno klicanje

Ta razdelek nam predstavi Unix (Linux) proceduro za povratno klicanje in kako se lahko nastavi kppp, da se poveže na Unix strežnik za povratno klicanje, posebno na skriptah temelječ Linux strežnik za povratno klicanje.

Če imate vprašanja ali težave, lahko kontaktirate avtorja tega razdelka.

#### Uvod v povratno klicanje

Da povečate varnost vašega lokalnega omrežja ali da zmanjšate potrošnjo vaših zunanjih sodelavcev, bi bila postavitev strežnika za povratno klicanje vaša prva izbira. Pomislite na nekoga, ki kliče številko vašega strežnika za klicanje (dial-in server) in krade gesla? Zakaj potem vzdržujete požarni zid za vašo internet povezavo? Programska oprema za povratno klicanje vpraša za vaše ime in poišče številko v podatkovni bazi na katero vas pokliče. Potemtakem bi se morala številka shraniti na strežniku. Po identifikaciji bo strežnik prekinil povezavo in vas takoj poklical nazaj na izbrano številko. Odjemlec odgovori na klic in nadaljuje s klicanjem, kot da se ni nič zgodilo. Strežnik bo vprašal za uporabniško ime in geslo, potem bo povezava vzpostavljena in pppd se bo lahko zagnal. Sedaj, kako naj povem odjemalcu naj odgovori na klic? Ali potrebujem program kot je mgetty? Odgovor je "NE"! Ne potrebuje te posebnega programa za odjemalca. Splošno rečeno, se lahko uporabljajo vsi odjemalci za povezavo povratnega klicanja. Lahko tudi uporabite navaden terminalski program kot je minicom, da se povežete na strežnik za povratno klicanje. Edina stvar, ki jo morate narediti, je, da poveste vašemu modemu naj `SamodejnoOdgovori` na klic, ko vaš modem zazna `ZVONENJE`. To se naredi z uporabo določenega ukaza za modem:

    AT&S0=1

To pomeni, da bo modem odgovoril na klic po enem `ZVONENJU`. To se naredi brez vzajemnega delovanja odjemalčeve programske opreme. Kot večina drugih odjemalčevih programov kppp preveri, če je povezava prekinjena od strežnika in ustavi trenutno sejo, če zazna `NO CARRIER`. In tu je naslednja težava: `NO CARRIER` se zazna, ko strežnik za povratno klicanje prekine povezavo, ko izve na katero številko lahko pokliče nazaj odjemalca. Nekateri strežniki uporabljajo posebne programe za prijavljanje. Kako lahko rešite ta problem? Povejte vašemu modemu, naj prikazuje carrier up ves čas (ki ne povzroča nobenih težav, če odjemalec prekine povezavo) z uporabo ukaza za modem:

    AT&C0

Če želite to preskusiti, lahko najprej uporabite navaden terminalski program kot minicom in pokličete vaš strežnik za povratno klicanje.

#### Nastavitev kppp-ja

Nastavitev kppp-ja za povezovanje z Linux strežnikom za povratno klicanje je popolnoma enostavno.

1. Modemu morate samo povedati, naj sprejema klice (glejte zgoraj) in naj ne ustavi klicanja, ko strežnik za povratno klicanje prvič prekine povezavo, da se inicializira za poskus povratnega klicanja. Obe sta nastavitvi za modem, ki se nastavita v jezičku za nastavitev "Modem". Preverite, da je vaša nastavitev podobna naslednji:

       Klicni niz:   AT&C0S0=1DT

   Vse druge nastavitve bodo ostale takšne kot so. kppp ima nekaj težav z inicializacijo in resetiranjem modema. Glejte razdelek odpravljanje težav, če se vam pojavijo težave.

2. Pomislite za trenutek na vaš strežnik. Vedite, da operacijska sistema Unix in Windows imata različna načina, kako narediti prekinitev linije v tekstovnih datotekah (in v prijavnih procedurah): preprosto CR ali CR/LF ali LF če se želite povezati na Macintosh strežnik. Uporabite CR kot vašo prekinitev linije.

3. Naslednji razdelek opisuje nastavitev kppp za povratno klicanje na osnovi Linux paketa za povratno klicanje (glejte spodaj), ki uporablja splošno uporabniško prijavljanje (brez PAP ali karkoli). Potemtakem morate nastaviti naslednji identifikacijski slog v jezičku "Pokliči" kjer nastavljate račun:

       Identifikacija:   Na skripti temelječ

   Seveda lahko najprej izberete "Na terminalu temelječ" in preskusite vašo povezavo. Zapomnite si, kaj vas strežnik sprašuje, da boste lahko potem napisali vašo prijavno skripto.

4. Sedaj morate ustvariti prijavno skripto. To je zelo močna lastnost kppp-ja. Malo klikajte naokrog po jezičku "Prijavna skripta" v vašem oknu Uredi račun. Za moj strežnik potrebuje uporabnik "xyz" naslednjo skripto, da je poklican nazaj domov (strežnik za povratno klicanje pozna tabelo z imeni in številkami, da si boste lahko izbrali vašo telefonsko številko z lažnim imenom (varnost!)):

       Expect      ogin:       # pomnite, da delamo navadno terminalsko prijavo
       ID          ""          # kppp pošlje id, ki ste ga nastavili v glavnem pogovornem oknu
       Expect      for xyz:    # prikaže se seznam številk, ki so vam na voljo. Uporabnik mora eno izbrati
       Send        xyz-home    # uporabnik želi, da se ga pokliče domov
       Expect      ogin:       # proces za povratno klicanje je zagnan, nova povezava, nova prijava
       ID
       Expect      assword:
       Password                # sedaj idntifikacija vašega gesla
       Expect      >           # čakaj na ukazno vrstico (to lahko varira)
       Send        start_ppp   # start_ppp zažene pppd

   Komentar, ki se začne s "&num;", ga pozabite. Po čakanju na zahtevo po prijavi, pošlje njegov uporabniški ID in čaka na seznam povezav, ki so na voljo za njegov uporabniški ID. Potem pove strežniku, na katero številko želi, da se ga pokliče nazaj. kppp lahko za to odpre pogovorno okno (zelo uporabna lastnost), če se vaš kraj bivanja hitro spreminja (npr. če ste poslovni predstavnik in potujete od hotela do hotela). Sedaj pričakuje strežnik identifikacijo prijave in gesla. Med tem časom, strežnik prekine linijo in pokliče uporabnika nazaj. kppp pričakuje ukazno vrstico in zažene majhno skripto, ki zažene pppd na strežniku. Skripta izgleda podobna tej:

         #!/bin/sh

         stty -echo

         exec /usr/sbin/pppd -detach silent modem

   Seveda ni namen tega dokumenta nastavitev PPP-strežnika. Za podrobne informacije glejte pppd man strani. Primer strežnika za povratno klicanje je opisan tukaj.

Vse druge nastavitvene možnosti (npr. pppd nastavitve ali IP nastavitve) delujejo kot ponavadi. Spomnite se, da ne potrebujete nobene programske opreme, da odgovorite na klic.

Opomba: kppp za povratno klicanje in drugi programi, kot je mgetty ali katerikoli faxgetty, se lahko zaženejo na istih serijskih vratih. To ne povzroči nobenih težav s klicanjem, ker kppp ustvari zaklepno-datoteko, ki bo pokazala programu getty, da drugi program (kppp) trenutno uporablja linijo. Glejte težave z mgetty v splošnem razdelku odpravljanja težav spodaj.

#### Odpravljanje težav

Obstaja nekaj znanih težav s kppp v načinu za povratno klicanje:

- Ko inicializirate modem s SamodejnoOdgovori, bi morali resetirati modem, ko je povezava zaključena. V nasprotnem primeru bo modem odgovarjal na telefonske klice namesto vas.

- Kot je že bilo opisano v razdelku nastavitev boste morali inicializirati modem s klicnim nizom (dial string). Splošni kppp-jev "inicializacijski niz" ne opravlja kompleksnih inicializacijskih nizov, ki so potrebni za nastavitev povratnega klicanja.

- Naslednja tema je bolj spološna in ni v zvezi s povratnim klicanjem: kppp ima nekaj malih težav pri delitvi modemske linije z drugimi programi, kot je mgetty. Če mgetty teče na isti modemski liniji, kppp ne bo mogel pravilno inicializirati modema. To se zgodi samo pri drugem poskusu.

- kppp lahko vpraša za določene uporabniške vnose med povezavo, katera temelji na skripti. Na žalost kppp me tudi vpraša za moj uporabniški ID, ko bo strežnik drugič vprašal za uporabniški ID (glejte razdelek o prijavni skripti zgoraj). Če se želite znebiti tega, boste morali učvrstiti vaš uporabniški ID v vaši prijavni skripti (ni ravno lepo, vendar pomaga).

#### Viri na internetu za strežniško programsko opremo

Svežnji za Linux strežniško programsko opremo za povratno klicanje so na voljo na internetu. Seveda je dobro znani mgetty zelo močan program, ki lahko tudi obravnava povezave za povratno klicanje. Opis kako nastaviti mgetty za ta namen je tukaj. Stran vzdržuje Colin Mc Kinnon, zato ne spraševati mene, če imate kakšne težave. Na voljo je tudi paket pripravljen-za-uporabo za Linux strežnik za povratno klicanje, ki ga dobite tukaj. Paket vzdržuje Frank B. Brokken. Ker paketa ni preprosto nastaviti (čeprav je namestitev preprosta), sem napisal kratek uvod zanj. Poglejte si tudi ta paket, če potrebujete nadaljni splošni uvod v povratno klicanje.

### Windows NT RAS povratno klicanje

Windows NT uporablja popolnoma drugačen pristop kot tale opisan tukaj (kot ponavadi). NT zahteva razširitev samega PPP protokola imenovanega CBCP (Call Back Control Protocol). `pppd` ima podporo za ta protokol, vednar morate ponovno sestaviti (recompile) `pppd`.

Če ima kdo izkušnje, kako se to naredi s kppp, prosim pišite mi o tem.

## Dodatek

### Garnitura Hayes ukazov za modem

Garnitura Hayes ukazov vam lahko pride prav, če hočete dobro prilagoditi ukaze vašemu modemu.

### Datoteke v zvezi s kppp

Kot privzeto kppp uporablja naslednje datoteke in imenike. Lokacija nekaterih se lahko spremeni, ko ga sestavljate.

    &dollar;{KDEDIR}/bin/kppp
    &dollar;{KDEDIR}/share/doc/HTML/.../kppp/*
    &dollar;{KDEDIR}/share/apps/kppp
    &dollar;{KDEDIR}/share/apps/kppp/Rules/*/*.rst
    &dollar;{KDEDIR}/share/apps/kppp/pics/*
    &dollar;{HOMEDIR}/.kde/share/apps/kppp
    &dollar;{HOMEDIR}/.kde/share/apps/kppp/kppp.pid
    &dollar;{HOMEDIR}/.kde/share/apps/kppp/Log/*
    &dollar;{HOMEDIR}/.kde/share/config/kppprc

### Poročanje težav v zvezi s kppp

Preden sporočite težavo ali potencialnega hrošča kppp-ja, prepričajte se, da ste pozorno prebrali razdelek Pogosto zastavljena vprašanja.

Če še vedno imate težave, bi morali vključiti naslednje informacije poleg vašega sporočila:

- Različica kppp-ja, ki jo uporabljate. kppp -v bo prikazalo številko različice.

- Različico pppd-ja, ki jo uporabljate. /usr/sbin/pppd -h bo prikazalo številko.

- Kateri operacijski sistem uporabljate in katero različico. uname -a vam bo povedal to informacijo na večini UNIX sistemov.

- Če kppp poroča "pppd umrl nepričakovano", dodajte razhroščevalno možnost k pppd argumentom. Ponovno kličite, da še enkrat ponovite napako.

  Sedaj bo datoteka `/var/log/messages` (to je odvisno od vašega sistema in nastavitev, vendar bo tipično nameščen Linux sistem imel to datoteko. Seveda morate imeti dovoljenja root-a, da preberete to datoteko) imela na koncu veliko razhroščevalnih izpisov. Ne nam pošiljati celotne datoteke. Ponavadi ima taka datoteka nekaj tisoč vrstic in nimamo niti časa in niti ne želimo pregledati take datoteke. Pošljite nam samo zadnje vrstice, ki vsebujejo pppd, namesto celote. Prepričajte se, da ta datoteka ne vsebuje informacije, ki bi lahko ogrožale varnost, kot so gesla ali uporabniška imena. Zamenjajete te vnose z vnosi kot je "myusername" in "mypassword"

## Splošno dovoljenje GNU

To je neuradni prevod Splošnega dovoljenja GNU (angl. GNU General Public License) v slovenščino. Ni ga objavila ustanova Free Software Foundation in zakonsko ne določa pogojev za razširjanje programov, ki uporabljajo GNU GPL -- te določa le angleški izvirnik licence GNU GPL. Vseeno pa upamo, da bo ta prevod pomagal slovensko govorečim ljudem bolje razumeti licenco GNU GPL.

                           SPLOšNO DOVOLJENJE GNU
                               Različica št. 2, junij 1991

     Pravice razširjanja (C) 1989, 1991 Free Software Foundation, Inc.
            59 Temple Place - Suite 330, Boston,  MA 02111-1307, USA.

     Vsakdo sme razmnoževati in razširjati dobesedne kopije tega
     licenčnega dokumenta, ni pa ga dovoljeno spreminjati.

                                         Predgovor

     Licenčne pogodbe večine programja so zasnovane tako, da vam
    preprečujejo njegovo svobodno razdeljevanje in spreminjanje. Za
    razliko od teh vam namerava Splošno dovoljenje GNU (angl. GNU General
    Public License, GPL) zajamčiti svobodo pri razdeljevanju in
    spreminjanju prostega programja ter s tem zagotoviti, da ostane
    programje prosto za vse njegove uporabnike. Ta GPL se nanaša na
    večino programske opreme ustanove Free Software Foundation in na vse
    druge programe, katerih avtorji so se zavezali k njeni uporabi.
    (Nekatero drugo programje ustanove Free Software Foundation je
    namesto tega pokrito s Splošnim dovoljenjem GNU za knjižnice, angl.
    GNU Library General Public License.) Uporabite jo lahko tudi za vaše
    programe.

     Ko govorimo o prostem programju, imamo s tem v mislih svobodo, ne
    cene. Naša splošna dovoljenja GNU vam zagotavljajo, da imate pravico
    razširjati kopije prostega programja (in zaračunavati za to storitev,
    če tako želite); da dobite izvorno kodo ali jo lahko dobite, če tako
    želite; da lahko spreminjate programje ali uporabljate njegove dele v
    novih prostih programih; in da veste, da lahko počnete vse te stvari.

     Zaradi zavarovanja vaših pravic moramo uvesti omejitve, ki
    prepovedujejo vsakomur, da bi vam te pravice kratil ali od vas
    zahteval predajo teh pravic. Te omejitve se preslikajo v določene
    odgovornosti za vas, če razširjate kopije programja ali ga spreminjate.

     Na primer, če razširjate kopije takega programa, bodisi zastonj ali
    za plačilo, morate dati prejemnikom vse pravice, ki jih imate vi.
    Prepričati se morate, da bodo tudi oni prejeli ali imeli dostop do
    izvorne kode. In morate jim pokazati te pogoje (pravzaprav izvirnik,
    opomba prevajalca), da bodo poznali svoje pravice.

     Vaše pravice varujemo z dvema korakoma: (1) s pravno zaščito
    programja in (2) ponujamo vam to licenco, ki vam daje pravno
    dovoljenje za razmnoževanje, razširjanje in/ali spreminjanje programja.

     Zaradi zaščite vsakega avtorja in zaradi naše zaščite želimo
    zagotoviti, da vsakdo razume, da za to prosto programje ni nobenega
    jamstva. Če je programje spremenil nekdo drug in ga posredoval
    naprej, želimo, da njegovi prejemniki vedo, da to, kar imajo, ni
    izvirnik, zato da se problemi, ki jih povzročijo drugi, ne bodo
    odražali na ugledu izvornega avtorja.

     Končno, vsakemu prostemu programu nenehno grozijo programski
    patenti. Želimo se izogniti nevarnosti, da bi razširjevalci prostega
    programa posamično dobivali patentne licence in s tem naredili
    program lastniški (angl. proprietary). Za preprečitev tega jasno
    zahtevamo da mora biti vsak patent licenciran tako, da ga lahko
    vsakdo prosto uporablja, ali pa sploh ne sme biti licenciran.

     Sledijo natančne določitve in pogoji za razmnoževanje, razširjanje
    in spreminjanje.

    DOLOČITVE IN POGOJI ZA RAZMNOŽEVANJE, RAZŠIRJANJE IN SPREMINJANJE

     0.Licenca se nanaša na vsak program ali drugo delo, ki vsebuje
    obvestilo lastnika avtorskih pravic (angl.\ copyright holder) z
    izjavo, da se lahko distribuira pod pogoji Splošnega dovoljenja GNU
    (angl.\ General Public License). ,,Program`` se v nadaljevanju nanaša
    na vsak tak program ali delo, in ,,delo, ki temelji na programu``
    pomeni bodisi program ali pa katerokoli izvedeno delo po zakonu o
    avtorskih pravicah (angl.\ copyright law): se pravi delo, ki vsebuje
    program ali njegov del, bodisi dobesedno ali s spremembami in/ali
    prevedeno v drug jezik. (Tukaj in povsod v nadaljevanju je prevod
    vključen brez omejitev v pojem ,,spremembe``.) Vsaka licenca je
    naslovljena na ,,vas``.

     Ta licenca ne pokriva nobenih drugih aktivnosti razen razmnoževanja,
    razširjanja in sprememb; ostale so izven njenega dometa. Dejanje
    poganjanja programa ni omejeno in izhod programa je zajet le, če
    njegova vsebina sestavlja delo, iz katerega je izpeljan program (ne
    glede na to, da je bil narejen s poganjanjem programa). Ali je to res
    ali ne, je odvisno od tega, kaj počne program.

     1.Razmnožujete in razširjate lahko dobesedne izvode izvorne kode
    programa v enaki obliki, kot jo dobite, preko kateregakoli medija, če
    le na vsakem izvodu razločno in primerno objavite obvestilo o
    pravicah razširjanja in zanikanje jamstva; vsa obvestila, ki se
    nanašajo na to licenco in odsotnost vsakršnega jamstva pustite
    nedotaknjena; in daste vsem drugim prejemnikom programa poleg
    programa še izvod te licence.

     Za fizično dejanje prenosa kopije lahko zaračunavate in po vaši
    presoji lahko ponudite garancijsko zaščito v zameno za plačilo.

     2.Spreminjati smete vaš izvod ali izvode programa ali katerikoli
    njegov del, in tako narediti delo, ki temelji na programu, ter
    razmnoževati in razširjati takšne spremembe ali dela pod pogoji
    zgornjega razdelka 1, če zadostite tudi vsem naslednjim pogojem:

      a.Zagotoviti morate, da spremenjene datoteke nosijo vidna obvestila
        o tem, da ste jih spremenili in datum vsake spremembe.

      b.Zagotoviti morate, da je vsako delo, ki ga razširjate ali izdajate
        in ki v celoti ali deloma vsebuje program ali katerikoli njegov
        del ali pa je iz njega izpeljano, licencirano pod pogoji te
        licence kot celota brez plačila katerikoli tretji osebi.

      c.Če spremenjeni program ob zagonu navadno bere ukaze interaktivno,
        morate zagotoviti, da se ob najbolj običajnem zagonu za takšno
        interaktivno uporabo izpiše ali prikaže najava, ki vključuje
        primerno sporočilo o pravicah razširjanja in sporočilo, da
        jamstvo ni zagotovljeno (ali pa sporočilo, da ponujate jamstvo)
        in da lahko uporabniki razširjajo program pod temi pogoji, in
        pove uporabniku, kako pogledati izvod te licence. (Izjema: če je
        sam program interaktiven, a navadno ne izpiše takšne najave, tudi
        za vaše delo, ki temelji na programu, ni nujno, da jo.)

    Te zahteve se nanašajo na spremenjeno delo kot celoto. Če kosi tega
    dela, ki jih je lahko prepoznati, niso izpeljani iz programa in se
    jih lahko ima za neodvisna in ločena dela sama po sebi, potem ta
    licenca in njeni pogoji ne veljajo zanje, kadar jih razširjate
    ločeno. Vendar, kadar te iste kose razširjate kot del celote, ki je
    delo, ki temelji na programu, mora biti razširjanje celote izvedeno
    pod pogoji te licence, katere dovoljenja za druge licence se
    razširjajo na vso celoto in torej na vsak njen del, ne glede na to,
    kdo ga je napisal.

    Torej, namen tega razdelka ni, da bi zanikal ali spodbijal vaše
    pravice do dela, ki ste ga v celoti napisali sami; namesto tega je
    namen razširiti pravico do nadzora razširjanja na izpeljana ali
    zbrana dela, ki temeljijo na programu.

    Poleg tega, če gre za zgolj kopičenje drugega dela, ki ne temelji na
    programu, s programom (ali z delom, ki temelji na programu) na mediju
    za shranjevanje ali distribucijskem mediju, se licenca na to drugo
    delo ne nanaša.

     3.Program (ali delo, ki temelji na njem, pod razdelkom 2) lahko
    razmnožujete in razširjate v objektni kodi ali izvedljivi obliki pod
    pogoji zgornjih razdelkov 1 in 2, če izpolnite tudi kaj od tega:

       a.Opremite ga s popolno in ustrezno izvorno kodo v strojno
         berljivi obliki, ki mora biti razširjana pod pogoji zgornjih
         razdelkov 1 in 2 na mediju, ki se navadno uporablja za izmenjavo
         programja; ali,

       b.Opremite ga z napisano ponudbo, veljavno vsaj tri leta, da boste
         katerikoli tretji osebi, za plačilo, ki ne bo presegalo vaših
         stroškov fizičnega izvajanja izvorne distribucije, dali popoln
         izvod ustrezne izvorne kode v strojno berljivi obliki, ki bo
         razširjana pod pogoji zgornjih razdelkov 1 in 2 na mediju, ki se
         običajno uporablja za izmenjavo programja; ali,

       c.Opremite ga z informacijo, ki ste jo dobili vi, kot ponudbo
         distribucije ustrezne izvorne kode. (Ta alternativa je dovoljena
         le za nekomercialne distribucije in le, če ste dobili program v
         obliki izvorne kode ali izvedljivi obliki s takšno ponudbo,
         glede na podrazdelek b, zgoraj.)

    Izvorna koda pri delih pomeni obliko dela, najprimernejšo za izdelavo
    sprememb. Pri izvedljivem delu pomeni izvorna koda vso izvorno kodo
    za vse module, ki jih vsebuje, poleg tega pa še morebitne datoteke z
    definicijami vmesnika, povezane s tem delom in skripte, uporabljane
    za nadzor prevajanja in namestitev izvedljive datoteke. Vendar - kot
    posebna izjema - ni nujno, da razširjana izvorna koda vključuje vse,
    kar se navadno razširja (v izvorni ali binarni obliki) z večjimi
    komponentami (prevajalnik, jedro, in tako naprej) operacijskega
    sistema, na katerem teče izvedljiva datoteka, razen če ta komponenta
    spremlja izvedljivo datoteko.

    Če se razširjanje izvedljive datoteke ali objektne kode izvede s
    ponujenim dostopom za prepisovanje z za to namenjenega mesta, potem
    ponujanje ekvivalentnega dostopa za razmnoževanje izvorne kode z
    istega mesta šteje kot razširjanje izvorne kode, čeprav tretje osebe
    niso prisiljene razmnoževati izvorne kode poleg objektne kode.

     4.Ne smete razmnoževati, spreminjati, podlicencirati ali razširjati
    programa drugače, kot to izrecno določa pričujoča licenca. Vsak
    poskus siceršnjega kopiranja, spreminjanja, podlicenciranja ali
    razširjanja programa je ničen in bo samodejno prekinil vaše pravice
    pod to licenco. Vendar pa se osebam, ki so svoj izvod ali pravice
    dobile od vas pod to licenco, licenca ne prekine, dokler se ji
    popolnoma podrejajo.

     5.Ni vam treba sprejeti te licence, saj je niste podpisali. Vendar
    vam razen nje nič ne dovoljuje spreminjanja ali razširjanja programa
    ali iz njega izpeljanih del. Če ne sprejmete te licence, ta dejanja
    prepoveduje zakon. Torej, s spremembo ali razširjanjem programa (ali
    kateregakoli dela, ki temelji na programu), pokažete svoje strinjanje
    s to licenco in z vsemi njenimi določitvami in pogoji za
    razmnoževanje, razširjanje ali spreminjanje programa ali del, ki
    temeljijo na njem.

     6.Vsakič, ko razširjate program (ali katerokoli delo, ki temelji na
    programu), prejemnik samodejno prejme licenco od izvornega
    izdajatelja licence (angl. original licensor) za razmnoževanje,
    razširjanje ali spreminjanje programa glede na ta določila in pogoje.
    Ne smete vsiljevati nobenih nadaljnjih omejitev izvajanja
    prejemnikovih pravic, podeljenih tukaj. Niste odgovorni za
    vsiljevanje strinjanja tretjih oseb s to licenco.

     7.Če so vam, kot posledica presoje sodišča ali suma kršitve patenta
    ali zaradi kateregakoli drugega razloga (ne omejenega zgolj na
    patentna vprašanja), vsiljeni pogoji (bodisi z odlokom sodišča,
    sporazumom ali drugače), ki nasprotujejo pogojem te licence, vas ne
    odvezujejo pogojev te licence. Če programa ne morete razširjati tako,
    da hkrati zadostite svojim obvezam pod to licenco in katerimkoli
    drugim pristojnim obvezam, potem posledično sploh ne smete razširjati
    programa. Na primer, če patentna licenca ne dovoli razširjanja
    programa brez plačevanja avtorskega honorarja vseh, ki prejmejo
    kopije neposredno ali posredno od vas, potem je edina možna pot, da
    zadostite temu pogoju in tej licenci ta, da se v celoti vzdržite
    razširjanja programa.

    Če se za katerikoli del tega razdelka ugotovi, da je neveljaven ali
    da se ga ne da izvajati pod kateremkoli določenim pogojem, je
    mišljeno, da velja usmeritev tega razdelka (angl. balance of the
    section) in razdelek kot celota velja v drugih primerih.

    Namen tega razdelka ni, da bi vas napeljeval h kršitvi patentov ali
    drugih trditev lastništva pravic ali izpodbijal veljavnost
    katerihkoli takšnih trditev; edini namen tega razdelka je ščitenje
    integritete sistema distribucije prostega programja, ki je izveden s
    prakso javnih licenc. Mnogi ljudje so radodarno prispevali k širokemu
    naboru programja, razširjanega skozi ta sistem, v upanju na njegovo
    dosledno izvajanje; od avtorja/dajalca je odvisno, če je pripravljen
    razširjati programje skozi katerikoli drug sistem, in izdajatelj
    licence ne more vsiljevati te izbire.

    Ta razdelek namerava temeljito pojasniti, kaj so predvidene posledice
    nadaljevanja licence.

     8.Če sta razširjanje in/ali uporaba programa omejena v določenih
    državah, bodisi zaradi patentov ali vmesnikov s posebno pravico
    razširjanja (angl. copyrighted interfaces), lahko izvorni lastnik ali
    lastnica pravic razširjanja, ki postavlja program pod to licenco,
    doda eksplicitno zemljepisno omejitev razširjanja, ki izključuje te
    države, tako da je razširjanje dovoljeno le v in med državami, ki
    niso na tak način izključene. V takem primeru ta licenca vključuje
    omejitve, kot da so napisane v telesu te licence.

     9.Ustanova Free Software Foundation lahko od časa do časa izdaja
    preurejene in/ali nove različice Splošne javne licence (angl. General
    Public License). Nove različice bodo pisane v duhu trenutne
    različice, vendar se lahko razlikujejo v podrobnostih, ki bodo
    obdelovale nove težave ali poglede.

    Vsaki različici je prirejena razločevalna številka različice. Če
    program določa številko različice te licence, ki se nanaša na njo in
    ,,na katerekoli poznejše različice``, imate izbiro upoštevanja
    pogojev in določil bodisi te različice ali katerekoli poznejše
    različice, ki jo je izdala ustanova Free Software Foundation. Če
    program ne določa številke različice te licence, lahko izberete
    katerokoli različico, ki jo je kdajkoli izdala ustanova Free Software
    Foundation.

     10.Če želite vključiti dele programa v druge proste programe,
    katerih pogoji razširjanja so drugačni, pišite avtorju in ga prosite
    za dovoljenje. Za programje, katerega pravice razširjanja ima Free
    Software Foundation, pišite na Free Software Foundation; včasih
    naredimo izjemo pri tem. Našo odločitev bosta vodila dva cilja:
    ohranitev prostega statusa vseh izvedenih del iz našega prostega
    programja in spodbujanje razdeljevanja in ponovne uporabe programja
    na splošno.

                    BREZ JAMSTVA

     11.KER JE PROGRAM LICENCIRAN KOT BREZPLAČEN, NI NOBENEGA JAMSTVA ZA
    PROGRAM DO MEJE, KI JO DOLOČA PRISTOJNI ZAKON. RAZEN, ČE NI DRUGAČE
    NAPISANO, IMETNIKI PRAVIC RAZŠIRJANJA IN/ALI DRUGE OSEBE PONUJAJO
    PROGRAM ,,TAK, KOT JE``, BREZ ZAGOTOVILA KAKRŠNEKOLI VRSTE,
    NEPOSREDNEGA ALI POSREDNEGA, KAR VKLJUČUJE, A NI OMEJENO NA POSREDNA
    JAMSTVA CENOVNE VREDNOSTI IN PRIMERNOSTI ZA DOLOČENO UPORABO. CELOTNO
    TVEGANJE GLEDE KAKOVOSTI IN DELOVANJA PROGRAMA PREVZAMETE SAMI. ČE SE
    PROGRAM IZKAŽE ZA OKVARJENEGA, SAMI NOSITE STROŠKE VSEH POTREBNIH
    STORITEV, POPRAVIL ALI POPRAVKOV.

     12.V NOBENEM PRIMERU, RAZEN ČE TAKO PRAVI VELJAVNI ZAKON ALI JE
    PISNO DOGOVORJENO, NE BO LASTNIK PRAVIC RAZŠIRJANJA ALI KATERAKOLI
    DRUGA OSEBA, KI LAHKO SPREMENI IN/ALI PONOVNO RAZŠIRJA PROGRAM, KOT
    JE DOVOLJENO ZGORAJ, PREVZEL ODGOVORNOSTI ZARADI ŠKODE, NAJSI GRE ZA
    SPLOŠNO, POSEBNO, NENAMERNO ŠKODO ALI ŠKODO, IZHAJAJOČO IZ UPORABE
    ALI NEZMOŽNOSTI UPORABE PROGRAMA (VKLJUČNO Z, A NE OMEJENO NA, IZGUBO
    PODATKOV ALI NENATANČNO OBDELAVO PODATKOV ALI IZGUBO, POVZROČENO VAM
    ALI TRETJIM OSEBAM ALI NEZMOŽNOST PROGRAMA, DA BI DELOVAL S KAKIM
    DRUGIM PROGRAMOM), ČETUDI JE BIL TAK LASTNIK ALI DRUGA OSEBA OBVEŠČEN
    O MOŽNOSTI NASTANKA TAKŠNE ŠKODE.

                                    KONEC DOLOČB IN POGOJEV