Keywords: gs-sl

Naprej: A. Viri informacij o Navzgor: Namestitev in začetek dela Nazaj: 5. X Window System

Podrazdelki

- 6.1 Vmreževanje s TCP/IP
  - Strojne potrebe za TCP/IP
  - 6.1.1 Nastavitev TCP/IP na vašem sistemu
    - Vaša omrežna nastavitev
    - Omrežne datoteke `rc`
    - Datoteka `/etc/hosts`
    - Datoteka `/etc/networks`
    - Datoteka `/etc/host.conf`
    - Datoteka `/etc/resolv.conf`
    - Nastavitev vašega gostiteljskega imena
    - Preizkus
  - 6.1.2 Nastavitev SLIP
    - Povezave SLIP s statičnim naslovom IP z uporabo `dip`.
    - Povezave SLIP s statičnim naslovom IP z uporabo `slattach`.
    - Povezave SLIP z dinamičnim naslovom IP z uporabo `dip`
  - Uporaba `dip`
- 6.2 Omrežje na klic in PPP
  - 6.2.1 Kaj potrebujete za začetek
  - 6.2.2 Pregled potrebnih korakov
    - Prepričajte se, da ima vaše jedro podporo za TCP/IP.
    - Prepričajte se, da ima jedro podporo za PPP.
    - Prepričajte se, da imate nastavljen modem.
    - Informacije o ponudniku Interneta.
    - Preizkus vašega modema in oddaljene storitve.
    - Uporaba internetnih strežnikov z dinamičnimi številkami IP.
    - Datoteke za povezavo PPP.
    - Katere izbire naj uporabim?
    - Ročna vzpostavitev povezave PPP.
  - 6.2.3 Izdelava povezovalnih skriptov
    - Skript `ppp-on`.
    - Skript `ppp-on-dialer`.
    - Skript `ppp-off` za PPP-2.2.
  - 6.2.4 Prilagajanje priloženih zagonskih skriptov za PPP
    - Skript `ppp-on`.
    - Skript `ppp-on-dialer`.
  - 6.2.5 Zagon PPP na strani strežnika
  - 6.2.6 Če vaš strežnik PPP uporablja PAP (Password Authentication Protocol)
  - 6.2.7 Uporaba protokola MSCHAP
    - Pogovorni skript za povezave z identifikacijo PAP/CHAP.
    - Preizkus priključitvenega skripta.
  - 6.2.8 Prekinitev povezave PPP
  - 6.2.9 Odpravljanje pogostih težav, ko povezava deluje
    - Težave z razreševanjem naslovov.
    - Razhroščevanje neuspelega poskusa.
    - Dobivanje pomoči, ko se vam popolnoma zatakne.
- 6.3 Vmreževanje z UUCP
- 6.4 Vmreževanje s sistemi Microsoft
- 6.5 Elektronska pošta
- 6.6 Novice in Usenet

# 6. Vmreževanje

V tem poglavju govorimo o vmreževanju - kako nastaviti povezavo, uporabljati TCP/IP, SLIP, PPP ali UUCP, elektronsko pošto in novice.

# 6.1 Vmreževanje s TCP/IP

Linux podpira celotno izvedbo omrežnih protokolov TCP/IP (Transport Control Protocol/Internet Protocol). TCP/IP je postal najuspešnejši mehanizem za vmreževanje računalnikov po vsem svetu. Z Linuxom in mrežno kartico lahko priključite vaš stroj na lokalno mrežo (angl. local area network, LAN) ali (s pravilnimi omrežnimi povezavami) na Internet - svetovno omrežje TCP/IP.

Priključitev majhne lokalne mreže (LAN) strojev z Unixom je preprosta. Potrebujete le krmilnik etherneta v vsakem stroju in ustrezne kable za ethernet in drugo strojno opremo. Ali, če vaše podjetje ali univerza ponuja dostop do Interneta, lahko preprosto vključite vaš stroj z Linuxom na to omrežje.

Trenutna izvedba TCP/IP in sorodnih protokolov za Linux se imenuje ,,NET-3`` in pred tem ,,NET-2``. To nima zveze s tako imenovano izdajo NET-2 BSD Unixa; ,,NET-2`` v tem kontekstu pomeni drugo izvedbo TCP/IP za Linux.

Linux NET-3 podpira tudi SLIP, internetni protokol po serijski liniji (angl. Serial Line Internet Protocol), in PPP, protokol za zvezo od točke do točke (angl. Point-to-Point Protocol). SLIP in PPP vam z uporabo vašega modema dovoljujeta, da imate klicni dostop do Interneta. Če vaše podjetje ali univerza ponuja dostop SLIP ali PPP, se lahko prijavite na strežnik za SLIP ali PPP in povežete vaš stroj na Internet preko telefonske linije. Ali pa obratno - če ima vaš stroj z Linuxom tudi dostop do Interneta prek etherneta, lahko usposobite vašo škatlo z Linuxom kot strežnik za SLIP ali PPP.

Za popolne informacije o usposobitvi TCP/IP pod Linuxom vam svetujemo, da preberete spis Linux NET-3 HOWTO, dostopen po anonimnem FTP-ju s strežnika `metalab.unc.edu`. NET-3 HOWTO je popoln vodnik za nastavitev TCP/IP pod Linuxom, vključno z ethernetom in povezavami SLIP ali PPP. Soroden sestavek je Linux Ethernet HOWTO, ki opisuje nastavitve različnih gonilnikov za mrežne kartice za Linux. Dostopna je tudi knjiga iz Dokumentacijskega projekta za Linux (LDP) Linux Network Administrator's Guide. Glejte dodatek A za več informacij o teh dokumentih.

Zanimiva je tudi knjiga TCP/IP Network Administration Craiga Hunta. Vsebuje popolna navodila o uporabi in nastavljanju TCP/IP na sistemih Unix.

## Strojne potrebe za TCP/IP

TCP/IP za Linux lahko uporabljate brez vsakršne strojne opreme za vmreževanje - nastavitev ,,kratko sklenjenega načina`` (angl. loopback mode) vam dovoljuje, da se pogovarjate s sabo. To je potrebno za nekatere aplikacije in igre, ki uporabljajo omrežno napravo z zaprto zanko.

Če želite uporabljati Linux na omrežju TCP/IP tipa Ethernet, boste potrebovali mrežno kartico. Podprte so pogoste kartice, kot so 3com 3c503, HP PCLAN (serije 27245 in 27xxx), Western Digital WD80x3 in Novell NE2000/NE1000 kot tudi mnoge druge. Za podrobnosti glejte spisa Ethernet HOWTO in Hardware HOWTO.

Obstaja nekaj pogostih situacij, kar se tiče podprtih kartic, ki se jih morate izogibati: Veliko kartic je podprtih, a ponujajo slabo zmogljivost ali imajo druge omejitve. Primera sta 3Com 3C501, ki deluje, a klavrno, in Racal-Interlan NI6510, ki uporablja čip (angl. lance chip) am7990, ki ne deluje z več kot 16 megabajti RAM-a. Podobnega razpoloženja so mnogi kloni kartic NE1000/NE2000, ki imajo lahko različne probleme. Za bolj podrobno razlago združljivosti mrežnih kartic z Linuxom glejte Linux Ethernet HOWTO.

Linux podpira tudi SLIP in PPP, kar vam omogoča, da uporabljate modem za dostop do Interneta po telefonski liniji. V tem primeru boste potrebovali modem, združljiv z vašim strežnikom za SLIP ali PPP - večina strežnikov zahteva najmanj modem hitrosti 14.400 bps (bitov na sekundo) V.32bis. Zmogljivost se močno izboljša z modemom hitrosti 33.600 bps ali hitrejšim.

## 6.1.1 Nastavitev TCP/IP na vašem sistemu

V tem razdelku bomo razložili, kako nastaviti na vašem sistemu mrežno povezavo (po ethernetu) s TCP/IP. Vedite, da bi ta metoda morala delovati na veliko sistemih, a gotovo ne na vseh. Ta razprava bi morala zadostovati, da vas pripelje na pravo pot pri nastavljanju mrežnih parametrov vašega stroja, a obstajajo številna svarila in podrobnosti, ki tukaj niso omenjene. Za več informacij vas usmerjamo na knjigo Linux Network Administrators' Guide in spis NET-3-HOWTO6.1.

Najprej predpostavljamo, da imate sistem Linux, ki ima nameščeno programje za TCP/IP. To vključuje osnovne odjemnike, kot sta `telnet` in `ftp`, ukaze za sistemsko upravljanje, kot sta `ifconfig` in `route` (navadno ju najdete v `/etc`), in nastavitvene datoteke za vmreževanje (kot je `/etc/hosts`). Drugi dokumenti, povezani z vmreževanjem v Linuxu, opisani zgoraj, pojasnjujejo, kako se lotiti nameščanja programja za vmreževanje v Linuxu, če ga še nimate.

Predpostavljamo tudi, da je bilo vaše jedro nastavljeno in prevedeno z omogočeno podporo za TCP/IP. Glejte razdelek 4.10 za informacije o prevajanju vašega jedra. Za omogočanje vmreževanja morate odgovoriti pritrdilno na primerna vprašanja med korakom `make config` in ponovno zgraditi jedro.

Ko je to enkrat storjeno, morate spremeniti številne nastavitvene datoteke, ki jih uporablja NET-3. Večinoma je to preprost postopek. Žal vendarle obstaja velik nesporazum med posameznimi distribucijami Linuxa o tem, kam naj bi šle različne nastavitvene datoteke in podporni programi za TCP/IP. Največkrat jih lahko najdete v `/etc`, a v drugih primerih jih lahko najdete v `/usr/etc`, `/usr/etc/inet` ali na drugih bizarnih mestih. V najslabšem primeru boste morali uporabiti ukaz `find`, da boste našli datoteke na vašem sistemu. Vedite tudi, da vse distribucije nimajo nastavitvenih datotek in programja na enakem mestu - te datoteke so lahko razpršene po več imenikih.

Naslednje informacije se nanašajo predvsem na povezave ethernet. Če nameravate uporabljati SLIP ali PPP, preberite ta razdelek, da boste razumeli pojme, in sledite bolj podrobnim navodilom v naslednjih razdelkih.

##### Vaša omrežna nastavitev

Preden lahko nastavite TCP/IP, morate ugotoviti naslednje o vaši mrežni sestavi. V večini primerov vam bo te podatke priskrbel vaš upravitelj lokalnega omrežja.

- Naslov za IP. To je unikatni naslov stroja v obliki štirih decimalnih številk, ločenih s pikami. Primer je 128.253.153.54. To številko vam bodo priskrbeli upravitelji vašega omrežja.

  Če nastavljate le način zaprte zanke (se pravi, niti SLIP-a niti kartice Ethernet, le zveze TCP/IP z vašim lastnim strojem), potem je vaš naslov za IP 127.0.0.1.

- Vaša omrežna maska (angl. network mask, ,,netmask``). To je s pikami ločen četverec, podoben naslovu za IP, ki določa, kateri del naslova za IP določa številko podomrežja (angl. subnetwork number) in kateri del gostitelja na tem podomrežju. (Če ste negotovi pri teh terminih vmreževanja s TCP/IP, vam priporočamo, da preberete kakšno uvodno snov o upravljanju omrežij.) Omrežna maska je bitni vzorec, ki bo, položen na naslov vašega omrežja, povedal, v katerem podomrežju živi ta naslov. To je zelo pomembno za usmerjanje (angl. routing), in če na primer ugotovite, da se lahko veselo pogovarjate z ljudmi izven vašega omrežja, ne pa tudi z ljudmi v vašem omrežju, je velika verjetnost, da imate nepravilno določeno omrežno masko.

  Upravitelji vašega omrežja izberejo omrežno masko, ko je omrežje zasnovano, in bi vam torej morali biti sposobni povedati, katera maska je prava za uporabo. Večina omrežij je podomrežij razreda C (angl. class C subnetworks), ki uporabljajo za svojo omrežno masko 255.255.255.0. Omrežja razreda B uporabljajo 255.255.0.0. Koda NET-3 bo samodejno izbrala privzeto masko, ki ne predvideva podvmreževanja, če je ne določite sami.

  To se nanaša tudi na vrata zaprte zanke. Ker je naslov zaprtozančnih vrat vedno 127.0.0.1, je omrežna maska za ta vrata vedno 255.0.0.0. To lahko določite eksplicitno ali pa se zanesete na privzeto masko.

- Naslov vašega omrežja. To je vaš naslov za IP, maskiran z bitnim IN z omrežno masko. Na primer, če je vaša omrežna maska 255.255.255.0 in je vaš naslov za IP 128.253.154.32, potem je vaš omrežni naslov 128.253.154.0. Z omrežno masko 255.255.0.0 bi bilo to 128.253.0.0.

  Če uporabljate le zaprto zanko, nimate omrežnega naslova.

- Vaš naslov za oddajanje. Naslov za oddajanje (angl. broadcast address) se uporablja za oddajanje paketov na vsak stroj v vaši podmreži. Torej, če je gostiteljsko število strojev na vašem podomrežju podano z zadnjim bajtom naslova za IP (omrežna maska 255.255.255.0), bo vaš naslov za oddajanje vaš omrežni naslov, obdelan z logičnim ALI z 0.0.0.255.

  Na primer, če je vaš naslov za IP 128.253.154.32 in je vaša omrežna maska 255.255.255.0, je vaš naslov za oddajanje enak 128.253.154.255.

  Vedite, da so nekatera omrežja iz zgodovinskih razlogov nastavljena za uporabo omrežnega naslova kot naslova za oddajanje. Če vas muči dvom, preverite pri vašem upravljalcu omrežja. (V veliko primerih bo zadostovalo podvojiti omrežne nastavitve drugih strojev na vašem podomrežju, seveda z zamenjavo naslova za IP z vašim lastnim.)

  Če uporabljate le zaprto zanko, nimate naslova za oddajanje.

- Vaš naslov za prehod. To je naslov stroja, ki je vaš ,,prehod`` (angl. gateway) v zunanji svet (se pravi do strojev, ki niso na vašem podomrežju). V veliko primerih ima stroj za prehod naslov za IP, identičen vašemu, le da ima ,,.1`` kot svoj naslov gostitelja; npr., če je vaš naslov za IP 128.253.154.32, je morda vaš prehod 128.253.154.1. Naslov za IP vašega prehoda dobite pri upravljalcih vašega omrežja.

  Pravzaprav imate lahko več prehodov. Prehod je le stroj, ki živi na dveh različnih omrežjih (ima naslova za IP na različnih podomrežjih) in usmerja pakete med njima. Veliko omrežij ima en sam prehod do ,,zunanjega sveta`` (omrežja, sosednega vašemu), a v nekaterih primerih boste imeli več prehodov - po enega za vsako sosedno omrežje.

  Če uporabljate le zaprto zanko, nimate naslova prehoda. Enako drži, če je vaše omrežje izolirano od vseh drugih.

- Ime vašega imenskega strežnika (angl. domain name server, DNS). Večina strojev na omrežju uporablja imenski strežnik, ki namesto njih prevaja imena gostiteljev v naslove za IP. Upravljalci vašega omrežja vam bodo povedali naslov vašega imenskega strežnika. Strežnik lahko poganjate celo na svojem lastnem stroju, če poganjate `named`, v tem primeru je naslov strežnika 127.0.0.1. Razen če absolutno morate poganjati svoj lastni imenski strežnik, vam priporočamo, da uporabite tistega, ki vam ga priskrbijo na omrežju (če ga). Nastavitev programa `named` je popolnoma druga tema; naša prioriteta na tej točki je, da vas pripravimo do pogovora z omrežjem. Z vprašanji razreševanja imen se lahko ukvarjate pozneje.

  Če uporabljate le zaprto zanko, nimate naslova imenskega strežnika.

Uporabniki SLIP/PPP: Naslov imenskega strežnika boste vsekakor potrebovali, ostalih informacij pa morda tudi ne. Ko uporabljate SLIP, se vaš naslov za IP navadno ugotovi na enega od dveh načinov: Ali (a) imate ,,statični`` naslov za IP, ki je enak vsakič, ko se povežete na omrežje, ali (b) imate ,,dinamični`` naslov za IP, ki se dodeli iz množice prostih naslovov, ko se povežete na strežnik. V naslednjem razdelku o namestitvi SLIP je to obravnavano bolj podrobno.

NET-3 podpira polno usmerjanje, več smeri, podvmreževanje (zaenkrat le na mejah bajtov), skratka vse. Zgornje opisuje najbolj osnovne nastavitve TCP/IP. Vaša je lahko popolnoma drugačna: ko ste v dvomih, se pogovorite z guruji vašega lokalnega omrežja in preverite strani priročnika za `route` in `ifconfig`. Nastavitev omrežij TCP/IP je povsem izven dometa te knjige; zgornje bi moralo zadostovati večini ljudi, da začnejo.

##### Omrežne datoteke `rc`

Datoteke `rc` so sistemski nastavitveni skripti, ki jih ob zagonu izvede `init`, ki zažene vse osnovne sistemske strežnike (kot `sendmail`, `cron`, itd.), in nastavijo stvari, kot so parametri omrežja, ime gostitelja in tako naprej. Datoteke `rc` se navadno najdejo v imeniku `/etc/rc.d`, a na drugih sistemih so morda v `/etc`. V splošnem distribucije Slackware uporabljajo datoteke `rc.inet1` itd. v imeniku `/etc/rc.d`, medtem ko distribucije RedHat uporabljajo zaporedje imenikov.

Tukaj bomo opisali datoteke `rc`, ki se uporabljajo za nastavitev TCP/IP. Obstajata dve takšni datoteki: `rc.inet1` in `rc.inet2`. Datoteka `rc.inet1` se uporablja za nastavitev osnovnih parametrov omrežja (kot so naslovi za IP in informacije o usmerjanju), datoteka `rc.inet2` pa zažene strežnike za TCP/IP (`telnetd`, `ftpd` in tako naprej).

Mnogi sistemi kombinirajo ti dve datoteki v eno, navadno imenovano `rc.inet` ali `rc.net`. Imena, dana vašim datotekam `rc`, niso pomembna, dokler izvajajo pravilne funkcije in jih `init` izvede ob zagonu. Za zagotavljanje tega boste morda morali urediti datoteko `/etc/inittab` in odkomentirati vrstice za izvajanje ustreznih datotek `rc` (ali ene same). V najslabšem primeru boste morali ustvariti datoteki `rc.inet1` in `rc.inet2` iz nič in dodati vnose za njiju v datoteko `/etc/inittab`.

Kot smo dejali, `rc.inet1` nastavi osnovni omrežni vmesnik. To vključuje vaš naslov za IP in vaš omrežni naslov, in informacije usmerjevalne tabele za vaše omrežje. Usmerjevalne tabele se uporabljajo za usmerjanje izhodnih (in prihajajočih) omrežnih datagramov na druge stroje. Na večini preprostih nastavitev imate tri poti: eno za pošiljanje paketov na vaš lasten stroj, drugo za pošiljanje paketov na druge stroje v vašem omrežju in tretjo za pošiljanje paketov na stroje izven vašega omrežja (skozi stroj, ki je prehod). Za nastavitev teh parametrov se uporabljata dva programa: `ifconfig` in `route`. Oba sta navadno v imeniku `/etc`.

Pripomoček `ifconfig` se uporablja za nastavljanje vmesnika omrežne naprave s parametri, ki jih potrebuje za delovanje, kot je naslov za IP, omrežna maska, naslov za oddajanje in podobno. Pripomoček `route` se uporablja za spreminjanje vnosov v usmerjevalni tabeli.

Datoteka `rc.inet1`, primer navajamo spodaj, bi morala delovati za večino sestav. Seveda jo boste morali urediti za vaš lastni sistem. Ne uporabljajte vzorčnega naslova za IP in omrežnega naslova na vašem lastnem sistemu; vsak računalnik mora imeti svoj naslov na Internetu.

>     #!/bin/sh
>     # To je /etc/rc.d/rc.inet1 -- Nastavite vmesnike TCP/IP

>     # Najprej nastavite zaprtozančno napravo (angl. loopback device)

>     HOSTNAME=`host name`

>     /etc/ifconfig lo 127.0.0.1   # uporablja privzeto omrežno masko 255.0.0.0
>     /etc/route add 127.0.0.1     # smer za kazanje na zaprtozančno napravo

>     # Potem nastavite omrežne naprave.  Če uporabljate le zaprto zanko
>     # ali SLIP, zakomentirajte ostanek teh vrstic.

>     # Uredite za vašo sestavo.
>     IPADDR="128.253.154.32"      # NADOMESTITE z VAŠIM naslovom za IP
>     NETMASK="255.255.255.0"	     # NADOMESTITE z VAŠO omrežno masko
>     NETWORK="128.253.154.0"      # NADOMESTITE z VAŠIM omrežnim naslovom
>     BROADCAST="128.253.154.255"  # NADOMESTITE z VAŠIM naslovom oddajanja,
>                                  # če ga imate. Če ne, pustite prazno in
>                                  # uredite spodaj.
>     GATEWAY="128.253.154.1"      # NADOMESTITE z VAŠIM naslovom prehoda!

>     /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}

>     # Če nimate naslova za oddajanje, spremenite zgornjo vrstico v:
>     # /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK}

>     /etc/route add ${NETWORK}

>     # Naslednje je potrebno le, če imate prehod; se pravi, če je
>     # vaše podomrežje povezano z zunanjim svetom.
>     /etc/route add default gw ${GATEWAY} metric 1

>     # Konec nastavitev omrežja

Spet boste morda morali to datoteko nekoliko spremeniti, da bo delovala. Zgornje bi moralo biti dovolj za večino nastavitev preprostih omrežij, a vsekakor ne za vse.

Skript `rc.inet2` požene različne strežnike, ki se uporabljajo v zbirki za TCP/IP. Najpomembnejši med njimi je `inetd`. `Inetd` sedi v ozadju in posluša omrežna vrata. Ko stroj poskuša vzpostaviti povezavo na določenih vratih (na primer na vhodnih vratih za `telnet`), `inetd` razmnoži izvod ustreznega strežnika za ta vrata (v primeru vrat za `telnet` `inetd` požene `in.telnetd`). To je preprosteje kot poganjanje več različnih, posebnih strežnikov (npr. posameznih izvodov strežnikov `telnetd`, `ftpd` in tako naprej) - `inetd` zažene strežnike le, ko so potrebni.

`Syslogd` je sistemski strežnik za pisanje dnevnika obdelave - akumulira zabeležena sporočila različnih aplikacij in jih shranjuje v datoteke z dnevniki, odvisno od informacij o nastavitvah v `/etc/syslogd.conf`. Program `routed` je strežnik, ki se uporablja za vzdrževanje dinamičnih usmerjevalnih informacij. Ko vaš sistem poskuša poslati pakete na drugo omrežje, morda potrebuje dodatne vnose v usmerjevalni tabeli, da lahko to stori. Strežnik `routed` poskrbi za upravljanje usmerjevalne tabele brez potrebe po uporabniškem posegu.

Naš spodnji primer datoteke `rc.inet2` zažene le goli minimum strežnikov. Obstajajo tudi drugi strežniki - mnogi od njih imajo opraviti z nastavitvami NFS. Ko poskušate usposobiti TCP/IP na vašem sistemu, je navadno najbolje začeti z minimalno konfiguracijo in dodajati bolj kompleksne kose (kot NFS), ko vam stvari delujejo.

Vedite, da v spodnji datoteki predpostavljamo, da se vsi omrežni strežniki nahajajo v imeniku `/etc`. Kot navadno, prilagodite to za svojo lastno sestavo.

>     #! /bin/sh
>     # Primer /etc/rc.d/rc.inet2

>     # Zaženi syslogd
>     if [ -f /etc/syslogd ]
>     then
>           /etc/syslogd
>     fi

>     # Zaženi inetd
>     if [ -f /etc/inetd ]
>     then
>           /etc/inetd
>     fi

>     # Zaženi routed
>     if [ -f /etc/routed ]
>     then
>           /etc/routed -q
>     fi

>     # Opravljeno!

Med različnimi dodatnimi strežniki, ki jih bi morda želeli pognati v datoteki `rc.inet2`, je tudi `named`. `Named` je imenski strežnik - odgovoren je za pretvarjanje (lokalnih) naslovov za IP v imena in obratno. Če nimate imenskega strežnika drugje na omrežju ali želite priskrbeti imena lokalnih strojev drugim strojem v vaši domeni, je zagon `named` lahko nujno potreben. (Za večino sestav vendarle ni potreben.) Nastavitev strežnika `named` je dokaj kompleksna in potrebuje načrtovanje; radovedne bralce usmerjamo na dobro knjigo o upravljanju omrežja TCP/IP.

##### Datoteka `/etc/hosts`

Datoteka `/etc/hosts` vsebuje seznam naslovov IP in gostiteljskih imen, ki jim ustrezajo. V splošnem vsebuje `/etc/hosts` le vnose za vaš lokalni stroj in morda za druge ,,pomembne`` stroje (kot je vaš imenski strežnik ali prehod). Vaš lokalni imenski strežnik bo priskrbel transparentne preslikave iz-naslovov-v-imena za druge stroje na omrežju.

Na primer, če je vaš stroj `loomer.vpizza.com` z naslovom IP 128.253.154.32, bo vaša datoteka `/etc/hosts` videti takole:

>     127.0.0.1               localhost
>     128.253.154.32          loomer.vpizza.com loomer

Če uporabljate le zaprto zanko, mora biti edina vrstica v `/etc/hosts` 127.0.0.1, z obema imenoma, `localhost` in gostiteljskim, za temi številkami.

##### Datoteka `/etc/networks`

Datoteka `/etc/networks` našteva imena in naslove vašega lastnega in drugih omrežij. Uporablja se v ukazu `route` in vam dovoljuje, da določite omrežje po imenu, če tako želite.

Vsako omrežje, v katerega želite dodati smer z uporabo ukaza `route` (ta se navadno kliče iz `rc.inet1` - glejte zgoraj), mora imeti vnos v datoteki `/etc/networks`.

Kot primer,

>     default         0.0.0.0         # privzeta smer    - obvezna
>     loopnet         127.0.0.0       # zaprtozančno omrežje - obvezno
>     mynet           128.253.154.0   # Prilagodite za vaš omrežni naslov

##### Datoteka `/etc/host.conf`

Ta datoteka se uporablja za izbiro, kako bo vaš sistem ugotavljal imena gostiteljev. Vsebovati bi morala dve vrstici:

> `order hosts,bind
> multi on`

Ti vrstici povesta razreševalnim knjižnicam (angl. resolve libraries), naj za iskanje imen najprej preverijo datoteko `/etc/hosts` in potem vprašajo imenski strežnik (če je prisoten). Vnos `multi` vam dovoljuje, da imate več naslovov za IP za določeno ime stroja v `/etc/hosts`.

##### Datoteka `/etc/resolv.conf`

Ta datoteka nastavi razreševalnik imen, tako da določi naslov vašega imenskega strežnika (če obstaja) in ime vaše domene. Ime vaše domene je vaše popolno gostiteljsko ime (če ste registrirani stroj na Internetu, na primer) z odbitim gostiteljskim imenom. Se pravi, če je vaše polno gostiteljsko ime `loomer.vpizza.com`, je ime vaše domene le `vpizza.com`.

Na primer, če je vaš stroj `goober.norelco.com` in ima imenski strežnik na naslovu 128.253.154.5, bo vaša datoteka `/etc/resolv.conf` videti takole:

> `domain norelco.com
> nameserver 127.253.154.5`

Določite lahko več kot en imenski strežnik - vsak mora imeti lastno vrstico `nameserver` v datoteki `resolv.conf`.

##### Nastavitev vašega gostiteljskega imena

Vaše gostiteljsko ime naj bi nastavili z ukazom `hostname`. Ta se navadno kliče iz `/etc/rc` ali `/etc/rc.local`; preprosto preiščite vaše sistemske datoteke `rc` za ugotovitev, kje se kliče. Na primer, če je vaše (polno) gostiteljsko ime `loomer.vpizza.com`, uredite ustrezno datoteko `rc`, da bo izvedla ukaz:

> `/bin/hostname loomer.vpizza.com`

Vedite, da se izvedljiva datoteka `hostname` na vašem sistemu morda ne nahaja v imeniku `/bin`.

#####
Preizkus

Ko imate enkrat nastavljene vse te datoteke, bi morali biti sposobni zagnati vaše novo jedro in poskušati uporabljati omrežje. Veliko je mest, kjer se lahko kaj zalomi, zato predlagamo, da preizkusite posamezne elemente nastavitev omrežja (npr., poganjanje pregledovalnika Mosaic preko omrežne povezave X najbrž ni dobra zamisel).

Za prikaz vaših usmerjevalnih tabel lahko uporabite ukaz `netstat`; te tabele so navadno izvor večine težav. Stran priročnika o `netstat` podrobno opisuje točno skladnjo tega ukaza. Za preizkus omrežne povezljivosti, priporočamo uporabo odjemnika, kot je `telnet`, za povezavo na stroje na vašem lokalnem podomrežju in zunanjih omrežjih. To vam bo pomagalo izslediti izvor težav. (Na primer, če se ne morete povezati na lokalne stroje, a se lahko povežete na stroje v drugih omrežjih, je več kot verjetno težava z vašo omrežno masko in nastavitvijo usmerjevalne tabele.) Ukaz `route` lahko pokličete tudi direktno (kot `root`) in se igrate z vnosi v vaši usmerjevalni tabeli.

Omrežno povezljivost bi morali preverjati tudi z neposredno določanimi naslovi za IP namesto imen gostiteljev. Na primer, če imate probleme z ukazom

> `$ telnet shoop.vpizza.com`

je vzrok lahko nepravilna nastavitev imenskega strežnika. Poskusite uporabiti pravi naslov za IP zgornjega stroja; če to deluje, veste, da je vaša osnovna nastavitev omrežja (skoraj gotovo) pravilna in problem leži v vaši določitvi naslova imenskega strežnika.

Razhroščevanje omrežnih nastavitev je lahko težaško opravilo in ne moremo niti začeti z njegovo obravnavo. Če ne morete dobiti pomoči od lokalnega guruja, vam močno priporočamo branje knjige Linux Network Administrators' Guide iz LDP.

## 6.1.2 Nastavitev SLIP

SLIP (angl. Serial Line Internet Protocol, internetni protokol po serijski liniji) vam dovoljuje uporabo TCP/IP po serijski liniji, naj bo to klicni modem ali najeta asinhrona linija. Seveda boste za uporabo SLIP-a potrebovali dostop do klicnega strežnika za SLIP v vašem področju. Veliko univerz in podjetij ponuja dostop SLIP za skromno plačilo.

Obstajata dva pomembna programa, povezana s SLIP-om - `dip` in `slattach`. Oba se uporabljata za uvajanje povezave SLIP prek zaporednih vrat. Za vključitev SLIP-a je nujno uporabljati enega od teh dveh programov - ni dovolj le poklicati strežnik SLIP (s komunikacijskim programom, kot je `kermit`) in izdati ukaza `ifconfig` in `route`. To je zato, ker `dip` in `slattach` izdata poseben sistemski klic ioctl() za pridobitev nadzora nad zaporedno napravo, ki se bo uporabljala kot vmesnik za SLIP.

Program `dip` se lahko uporablja za klicanje strežnika SLIP, opravljanje rokovanja za prijavo na strežnik (izmenjavo vašega uporabniškega imena in gesla, na primer) in potem poganjanje povezave SLIP po odprti serijski liniji. Program `slattach`, po drugi strani, predvsem rezervira serijsko napravo za uporabo SLIP-a. Uporaben je, če imate stalno linijo na vaš strežnik SLIP in ni potrebno klicanje z modemom ali rokovanje za vzpostavitev zveze. Večina telefonskih uporabnikov SLIP-a naj bi uporabljala `dip`.

Pripomoček `dip` se lahko tudi uporablja za ukrojitev vašega sistema Linux kot strežnik za SLIP. Pri tem lahko drugi stroji pokličejo vašega in se povežejo na omrežje skozi sekundarno povezavo Ethernet na vašem stroju. Glejte dokumentacijo in strani priročnika za `dip` za več informacij o tem postopku.

SLIP je precej različen od etherneta v tem, da sta na ,,omrežju`` le dva stroja - odjemnik za SLIP (se pravi: vi) in strežnik za SLIP. Iz tega razloga se SLIP pogosto omenja kot protokol ,,od točke do točke`` (angl. point-to-point protocol). Za Linux je izvedena tudi posplošitev te ideje, znana kot PPP (angl. Point to Point Protocol).

Ko vzpostavite povezavo s strežnikom SLIP, vam ta dodeli naslov IP glede na (navadno) eno od dveh metod. Nekateri strežniki SLIP dodelijo ,,statične`` naslove IP - v tem primeru bo vaš naslov IP enak vsakič, ko se povežete s strežnikom. Vendar mnogo strežnikov SLIP dodeljuje naslove IP dinamično - v tem primeru lahko dobite ob vsaki povezavi drugačen naslov IP. V splošnem bo strežnik SLIP ob prijavi izpisal vrednosti vašega naslova IP in naslov prehoda. `dip` lahko bere ti vrednosti iz izhoda prijavne seje strežnika SLIP in jih uporabi za prikrojitev naprave SLIP.

Pravzaprav je nastavitev povezave SLIP precej podobna nastavitvi za zaprto zanko ali ethernet. Glavne razlike so razložene spodaj. Preberite prejšnji razdelek o nastavitvah poglavitnih datotek za TCP/IP in uporabite spodaj opisane spremembe.

##### Povezave SLIP s statičnim naslovom IP z uporabo `dip`.

Če uporabljate strežnik SLIP, ki statično dodeljuje naslove IP, boste morda želeli v datoteko `/etc/hosts` vključiti vnosa za vaš naslov IP in gostiteljsko ime. Prikrojite si tudi naslednje datoteke, naštete v zgornjem razdelku: `rc.inet2`, `host.conf` in `resolv.conf`.

Nastavite tudi `rc.inet1`, kot je opisano zgoraj. Vendar boste za zaprtozančno napravo želeli izvesti le ukaza `ifconfig` in `route`. Če za povezavo s strežnikom SLIP uporabljate `dip`, bo ta izvedel primerna ukaza `ifconfig` in `route` namesto vas. (Če uporabljate `slattach`, po drugi strani, boste morali za napravo SLIP vključiti ukaza `ifconfig`/`route` v datoteko `rc.inet1` - glejte spodaj.)

`dip` naj bi primerno nastavil vaše usmerjevalne tabele za povezavo SLIP, ko se ta vzpostavi. Včasih pa obnašanje `dip`-a morda ne bo pravilno za vašo nastavitev in boste ukaza `ifconfig` ali `route` morali pognati na roko, potem ko ste se že povezali s strežnikom z `dip`-om (to se najlažje naredi znotraj lupinskega skripta, ki poganja `dip` in takoj izvede ustrezne nastavitvene ukaze). Vaš prehod je v veliko primerih kar naslov strežnika SLIP. Ta naslov morda veste že vnaprej ali pa ga bo strežnik SLIP izpisal, ko se povežete. Vaš pogovorni skript za `dip` (opisan spodaj) lahko dobi to informacijo od strežnika SLIP.

Program `ifconfig` lahko zahteva uporabo argumenta `pointopoint`, če `dip` nepravilno nastavi vmesnik. Na primer, če je naslov vašega strežnika SLIP 128.253.154.2 in vaš naslov IP 128.253.154.32, boste morda morali pognati ukaz

> `# ifconfig sl0 128.253.154.32 pointopoint 128.253.154.2`

kot `root`, ko vzpostavite povezavo z `dip`-om. Prav vam bodo prišle strani referenčnega priročnika o `ifconfig`.

Vedite, da so imena naprav, ki jih uporabljata ukaza `ifconfig` in `route`, podobna `sl0`, `sl1` in tako naprej (za razliko od `eth0`, `eth1` itd. za naprave Ethernet).

V razdelku 6.1.2 spodaj razlagamo, kako nastaviti `dip` za povezavo s strežnikom SLIP.

##### Povezave SLIP s statičnim naslovom IP z uporabo `slattach`.

Če imate najeto linijo ali kabelsko povezavo neposredno do vašega strežnika SLIP, ni potrebe, da bi uporabljali `dip` za inicializacijo povezave. Namesto tega lahko uporabite program `slattach` za nastavitev naprave SLIP.

V tem primeru bi morala biti vaša datoteka `/etc/rc.inet1` približno takšna:

>     #!/bin/sh
>     IPADDR="128.253.154.32"   # Nadomestite s svojim naslovom IP
>     REMADDR="128.253.154.2"   # Nadomestite z naslovom vašega strežnika SLIP

>     # Spremenite naslednje za primerno serijsko napravo za
>     # povezavo SLIP:
>     slattach -p cslip -s 19200 /dev/ttyS0
>     /etc/ifconfig sl0 $IPADDR pointopoint $REMADDR up
>     /etc/route add default gw $REMADDR

Ukaz `slattach` dodeli prvo nedodeljeno napravo SLIP (`sl0`, `sl1` itd.) določeni serijski liniji.

Bodite pozorni na to, da je prvi parameter ukaza `slattach` ime protokola SLIP, ki naj se uporablja. Trenutno sta edini veljavni vrednosti tukaj `slip` in `cslip`. Izbira `slip` izbere navaden SLIP, kot bi tudi pričakovali, `cslip` pa je SLIP s stiskanjem glav datagramov. V večini primerov bi morali uporabiti `cslip`; vendar če je videti, da imate s tem težave, poskusite `slip`.

Če imate več kot en vmesnik SLIP, boste morali sprejeti usmerjevalne odločitve. Odločiti se boste morali, katere smeri (angl. routes) dodati, in te odločitve lahko sprejmete le na osnovi pravilnih nastavitev vaših omrežnih povezav. Uporabna bo knjiga o nastavitvah vmreževanja TCP/IP, kot tudi strani priročnika za ukaz `route`.

##### Povezave SLIP z dinamičnim naslovom IP z uporabo `dip`

Če vaš strežnik SLIP dinamično dodeljuje naslov IP, potem svojega naslova gotovo ne poznate vnaprej - torej ne morete vključiti vnosa zanj v datoteko `/etc/hosts`. (Morali pa bi vseeno vključiti vnos za vaš računalnik z zaprtozančnim naslovom 127.0.0.1.)

Mnogi strežniki SLIP izpišejo vaš naslov IP (kot tudi naslov strežnika), ko se prijavite. Na primer, eden od tipov strežnikov SLIP izpiše niz, kot je

> `Your IP address is 128.253.154.44.
> Server address is 128.253.154.2.`

`dip` lahko ujame te številke iz izhoda strežnika in jih uporabi za nastavitev naprave SLIP.

Glejte stran za informacije o nastavitvah različnih datotek TCP/IP za uporabo s SLIP-om. Spodaj razlagamo, kako nastaviti `dip` za povezavo s strežnikom SLIP.

## Uporaba `dip`

Program `dip` lahko poenostavi proces priključevanja na strežnik SLIP, prijavljanje in nastavljanje naprave SLIP. Če nimate najete linije, je `dip` prava pot.

Za uporabo `dip`-a boste morali napisati ,,pogovorni skript`` (angl. chat script), ki vsebuje seznam ukazov za pogovarjanje s strežnikom SLIP v času prijave. Ti ukazi lahko samodejno pošljejo strežniku vaše uporabniško ime/geslo in dobijo informacije o vašem naslovu IP s strežnika.

Tukaj je primer pogovornega skripta za `dip` za uporabo s strežnikom dinamičnih naslovov IP. Za strežnike statičnih naslovov boste morali v tem vrstnem redu nastaviti spremenljivki `$local` in `$remote` na vrhu vašega skripta na vrednosti vašega lokalnega naslova IP in naslova IP strežnika. Za podrobnosti glejte stran priročnika o `dip`.

>     main:
>       # Nastavi enoto maksimalnega pretoka (angl. Maximum Transfer Unit).
>       # To je maksimalna velikost paketov, prenesenih po napravi SLIP.
>       # Mnogi strežniki SLIP uporabljajo za enoto ali 1500 ali 1006;
>       # preverite pri svojih upravnikih omrežja, če ste v dvomih.
>       get $mtu 1500

>       # Naredi smer po SLIP za privzeto smer za usmerjanje paketov
>       # s tega sistema.
>       default

>       # Nastavi želena vrata in hitrost.
>       port cua03
>       speed 38400

>       # Resetiraj modem in terminalsko linijo.  Če vam to povzroča
>       # težave, zakomentirajte.
>       reset

>       # Pripravi se za klic.  Nadomestite naslednjo vrstico z
>       # inicializacijskim nizom za vaš modem.  Ne pozabite dodati
>       # v ta niz X3, če ste na običajni liniji v Sloveniji.
>       send ATT&C1&D2X3\\N3&Q5%M3%C1N1W1L1S48=7\r
>       wait OK 2
>       if $errlvl != 0 goto error
>       # Kliči strežnik SLIP
>       dial 2546000
>       if $errlvl != 0 goto error
>       wait CONNECT 60
>       if $errlvl != 0 goto error

>       # Prijavljeni smo.  Prijava v sistem.
>     login:
>       sleep 3
>       send \r\n\r\n
>       # Čakaj na prijavni pozornik
>       wait login: 10
>       if $errlvl != 0 goto error

>       # Pošlji svoje uporabniško ime
>       send USERNAME\n

>       # Čakaj na pozornik za geslo
>       wait ord: 5
>       if $errlvl != 0 goto error

>       # Pošlji geslo.
>       send PASSWORD\n

>       # Čakaj na znak, da je strežnik SLIP pripravljen
>       wait annex: 30
>       if $errlvl != 0 goto error

>       # Pošlji ukaze strežniku SLIP za inicializacijo povezave.
>       send slip\n
>       wait Annex 30

>       # Pridóbi oddaljeni naslov IP s strežnika SLIP.  Ukaz `get...remote'
>       # prebere tekst oblike xxx.xxx.xxx.xxx in ga priredi spremenljivki,
>       # podani kot drugi argument (tukaj, $remote).
>       get $remote remote
>       if $errlvl != 0 goto error
>       wait Your 30

>       # Pridóbi lokalni naslov IP s strežnika SLIP in ga dodeli
>       # spremenljivki $local.
>       get $local remote
>       if $errlvl != 0 goto error

>       # Vžgi povezavo SLIP
>     done:
>       print CONNECTED to $remote at $rmtip
>       print GATEWAY address $rmtip
>       print LOCAL address $local
>       mode SLIP
>       goto exit
>     error:
>       print SLIP to $remote failed.

>     exit:

`dip` samodejno pokliče ukaza `ifconfig` in `route` glede na vrednosti spremenljivk `$local` in `$remote`. Tukaj sta vrednosti tema spremenljivkama dodeljeni z uporabo ukaza `get...remote`, ki dobi tekst s strežnika SLIP in ga priredi poimenovani spremenljivki.

Če ukaza `ifconfig` in `route`, ki ju `dip` požene namesto vas, ne delujeta, lahko poženete ustrezna ukaza v lupinskem skriptu po izvedbi `dip`-a ali spremenite samo izvorno kodo programa `dip`. Poganjanje `dip` z izbiro `-v` bo izpisovalo razhroščevalne informacije medtem, ko se povezava vzpostavlja, kar bi vam moralo pomagati ugotoviti, kje se lahko stvari zalomijo.

Zdaj lahko za poganjanje `dip`-a in vzpostavitev povezave SLIP uporabite ukaz, kot je:

> `# /etc/dip/dip -v /etc/dip/mychat 2>&1`

Tukaj so različne datoteke za `dip` in pogovorni skript (`mychat.dip`) shranjene v imeniku `/etc/dip`.

Zgornja razlaga bi morala zadostovati, da se znajdete na poti pogovarjanja z omrežjem, bodisi po ethernetu ali SLIP-u. Spet vam močno priporočamo pogled v knjigo o nastavitvah omrežja TCP/IP, posebej če ima vaše omrežje posebne usmerjevalne obzire, ki tukaj niso omenjeni.

# 6.2 Omrežje na klic in PPP

Linux popolnoma podpira omrežne protokole tipa PPP (angl. Point-to-Point Protocol, protokol od točke do točke). PPP je mehanizem za usposobitev in tek IP (internetnega protokola) in drugih omrežnih protokolov po serijski povezavi (z uporabo kabla ,,null-modem``), po povezavi, vzpostavljeni s programom `telnet`, ali po povezavi, narejeni z uporabo modemov in telefonskih linij (in seveda z uporabo digitalnih linij, kot je ISDN). Ta razdelek pokriva le nastavitev PPP kot odjemnika, ki se povezuje z analognim modemom na oddaljeni stroj, ki ponuja klicne storitve PPP.

Za popolne informacije o usposobitvi PPP pod Linuxom vas opogumljamo, da preberete spis Linux PPP HOWTO, izvirnik in slovenski prevod sta dostopna prek anonimnega FTP-ja s strežnika `metalab.unc.edu`. PPP HOWTO je popoln vodnik za nastavitev PPP pod Linuxom, vključno z modemom, ISDN-jem in kabli brez modema. Večina informacij v tem razdelku je bila napaberkovana iz omenjenega spisa. Dostopna je tudi knjiga Linux Network Administrator's Guide iz Dokumentacijskega projekta za Linux. Glejte razdelek A za več informacij o tej literaturi.

## 6.2.1 Kaj potrebujete za začetek

Privzemamo, da je bilo vaše jedro prikrojeno in prevedeno z omogočeno podporo za TCP/IP. Glejte razdelek 4.10 za informacije o prevajanju vašega jedra. Za omogočanje vmreževanja morate odgovoriti pritrdilno na ustrezna vprašanja med korakom `make config` in ponovno zgraditi jedro. Domnevamo tudi, da je bil na vašem sistemu preveden in nameščen paket `ppp`. Domnevamo, da uporabljate jedro Linuxa 1.2.x s programjem PPP 2.1.2 ali pa Linux 1.3.X/2.0.x in PPP 2.2.0. V času tega pisanja je najnovejša dostopna uradna različica PPP-ja za Linux ppp-2.2f. Prosim, preberite spis kerneld mini-HOWTO, če nameravate uporabljati module za nalaganje ppp v vaše jedro.

¤ Toplo priporočamo, da uporabite različico jedra Linuxa in ustrezno različico PPP, za kateri je znano, da sta skupaj stabilni.

Prebrati bi tudi morali

- dokumentacijo, ki pride poleg paketa PPP;

- strani priročnika o `pppd` in `chat` (uporabite man chat in man pppd za raziskovanje le-teh);

- knjigo Linux Network Administration Guide (NAG);

- spis Net-2/3 HOWTO;

- dokumentacijo jedra operacijskega sistema Linux, nameščeno v imeniku `/usr/src/linux/Documentation`, ko namestite izvorno kodo Linuxa;

- spletni sestavek o nastavitvah modemov The modem setup information page - glejte sestavek Modem Setup Information (`http://www.in.net/info/modems/index.html`)

- izvrstne knjige o Unixu/Linuxu, ki jih izdaja založba O'Reilly and Associates. Glejte njihov katalog na zvezi na naslovu `http://www.ora.com/`. Če ste novinec v Unixu/Linuxu, tecite (ne hodite) do vaše najbližje knjigarne in takoj investirajte v nekaj teh knjig!

- Spis The PPP-FAQ, pogosto zastavljena vprašanja z odgovori o PPP, ki ga vzdržuje Al Longyear. Ta spis je dostopen na naslovu `ftp://metalab.unc.edu/pub/Linux/docs/faqs`; glejte dodatek B. Vsebuje mnogo uporabnih informacij v obliki ,,vprašanje/odgovor``, ki je zelo uporabna, ko želite ugotoviti, zakaj PPP ne deluje (pravilno).

## 6.2.2 Pregled potrebnih korakov

Obstaja nekaj korakov za usposobitev vašega sistema za uporabo PPP. Priporočamo vam, da pozorno pregledate ta seznam korakov, preden poskusite zares usposobiti povezavo PPP. Vsak od teh korakov bo podrobno razložen kasneje.

1.
  Prepričajte se, da je podpora za TCP/IP prevedena v vaše jedro.
2.
  Prepričajte se, da je podpora za PPP prevedena v vaše jedro statično ali pa kot naložljivi modul.
3.
  Prepričajte se, da je programje za PPP prevedeno in nameščeno na vaših sistemih.
4.
  Prepričajte se, da imate nastavljen modem, ki je nameščen/priključen na vaš računalnik in da veste, na katera zaporedna vrata je priključen modem.
5.
  Prepričajte se, da dobite od vašega ponudnika klicnega strežnika PPP (navadno ISP, angl. Internet Service Provider, ponudnik interneta) naslednje informacije:
  - Telefonsko številko, ki jo boste klicali za priključitev na oddaljenega ponudnika klicnega PPP.
  - Ali uporabljate dinamično ali statično dodeljevanje številk IP. V drugem primeru boste morali poznati to statično številko IP.
  - Naslov IP imenskega strežnika (DNS, angl. Domain Name Service), ki ga boste uporabljali za razreševanje gostiteljskih imen, ko boste povezani.

##### Prepričajte se, da ima vaše jedro podporo za TCP/IP.

Operacije za PPP v Linuxu so dveh vrst: 1) pritajeni strežnik za PPP (angl. PPP daemon) in 2) podpora za PPP v jedru. Kaže, da večina distribucij ponuja podporo za PPP v svojih privzetih namestitvenih jedrih, nekatere pa je vendarle ne. Morali bi se prepričati, da je v vaše jedro prevedena tudi podpora za TCP/IP. To lahko storite tako, da izdate naslednji ukaz:

> `# grep -i "TCP/IP" /var/adm/messages`

Če dobite vrstico, podobno

> `Jun 8 09:52:08 gemini kernel: Swansea University Computer Society TCP/IP for NET3.019`

imate podporo za TCP/IP vključeno v jedro. Zgornji podatek lahko poiščete tudi na konzoli, ko se Linux še zaganja. Na mnogih hitrih strojih se izpis pomika prehitro, da bi ga lahko prebrali. Uporabite lahko `Shift`-`PageUp` za pomik zaslona navzgor in ogled tega sporočila.

##### Prepričajte se, da ima jedro podporo za PPP.

Če v času zagona vaše jedro poroča kaj podobnega kot

> `PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
> PPP line discipline registered.`

potem ima vaše jedro podporo za PPP. Izdate lahko tudi ukaz

> `# grep -i "PPP" /var/adm/messages`

Če dobite vrstico, podobno

> `Jun 8 09:52:08 gemini kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS`

to pomeni, da je prisotna podpora za PPP.

##### Prepričajte se, da imate nastavljen modem.

Morali bi se prepričati, da je vaš modem pravilno nastavljen in da veste, na katera serijska vrata je priključen.

- `COM1:` v DOS-u = `/dev/cua0` (in `/dev/ttyS0`) v Linuxu,
- `COM2:` v DOS-u = `/dev/cua1` (in `/dev/ttyS1`) v Linuxu,
- et cetera.

Linux iz zgodovinskih razlogov uporablja naprave `cua`x za klice ven in naprave `ttyS`x za prihajajoče klice. Koda jedra, ki je zahtevala to, je bila spremenjena v jedru različice 2.0.x in zdaj bi morali uporabljati `ttyS`x za vhodne in izhodne klice. Imena naprav `cua`x lahko tudi izginejo v prihodnjih različicah jedra.

Če uporabljate hiter (zunanji) modem (14.400 bps ali več), morajo biti vaša serijska vrata sposobna obdelovati pretok, ki ga je takšen modem zmožen ustvariti, posebej še, če modem komprimira podatke.

To narekuje, da vaša serijska vrata uporabljajo sodobni čip UART (angl. Universal Asynchronous Receiver Transmitter, univerzalni asinhroni prejemnik-oddajnik), kot je čip 16550A. Če uporabljate starejši stroj (ali starejši serijski vmesnik), je precej verjetno, da imajo vaša serijska vrata le čip UART 8250, ki bo v kombinaciji s hitrim modemom povzročal precejšnje probleme.

Uporabite ukaz

> `# setserial -a /dev/ttyS`x

da vam bo Linux sporočil tip UART-a, ki ga ima. Če nimate tipa UART-a 16550A, investirajte v nakup nove zaporedne kartice (dostopne za manj kot US$50).

Za PPP boste morali pravilno nastaviti vaš modem - za to preberite priročnik vašega modema! Večina modemov pride s tovarniško privzeto nastavitvijo, ki upošteva izbire, ki jih potrebuje PPP. Priporočene nastavitve določajo (v standardnih ukazih modemov Hayes):

- strojni nadzor pretoka (angl. hardware flow control, RTS/CTS) (`&K3` na mnogih modemih);
- ukaz `E1` - vključen odmev ukazov (angl. echo commands ON, `chat` to potrebuje za svoje delovanje);
- `Q0` - poročanje kod rezultatov (angl. report result codes, `chat` to potrebuje za svoje delovanje);
- `S0=0` - samodejni odziv izključen (angl. auto answer OFF, razen če želite, da vaš modem odgovori na klice);
- `&C1` - zaznavanje nosilnega tona le po priključitvi (angl. Carrier Detect ON only after connect);
- `&S0` - vedno pripravljen na sprejem podatkov (angl. Data Set Ready, DSR, always ON);
- `X3` - ne čakaj signala za prosto linijo; to nastavitev potrebujemo v Sloveniji, ker se naš signal razlikuje od ameriškega;
- (odvisno od vrste modema) - pripravljen podatkovni terminal (angl. Data Terminal Ready).

Obstaja spletna stran, ki ponuja primere nastavitev za rastoče število modemov različnih proizvajalcev in modelov, kar vam lahko pri tem pomaga. Imenuje se Modem setup information, najdete jo na spletnem naslovu `http://www.in.net/info/modems/index.html`.

Uporabite vaše komunikacijsko programje (denimo `minicom` ali `seyon`) za določitev nastavitev vašega modema in jih oblikujte tako, kot zahteva PPP. Veliko modemov poroča o svojih trenutnih nastavitvah kot odgovor na `AT&V`, vendar bi morali preučiti priročnik za vaš modem.

Če popolnoma zmešate štrene vaših nastavitev, se lahko pozdravite (navadno) tako, da izdate ukaz `AT&F` - obnóvi tovarniške nastavitve. (Pri večini modemov, na katere smo naleteli, tovarniške nastavitve vključujejo vse, kar potrebujete za PPP, razen ukaza `X3` - vendar bi morali to preveriti.)

Ko ste končno ugotovili potrebni nastavitveni niz za modem, si ga zapišite. Zdaj imate na izbiro: te nastavitve lahko shranite v obstojni pomnilnik modema, da jih boste lahko priklicali z ustreznim ukazom `AT`. Alternativa je, da podate pravilne nastavitve vašemu modemu kot del klicnega procesa PPP.

Če uporabljate vaš modem le iz Linuxa za klic vašega ponudnika Interneta ali strežnika vaše organizacije, je najpreprosteje shraniti vašo nastavitev modema v obstojni RAM.

Če, po drugi strani, vaš modem uporabljajo druge aplikacije in operacijski sistemi, je najvarneje podati te informacije modemu vsakič, ko z njim kličete, saj bo tako modem zagotovo v pravilnem stanju za klic. (To ima dodatno prednost tudi v tem, da v primeru izgube vsebine obstojnega RAM-a modema ne izgubite inicializacijskega niza.)

##### Informacije o ponudniku Interneta.

Preden lahko vzpostavite povezavo PPP z oddaljenim strežnikom, morate dobiti naslednje informacije od sistemskega upravnika ali ljudi v tehnični podpori pri vašem ponudniku storitev interneta (angl. Internet Service Provider, ISP).

- Telefonsko številko ali številke za klic storitve. Če ste priključeni na naročniško telefonsko centralo (n. c.), boste potrebovali tudi številko n. c., ki vam daje zunanji pozivni signal - to je pogosto števka nič (0) ali devet (9).

- Ali strežnik uporablja dinamične ali statične številke IP? Če strežnik uporablja statične številke IP, morate morda vedeti, katero številko IP naj uporabljate na vašem koncu povezave PPP. Če vam vaš ISP ponuja podomrežje veljavnih številk IP, boste morali poznati številke IP, ki jih lahko uporabljate, in omrežno masko (angl. network mask, netmask).

  Večina ISP uporablja dinamične številke IP. Kot je omenjeno zgoraj, ima to določene posledice za storitve, ki jih lahko uporabljate.

  Vendar tudi če uporabljate statično številko IP, večina strežnikov PPP ne bo (zaradi varnostnih razlogov) nikoli dovolila določati številke IP odjemniku, saj je to varnostno tveganje. To informacijo boste morali še vedno poznati!

- Katere so številke IP imenskih strežnikov (DNS) ponudnika internetnih storitev? Obstajati bi morali vsaj dve, čeprav je potrebna le ena.

  Tukaj se lahko pojavi težava. Nastavitev PPP v MS Windows 95 dovoljuje, da se naslov DNS poda odjemniku pri njegovem priključitvenem procesu na ISP. Zato vam lahko vaš ISP (ali oddelek za pomoč v vaši organizaciji) pove, da ne potrebujete naslova IP imenskega strežnika (ali več strežnikov).

  Za Linux potrebujete naslov vsaj enega DNS. Izvedba PPP za Linux ne dovoljuje dinamične nastavitve številke IP imenskega strežnika v času priključitve - in je precej verjetno ne bo nikoli dovoljevala.

- Ali strežnik potrebuje uporabo protokolov za identifikacijo PAP/CHAP? Če je tako, morate poznati polja "id" in "secret", ki naj bi ju uporabljali pri priključitvi. (To sta verjetno vaše uporabniško ime in geslo pri vašem ISP.)

- Ali strežnik samodejno zažene PPP ali mu morate izdati kakršnekoli ukaze za zagon PPP na strežniku, ko ste enkrat prijavljeni? Če morate izdati ukaz za zagon PPP, kakšen je ta ukaz?

- Je operacijski sistem strežnika Microsoft Windows NT in če je, ali uporablja sistem identifikacije MS PAP/CHAP? Videti je, da zaradi zagotavljanja varnosti veliko lokalnih omrežij podjetij uporablja MS Windows NT na ta način.

Vsaka naprava, ki se povezuje na Internet, mora imeti svojo lastno, edinstveno številko IP. Centralna oblast skrbi za razdelitev številk IP med posamezne države. Za uporabo povezave PPP morate torej imeti dodeljeno številko IP. Zaradi povečanega števila strojev na Internetu (delno zaradi velikega števila uporabnikov PPP), je bila razvita dinamična shema za PPP, ki predvideva sprotno pridobitev IP za vaš stroj, takoj ko vzpostavi povezavo PPP. To pomeni, da boste imeli ob vsaki priključitvi na oddaljeno klicno storitev PPP drugačen naslov IP. To je najpogostejša metoda za večino ponudnikov interneta. Druga metoda je uporaba statičnih številk IP. Številke IP si ne morete kar izbrati zase. Dodeliti vam jo mora centralna agencija, zadolžena za izdajanje številk IP. To preprečuje, da bi dva računalnika imela isti naslov IP in povzročala probleme na Internetu. Ponudnik storitve oddaljenega klicnega dostopa PPP vam bo povedal, ali naj uporabljate statične ali dinamične številke IP, in vam tudi priskrbel dejansko številko IP, če uporabljate statično metodo.

Pomembno je poudariti, da bo zelo zelo težko ponujati stalne internetne storitve, kot so strežniki svetovnega spleta, strežniki gopher ali strežniki za klepetanje po internetu (angl. Internet Relay Chat, IRC), če uporabljate dinamično dodeljevanje številk IP. Še vedno lahko uporabljate vse takšne strežnike, ki so na drugih strojih, vendar ne morete ponujati teh storitev na svojem stroju, ne da bi v to vložili ogromno truda. To presega namen te knjige.

PAP in CHAP sta dve različni razširjeni identifikacijski metodi. Linux podpira obe.

##### Preizkus vašega modema in oddaljene storitve.

Ko ste uredili nastavitve serijskih vrat in modema, je dobra zamisel, da se prepričate v delovanje teh nastavitev tako, da pokličete vašega ISP in vidite, ali se lahko povežete.

Uporabite vaš terminalski komunikacijski paket (denimo `minicom` ali `seyon`), nastavite inicializacijo modema, ki jo potrebuje PPP, in pokličite na strežnik PPP, na katerega bi se radi priključili s sejo PPP.

(Pozor: na tej stopnji ne poskušamo narediti povezave PPP - le ugotoviti, da imamo pravilno telefonsko številko, in tudi izvedeti, kaj natanko nam strežnik pošilja, da se bomo znali prijaviti in začeti PPP.)

Med tem procesom zajemajte (beležite v datoteko) celoten prijavni proces ali previdno (zelo previdno) in natančno zapišite, katere pozive vam pošilja strežnik, da vam dá vedeti, da je čas za vnos uporabniškega imena in gesla (in vse druge ukaze, potrebne za vzpostavitev povezave PPP).

Če vaš strežnik uporablja PAP, ne bi smeli videti prijavnega pozornika, a bi morali namesto tega videti na vašem zaslonu (tekstovno reprezentacijo) nadzornega protokola povezave (ki je videti kot smeti).

Nekaj besed v opozorilo:

- Nekateri strežniki so precej inteligentni: prijavite se lahko s tekstovnim vnosom uporabniškega imena in gesla ali z uporabo PAP. Če torej vaš ISP uporablja PAP, a takoj še ne vidite prikaza smeti, to ne pomeni, da ste storili kaj narobe.
- Nekateri strežniki zahtevajo od vas, da najprej vnesete določeno besedilo in šele potem zaženejo standardni postopek PAP.
- Nekateri strežniki PPP so pasivni - se pravi, da preprosto čakajo in ne pošiljajo ničesar, dokler jim odjemnik, ki jih kliče, ne pošlje veljavnega paketa lcp. Če strežnik PPP, na katerega se povezujete, deluje v pasivnem načinu, ne boste nikoli videli smeti!
- Nekateri strežniki ne zaženejo PPP, dokler ne pritisnete `Enter` - torej se to izplača poskusiti, če se pravilno prijavite in ne vidite smeti!

Splača se vsaj dvakrat poklicati strežnik PPP - nekateri strežniki spremenijo svoje pozornike (npr. glede na čas!) vsakič, ko se prijavite na njih. Dva kritična pozornika, ki jih potrebuje vaša škatla z Linuxom, da se bo znala predstaviti vsakič, ko kličete na strežnik PPP, sta:

- pozornik, ki od vas zahteva vnos uporabniškega imena;
- pozornik, ki od vas zahteva vnos gesla.

Če morate izdati ukaz za pogon PPP na strežniku, boste morali najti tudi pozornik, ki ga izpiše strežnik, ko se prijavite nanj, in s katerim vam sporoča, da lahko vnesete ukaz za pogon PPP.

Če vaš strežnik samodejno požene PPP, ko se prijavite, boste začeli videvati smeti na vašem zaslonu - to je strežnik za PPP, ki pošilja vašemu stroju informacijo za začetek in nastavitev povezave PPP.

To naj bi izgledalo nekako takole:

>     y}#.!}!}!} }8}!}}U}"}\&} } } } }}\& ...}'}"}(}"} .~~y}

Na nekaterih sistemih mora biti PPP eksplicitno pognan na strežniku. To je navadno tedaj, ko je strežnik nastavljen tako, da dopušča prijave PPP in prijave v ukazno lupino z uporabo enakega para uporabniško ime/geslo. Če je to tako, po prijavi na strežnik pač izdajte ustrezni ukaz. Spet boste videli smeti, ko se požene povezava PPP na strani strežnika.

Če tega ne vidite takoj ob priključitvi (in prijavi in poganjanju strežnika PPP, če je to potrebno), pritisnite `Enter` in poglejte, če to zažene strežnik PPP.

Na tej točki lahko odložite vaš modem (navadno tako, da hitro vtipkate `+++` in potem, ko enkrat vaš modem odgovori z `OK`, izdate ukaz `ATH0`).

Če ne morete pripraviti vašega modema k delovanju, preberite priročnik za vaš modem, strani referenčnega priročnika za vaše komunikacijsko programje in spis Serial HOWTO. Ko ste to uredili, nadaljujte, kot piše zgoraj.

##### Uporaba internetnih strežnikov z dinamičnimi številkami IP.

Če uporabljate dinamične številke IP (in veliko ponudnikov storitev vam bo dalo le dinamično številko IP, razen če boste plačali znatno več za vašo povezavo), potem se morate zavedati omejitev, ki jih to narekuje.

Najprej, izhodne storitve bodo delovale čisto v redu. Se pravi, lahko pošiljate e-pošto s programom `sendmail` (če ste ga pravilno nastavili), prenašate datoteke z oddaljenih mest po protokolu FTP, potipate uporabnike na drugih strojih s programom `finger`, brkljate po spletu itd.

Povejmo posebej: na pošto, ki ste jo prenesli na vaš stroj, lahko odgovarjate tudi, ko niste na zvezi. Pošta bo preprosto počivala v vaši poštni vrsti, dokler se ne boste spet povezali z vašim ISP.

Vendar vaš stroj ni priključen na Internet 24 ur na dan niti nima iste številke IP vsakič, ko se priključi. Zato je nemogoče, da bi dobili e-pošto neposredno na vaš stroj (se pravi: brez protokolov, kot sta POP3 ali IMAP), in zelo težko nastaviti spletni strežnik ali strežnik za FTP, do katerega bi lahko dostopali vaši prijatelji! Kar se tiče Interneta, vaš stroj ne obstaja kot edinstven, vseskozi dostopen stroj, saj nima unikatne številke IP (zapomnite si - drugi stroji bodo uporabljali vašo prejšnjo številko IP, ko bodo poklicali na ISP).

Če postavljate spletni (ali katerikoli drugi) strežnik, je ta popolnoma neznan kateremukoli uporabniku Interneta, razen če vedo, da je vaš stroj priključen, in poznajo njegovo pravilno (trenutno) številko IP. Obstaja precej načinov, kako dobiti ti informaciji, od tega, da jih vi pokličete, jim pošljete e-pismo z informacijami, do prekanjene uporabe datotek `.plan` na lupinskem računu (kar predvideva, da vaš ponudnik dovoljuje dostop do ukazne lupine in tipanje s `finger`).

Za večino uporabnikov to ni problem - kar želi večina ljudi, je pošiljanje in prejemanje e-pošte (z uporabo računa pri vašem ponudniku storitev) in vzpostavljanje izhodnih povezav do spletnih strežnikov, strežnikov za FTP in drugih strežnikov na Internetu. Če potrebujete vhodne povezave do vašega strežnika, bi zares morali dobiti statično številko IP.

##### Datoteke za povezavo PPP.

Zdaj morate biti prijavljeni kot `root`, da ustvarite imenike in uredite datoteke, potrebne za nastavitev PPP. PPP uporablja precej datotek za priključitev in vzpostavitev povezave PPP. Te datoteke se razlikujejo po imenu in mestu med različicama PPP 2.1.2 in 2.2.

Za PPP 2.1.2 so te datoteke:

`/usr/sbin/pppd` | # izvedljiva datoteka za PPP
`/usr/sbin/ppp-on` | # klicni/priključitveni skript
`/usr/sbin/ppp-off` | # odključitveni skript
`/etc/ppp/options` | # izbire, ki jih `pppd` uporablja za vse povezave
`/etc/ppp/options.ttyXX` | # izbire, specifične za povezavo na vratih XX

Za PPP 2.2 so te datoteke:

`/usr/sbin/pppd` | # izvedljiva datoteka za PPP
`/etc/ppp/scripts/ppp-on` | # klicni/priključitveni skript
`/etc/ppp/scripts/ppp-on-dialer` | # prvi del klicnega skripta
`/etc/ppp/scripts/ppp-off` | # sam pravi skript za `chat`
`/etc/ppp/options` | # izbire, ki jih `pppd` uporablja za vse povezave
`/etc/ppp/options.ttyXX` | # izbire, specifične za povezavo na vratih XX

Uporabniki distribucije Red Hat Linux bi morali vedeti, da standardna namestitev Red Hat 4.X postavi te skripte v imenik `/usr/doc/ppp-2.2.0f-2/scripts`.

V vašem imeniku `/etc` naj bi bil podimenik `ppp`:

>     drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp

Če še ne obstaja, ga ustvarite s temi lastništvi in dovoljenji.

Če imenik že obstaja, bi moral vsebovati datoteko z vzorčnimi izbirami, imenovano `options.tpl`. Ta datoteka je vključena spodaj, za primer, če je še ni v imeniku `/etc/ppp`.

Natisnite jo, saj vsebuje razlago skoraj vseh izbir za PPP (te so uporabne za branje v povezavi s stranmi referenčnega priročnika o `pppd`). To datoteko sicer lahko uporabljate glede na svojo datoteko `/etc/ppp/options`, a je verjetno bolje, da naredite lastno datoteko z izbirami, ki ne vključuje vseh komentarjev v vzorčni - precej krajša in lažja bo za branje/vzdrževanje.

Videti je, da so nekatere distribucije PPP izgubile datoteko `options.tpl`. Poglejte v spis PPP-HOWTO (obstaja tudi slovenski prevod tega spisa) za popolno različico vzorčne datoteke.

##### Katere izbire naj uporabim?

No, kot pri vseh stvareh, je to odvisno (vzdihljaj). Izbire, navedene tukaj, bi morale delovati z večino strežnikov.

Vendar če ne delujejo, preberite vzorčno datoteko (`/etc/ppp/options.tpl`) in stran priročnika o `pppd` ter se pogovorite s sistemskim upraviteljem ali ljudmi z oddelka za pomoč uporabnikom ponudnika, ki poganja strežnik, na katerega se priključujete.

Vedeti bi tudi morali, da priključitveni skripti, predstavljeni tukaj, uporabljajo tudi nekatere izbire v ukazni vrstici za klic `pppd`, da je spreminjanje zadev olajšano.

>     # /etc/ppp/options (brez podpore za PAP/CHAP)
>     #
>     # Prepreči pppd, da bi se razvejil v ozadju z -detach
>     #
>     # uporabljaj nadzorne linije modema
>     modem
>     # uporabljaj zaklepne datoteke v stilu uucp, da zagotoviš
>     # ekskluzivni dostop do serijske naprave
>     lock
>     # uporabljaj strojni nadzor pretoka
>     crtscts
>     # ustvari privzeto pot za to povezavo v usmerjevalni tabeli
>     defaultroute
>     # NE nastavljaj "ubežnih" nadzornih zaporedij
>     asyncmap 0
>     # uporabljaj največjo velikost prenesenega paketa 552 bajtov
>     mtu 552
>     # uporabljaj največjo velikost sprejetega paketa 552 bajtov
>     mru 552
>     #
>     #---KONEC VZORČNE DAT. /etc/ppp/options (brez podpore za PAP/CHAP)

##### Ročna vzpostavitev povezave PPP.

Zdaj, ko ste ustvarili vaši datoteki `/etc/ppp/options` in `/etc/resolv.conf` (in če je potrebno, datoteko `/etc/ppp/pap-secrets` ali `chap-secrets`), lahko preizkusite nastavitve z ročno vzpostavitvijo povezave PPP. (Ko nam bo ročno vzpostavljena povezava delovala, bomo proces avtomatizirali.)

Za to mora biti vaše komunikacijsko programje sposobno izhoda, ne da se resetira modem. Program `minicom` lahko to stori z zaporedjem `Ctrl`-`A` `Q`

- Prepričajte se, da ste prijavljeni kot `root`.

- Zaženite vaše komunikacijsko programje (npr. `minicom`), pokličite na strežnik PPP in se prijavite kot običajno (če ste se sploh že kdaj prijavili). Če morate izdati ukaz za zagon PPP na strežniku, storite tako. Zdaj boste videli smeti, kot ste jih že videli prej.

- Če uporabljate PAP ali CHAP, bi morala že sama priključitev na oddaljeni sistem zagnati PPP na oddaljenem delu in videli boste smeti ne da bi se prijavili na strežnik (čeprav se to morda na nekaterih strežnikih ne bo zgodilo - poskusite pritisniti `Enter` in poglejte, če se pojavijo smeti).

- Zdaj zapustite komunikacijsko programje brez resetiranja modema in v pozorniku ukazne lupine v Linuxu (kot `root`) napišite

  > `# pppd -d /dev/ttyS0 38400 &`

  Seveda navedite namesto ,,`/dev/ttyS0``` ime naprave, na katero je priključen vaš modem.

  Izbira `-d` omogoča razhroščevanje - začetni pogovori povezave PPP se bodo beležili v sistemski dnevnik - kar je uporabno za izsleditev morebitnih poznejših težav.

- Ko se vzpostavi povezava PPP, zamežikajo lučke na vašem modemu (če imate zunanjega). Vzpostavitev povezave PPP bo trajala le malo časa.

Na tej točki lahko pogledate vmesnik PPP tako, da izdate ukaz

> `# ifconfig`

Poleg vseh naprav Ethernet in povratnih naprav, ki jih imate, bi morali videti tudi nekaj takega:

    ppp0     Link encap:Point-Point Protocol
             inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
             UP POINTOPOINT RUNNING  MTU:552  Metric:1
             RX packets:0 errors:0 dropped:0 overruns:0
             TX packets:0 errors:0 dropped:0 overruns:0

Kjer

- `inet addr:10.144.153.10` pomeni številko IP na vašem koncu povezave;
- je `P-t-P:10.144.153.5` številka IP strežnika.

(Pripomoček `ifconfig` ne bo izpisal ravno teh številk IP, pač pa tiste, ki se uporabljajo na vašem strežniku PPP.) Pomnite: `ifconfig` vam pove tudi, katera povezava je vzpostavljena in teče!

Morali bi biti sposobni tudi videti povezavo do oddaljenega gostitelja (in naprej). Za kaj takega ukažite

> `# route -n`

Videti bi morali nekaj takega:

>     Kernel routing table
>     Destination     Gateway         Genmask         Flags MSS    Window Use Iface
>     10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
>     127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
>     10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
>     default         10.144.153.3    *               UG    1500   0        5 ppp0

Tukaj je posebej pomembno opaziti, da imamo dva vnosa, ki kažeta na naš vmesnik PPP.

Prvi je gostiteljska pot (označuje jo zastavica `H` kot angl. host route) in ta nam dovoljuje videnje gostitelja, na katerega smo priključeni - a nič dlje.

Drugi vnos je privzeta pot (vzpostavljena tako, da podamo programu `pppd` izbiro `defaultroute`). To je pot, ki pove našemu osebnemu računalniku z Linuxom, naj pošilja vse pakete, ki niso namenjeni na lokalni ethernet - za katerega imamo posebne omrežne poti - na sam strežnik PPP. Strežnik PPP je potem odgovoren za usmerjanje naših paketov na zunanji Internet in usmerjanje povratnih paketov nazaj do nas.

Če ne vidite usmerjevalne tabele z dvema vnosoma, je nekaj narobe. Posebej, če vaš sistemski dnevnik vsebuje sporočilo, ki vam sporoča, da vaš `pppd` ne nadomešča obstoječe privzete poti, potem imate privzeto pot, ki kaže na vaš vmesnik za Ethernet - in mora biti nadomeščena z določeno omrežno potjo: lahko imate le eno privzeto pot!!!

Raziskati boste morali inicializacijske datoteke vašega sistema, da boste ugotovili, kje se ta privzeta pot določi (uporabljen bo ukaz ,,`route add default...```). Spremenite ta ukaz v nekaj takega kot ,,`route add net...```.

Zdaj preizkusite povezavo s ,,pinganjem`` strežnika na njegovo številko IP, kot jo sporoča izhod pripomočka `ifconfig`, denimo:

> `# ping 10.144.153.51`

Dobiti bi morali izhod, kot je ta:

>     PING 10.144.153.51 (10.144.153.51): 56 data bytes
>     64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
>     64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
>     64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
>     64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms

Ta izpis se bo nadaljeval v neskončnost - prekinete ga s pritiskom `Ctrl`-`C`, na tej točki boste prejeli nekaj dodatnih informacij:

>     --- 10.144.153.51 ping statistics ---
>     4 packets transmitted, 4 packets received, 0% packet loss
>     round-trip min/avg/max = 170.7/219.2/328.3 ms

Zdaj poskusite pingati gostitelja po imenu (ne ime samega strežnika PPP), vendar gostitelja na drugem mestu, za katerega veste, da trenutno verjetno deluje. Na primer

> `# ping sunsite.unc.edu`

Tokrat bo sledil premor, v katerem Linux poizveduje o številki IP polnega gostiteljskega imena, ki ste ga pingali. To stori tako, da povpraša DNS, ki ste ga navedli v datoteki `/etc/resolv.conf` - zato ne skrbite (videli pa boste, da lučke na zunanjem modemu utripajo). Kmalu boste prejeli izhod, podoben temule:

>      PING sunsite.unc.edu (152.2.254.81): 56 data bytes
>     64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
>     64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
>     64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
>     64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
>     64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

Spet prekinite izhod s pritiskom `Control`-`C` in dobite nekaj dodatne statistike...

>     --- sunsite.unc.edu ping statistics ---
>     5 packets transmitted, 5 packets received, 0% packet loss
>     round-trip min/avg/max = 169.8/176.3/190.1 ms

Če ne dobite nobenega odgovora, poskušajte pingati naslov IP strežnika DNS vašega ISP. Če dobite odgovor od njega, potem imate verjetno problem z datoteko `/etc/resolv.conf`.

Če to ne deluje, imate verjetno usmerjevalni problem ali pa ima vaš ISP težave z usmerjanjem paketov nazaj k vam. Preverite vašo usmerjevalno tabelo, kot je prikazana zgoraj, in če je to v redu, navežite stike z vašim ISP. Dober preizkus ISP-ja je uporaba drugega operacijskega sistema za priključitev. Če vam to uspe z vašim ISP-jem, je problem na vaši strani.

Če vse deluje, ukinite povezavo z vnosom

> `# ppp-off`

Po kratkem premoru bi moral modem sam odložiti linijo.

Če to ne deluje, izključite vaš modem ali poženite vaše komunikacijsko programje in prekinite modem z ukazom `+++`, potem pa odložite linijo z `ATH0`, ko prejmete odgovor `OK` od vašega modema.

Morda boste morali tudi počistiti zaklepno datoteko, ki jo ustvari `pppd` z vnosom

> `# rm -f /var/lock/LCK..ttySx`

## 6.2.3 Izdelava povezovalnih skriptov

Čeprav lahko nadaljujete z ročnim prijavljanjem, kot je prikazano zgoraj, je precej ličneje sestaviti nekaj skriptov, ki bodo to počeli samodejno namesto vas.

Nabor skriptov avtomatizira prijavljanje in zagon PPP, tako da je vse, kar morate storiti (kot `root` ali član skupine PPP), izdajanje enega samega ukaza za vključitev vaše povezave.

Če vaš ISP ne zahteva uporabe PAP/CHAP, so ti skripti za vas.

Če je paket PPP pravilno nameščen, bi morali imeti dve vzorčni datoteki. Za PPP 2.1.2 sta v imeniku `/usr/sbin` in za PPP 2.2 sta v `/etc/ppp/scripts`. Datoteke se imenujejo:

- za PPP-2.1.2:

  >     ppp-on
  >     ppp-off

- in za PPP-2.2:

  >     ppp-off
  >     ppp-on
  >     ppp-on-dialer

Zdaj vam, če uporabljate PPP 2.1.2, močno priporočam, da pobrišete ti vzorčni datoteki. Potencialno povzročata probleme - in ne recite mi, da delujeta v redu - tudi jaz sem ju uporabljal celo večnost (in priporočil v prvih različicah PPP-HOWTO)!

Za dobrobit uporabnikov PPP 2.1.2 so tukaj boljše vzorčne različice, pobrane iz distribucije PPP 2.2. Priporočam vam, da namesto starih skriptov za PPP-2.1.2 uporabite te skripte.

#### Skript `ppp-on`.

To je prvi od para skriptov, ki zares vzpostavita povezavo.

>     #!/bin/sh
>     #
>     # Skript za vzpostavitev povezave PPP.  To je prvi od dveh
>     # skriptov.  To ni varen par skriptov, saj so kode vidne
>     # z ukazom 'ps'.  Vendar je preprost.
>     #
>     # To so parametri.  Spremenite, kar je potrebno.
>     TELEPHONE=555-1212      # Telefonska številka za povezavo
>     ACCOUNT=george          # Ime računa za prijavo (kot 'George Burns')
>     PASSWORD=gracie         # Geslo za ta račun (in 'Gracie Allen')
>     LOCAL_IP=0.0.0.0        # Lokalni naslov IP, če je znan.
>                             # Dinamično dobljen = 0.0.0.0
>     REMOTE_IP=0.0.0.0       # Oddaljeni naslov IP, če želite.
>                             # Navadno 0.0.0.0
>     NETMASK=255.255.255.0   # Pravilna omrežna maska, če je potrebna.
>     #
>     # Izvozite te parametre, da bodo dostopni za 'ppp-on-dialer'
>     export TELEPHONE ACCOUNT PASSWORD
>     #
>     # To je lokacija skripta, ki pokliče po telefonski liniji in
>     # se prijavi na strežnik.  Prosim, uporabite absolutno ime
>     # datoteke, saj se spremenljivka $PATH ne uporablja kot izbira
>     # ob povezavi.  (Kaj takega bi bila varnostna luknja računa
>     # 'root', zato ne sprašujte.)
>     #
>     DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
>     #
>     # Inicializirajte povezavo
>     #
>     #
>     exec /usr/sbin/pppd debug /dev/ttySx 38400 \
>             $LOCAL_IP:$REMOTE_IP \
>             connect $DIALER_SCRIPT

#### Skript `ppp-on-dialer`.

>     #!/bin/sh
>     #
>     # To je drugi del skripta ppp-on.  Izvedel bo povezovalni
>     # protokol za želeno povezavo.
>     #
>     /usr/sbin/chat -v                                       \
>             TIMEOUT         3                               \
>             ABORT           '\nBUSY\r'                      \
>             ABORT           '\nNO ANSWER\r'                 \
>             ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
>             ''              \rAT                            \
>             'OK-+++\c-OK'   ATH0                            \
>             TIMEOUT         30                              \
>             OK              ATDT$TELEPHONE                  \
>             CONNECT         ''                              \
>             ogin:--ogin:    $ACCOUNT                        \
>             assword:        $PASSWORD

#### Skript `ppp-off` za PPP-2.2.

Za PPP-2.2 je skript `ppp-off` videti takole:

>     #!/bin/sh
>     #########################################################
>     #
>     # Poišči napravo, ki naj se prekine.
>     #
>     if [ "$1" = "" ]; then
>             DEVICE=ppp0
>     else
>             DEVICE=$1
>     fi

>     #########################################################
>     #
>     # Če obstaja datoteka pid ppp0, potem program teče.
>     # Prekinite ga.
>     if [ -r /var/run/$DEVICE.pid ]; then
>             kill -INT `cat /var/run/$DEVICE.pid`
>     #
>     # Če 'kill' ne deluje, potem za ta pid ne teče noben proces.
>     # To lahko pomeni tudi, da bo ostala zaklepna datoteka.
>     # Morda boste želeli hkrati pobrisati zaklepno datoteko.
>             if [ ! "$?" = "0" ]; then
>                     rm -f /var/run/$DEVICE.pid
>                     echo "ERROR: Removed stale pid file"
>                     exit 1
>             fi
>     #
>     # Uspeh.  Naj pppd sam počisti svojo navlako.
>             echo "PPP link to $DEVICE terminated."
>             exit 0
>     fi
>     #
>     # Proces ppp ne teče za ppp0
>     echo "ERROR: PPP link is not active on $DEVICE"
>     exit 1

## 6.2.4 Prilagajanje priloženih zagonskih skriptov za PPP

Novi skripti so v dveh delih, ki ju bomo uredili po vrsti.

##### Skript `ppp-on`.

Urediti boste morali skript `ppp-on`, da bo odražal vaše uporabniško ime pri vašem ISP, vaše geslo pri vašem ISP in telefonsko številko vašega ISP.

Vsaka od vrstic, kot je `TELEPHONE=`, pravzaprav nastavi spremenljivke ukazne lupine, ki vsebujejo informacije na desni strani znaka ,,`=``` (brez komentarjev, seveda). Zato uredite vsako od teh vrstic tako, da ustreza vašemu ISP-ju in povezavi.

Tudi ko nastavljate številko IP (če jo morate), v datoteki `/etc/ppp/options` pobrišite vrstico, ki pravi:

>     $LOCAL_IP:$REMOTE_IP \

Prepričajte se, da lupinska spremenljivka `DIALER_SCRIPT` kaže na polno pot in ime klicnega skripta, ki ga boste zares uporabljali. Zato se, če ste premaknili ali preimenovali ta skript, prepričajte, da boste pravilno popravili to vrstico v skriptu `ppp-on`!

##### Skript `ppp-on-dialer`.

To je drugi od skriptov, ki zares vzpostavita vašo povezavo PPP.

Vedite: pogovorni skript je navadno napisan v eni sami vrstici, obrnjene poševnice ,,`\``` se uporabljajo le za nadaljevanje vrstice v več fizičnih vrstic (za lažje človeško branje) in ne predstavljajo dela samega skripta.

Vendar je ta skript zelo uporabno podrobno pogledati, da bomo razumeli, kaj naj bi pravzaprav delal!

Pogovorni skript je zaporedje parov "pričakovani niz" "poslani niz". Pomnite, da vselej nekaj pričakujemo, preden nekaj pošljemo.

Če naj nekaj pošljemo, ne da bi najprej kaj prejeli, moramo uporabiti prazen pričakovani niz (označen z `""`) in podobno za pričakovanje nečesa, ne da bi karkoli poslali! Tudi če niz sestavlja več besed (npr. `NO CARRIER`), morate navesti niz tako, da ga `chat` vidi kot eno entiteto.

Pogovorna vrstica v našem vzorcu je:

> `exec /usr/sbin/chat -v`

Ob klicanju `chat`-a izbira `-v` pove, naj se prepiše ves njegov vhod/izhod v sistemski dnevnik (ta je navadno v datoteki `/var/log/messages`).

Ko ste enkrat zadovoljni z zanesljivim delovanjem pogovornega skripta, uredite to vrstico in odstranite izbiro `-v`, da boste zmanjšali nepotreben šum v vašem sistemskem dnevniku.

>     TIMEOUT         3

To nastavi iztek časa za sprejem pričakovanega vhoda na tri sekunde. To lahko povečate na, denimo, 5 ali 10 sekund, če uporabljate zares počasen modem!

>     ABORT           '\nBUSY\r'

Če je sprejet niz `BUSY` (znak za zasedeno linijo), končaj postopek.

>     ABORT           '\nNO ANSWER\r'

Če prejmeš niz `NO ANSWER` (ni odgovora), končaj postopek.

>     ABORT           '\nRINGING\r\n\r\nRINGING\r'

Če prejmeš (ponovljen) niz `RINGING`, končaj postopek. To je zato, ker nekdo kliče vašo telefonsko linijo!

>     "              \rAT

Ne pričakuj ničesar od modema in pošlji niz `AT`.

>     OK-+++\c-OK   ATH0

Tale vrstica je malce bolj zapletena, saj uporablja nekatere zmožnosti za odpravljanje napak programa `chat`.

Kar pravi, je... Pričakuj `OK` in če ga ne prejmeš (ker modem ni v ukaznem načinu), potem pošlji `+++` (modemski niz za standardne modeme, združljive s Hayes, ki vrne modem v ukazni način) in pričakuj `OK`. Potem pošlji `ATH0` (ukazni niz, po katerem modem odloži linijo). To dovoljuje vašemu skriptu, da je kos položaju, ko modem obtiči na zvezi!

>     TIMEOUT         30

Nastavi iztek časa na 30 sekund za ostanek tega skripta. Če s tem pogovornim skriptom izkusite težave z izhodi zaradi izteka časa, povečajte to vrednost na 45 sekund ali več.

>     OK              ATDT$TELEPHONE

Pričakuj `OK` (odgovor modema na ukaz `ATH0`) in pokliči številko, ki bi jo radi poklicali.

>     CONNECT         ''

Pričakuj `CONNECT` (kar pošlje naš modem, ko odgovori oddaljeni modem) in ne pošlji ničesar v odgovor.

>     ogin:--ogin:    $ACCOUNT

Tukaj imamo spet vgrajenega nekaj odpravljanja napak. Pričakuj prijavni pozornik (`...ogin:`), a če ga ne dobimo pred iztekom časa, pošlji return in potem spet čakaj na prijavni pozornik. Ko se sprejme pozornik, pošlji uporabniško ime (shranjeno v lupinski spremenljivki `$ACCOUNT`).

>     assword:        $PASSWORD

Pričakuj pozornik za geslo in pošlji naše geslo (spet, shranjeno v lupinski spremenljivki).

Ta pogovorni skript lahko precej dobro okreva od napak. Program `chat` ima bistveno več zmožnosti, kot jih je tukaj prikazanih. Za več informacij poglejte stran priročnika o programu `chat` (`man 8 chat`).

## 6.2.5 Zagon PPP na strani strežnika

Medtem ko je skript `ppp-on-dialer` v redu za strežnike, ki samodejno zaženejo `pppd` na svoji strani, ko se enkrat prijavite nanje, nekateri strežniki potrebujejo eksplicitni zagon PPP na strežniku.

Če morate izdati ukaz za zagon PPP na strežniku, morate urediti skript `ppp-on-dialer`.

Na koncu skripta (po vrstici z geslom) dodajte tradicionalni par ,,pričakuj-pošlji`` - ta bo oprezal za vašim prijavnim pozornikom (pazite se znakov, ki imajo poseben pomen v Bournovi lupini), kot

> `$[]`

Ko je enkrat `chat` našel lupinski pozornik, mora izdati zagonski ukaz za PPP, ki ga potrebuje strežnik za PPP pri vašem ISP.

Avtor je že naletel tudi na primer, ko strežnik za PPP uporablja standardni pozornik ukazne lupine Bash v Linuxu

> `[hartr@kepler hartr]$`

ki zahteva odgovor

> `$ ppp`

za zagon PPP na strežniku.

Tukaj je koristno dovoliti malce popravljanja napak, zato uporabite

> `hartr-hartr ppp`

Se pravi, če ne prejmemo pozornika pred iztekom časa, pošlje znak za pomik na začetek vrste (angl. carriage return) in spet čaka na pozornik.

Ko enkrat dobi pozornik, pošlje niz `ppp`.

Pozor: ne pozabite dodati `\` na konec prejšnje vrstice, da bo `chat` še vedno mislil, da je celotni pogovorni skript v eni vrstici!

Žal nekateri strežniki producirajo zelo različno množico pozornikov! Morda se boste morali večkrat prijaviti z `minicom`-om, da boste razumeli, kaj se dogaja in izbrali stabilne ,,pričakovane`` nize.

## 6.2.6 Če vaš strežnik PPP uporablja PAP (Password Authentication Protocol)

Če strežnik, na katerega se povezujete, zahteva identifikacijo PAP ali CHAP, imate malce več dela.

Dodajte naslednje vrstice v zgornjo datoteko z izbirami

>     #
>     # Prisili pppd, da bo med identifikacijskim procesom uporabljal
>     # uporabniško ime na vašem ISP kot vaše 'gostiteljsko ime'
>     name uporabniško-ime-vašega-ISP   # to vrstico morate popraviti
>     #
>     # Če poganjate *strežnik* PPP in morate vsiliti PAP ali CHAP,
>     # odkomentirajte ustrezno od naslednjih vrstic.  NE uporabljajte
>     # jih, če ste odjemalec, ki se priključuje na strežnik PPP
>     # (tudi če ta uporablja PAP ali CHAP), saj to naroči STREŽNIKU
>     # naj se predstavi vašemu stroju (česar prav gotovo ne more
>     # storiti -- in povezovanje bo spodletelo).
>     #+chap
>     #+pap
>     #
>     # Če uporabljate ZAKODIRANE zaupnosti (angl. encrypted secrets)
>     # v datoteki /etc/ppp/pap-secrets, odkomentirajte naslednjo vrstico.
>     # Vedite: to NI isto kot uporaba zakodiranih gesel Microsofta,
>     # kot se lahko nastavijo v MS RAS na Windows NT.
>     #+papcrypt

## 6.2.7 Uporaba protokola MSCHAP

RAS sistema Microsoft Windows NT se lahko nastavi tako, da uporablja različico protokola CHAP (angl. Challenge/Handshake Authentication Protocol, identifikacijski protokol s pozivanjem/rokovanjem). V izvorni kodi vašega PPP boste našli datoteko `README.MSCHAP80`, ki to obravnava. Ali strežnik zahteva identifikacijo z uporabo tega protokola, lahko ugotovite z vključitvijo razhroščevanja za `pppd`. Če strežnik zahteva identifikacijo MS CHAP, boste videli vrstice, kot je

>     rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]

Tukaj ključno informacijo predstavlja ,,`auth chap 80```.

Za uporabo protokola MS CHAP boste morali ponovno prevesti `pppd` za njegovo podporo. Prosim, poglejte navodila v datoteki `README.MSCHAP80` v arhivu izvorne kode za PPP za navodila, kako prevesti in uporabljati to različico.

Če uporabljate identifikacijo PAP ali CHAP, potem morate ustvariti tudi datoteko s skrivnostmi (angl. secrets file). Ti sta `/etc/ppp/pap-secrets` in /etc/ppp/chap-secrets.

Njun lastnik mora biti `root`, skupina `root`, in zaradi varnosti morata imeti dovoljenja datotek nastavljena na 740. Prva stvar, ki jo velja poudariti o PAP in CHAP, je, da sta zasnovana tako, da identificirata računalniške sisteme, ne uporabnikov. Z drugimi besedami, ko je enkrat vaš računalnik vzpostavil svojo povezavo PPP s strežnikom, lahko vsak uporabnik vašega sistema uporablja to povezavo - ne le vi.

PAP lahko (CHAP pa vedno) zahteva dvosmerno identifikacijo - se pravi: na vsakem računalniku obstaja veljavno ime in datoteka skrivnosti za vsak drugi vpleteni računalnik. Vendar to ni način, na katerega deluje večina strežnikov PPP, ki ponuja povezave, preverjene s PAP.

S tem v mislih: vaš ISP vam bo verjetno dal uporabniško ime in geslo, ki vam bosta omogočala povezavo na njegov sistem in od tam na Internet. Vašega ISP-ja sploh ne zanima ime vašega računalnika, zato boste verjetno morali uporabljati uporabniško ime pri vašem ISP-ju kot ime vašega računalnika. To se stori z uporabo izbire navedbe uporabniškega imena programa `pppd`. Torej, če boste uporabljali uporabniško ime, ki vam ga je dodelil vaš ISP, dodajte vrstico

> `name vaše_uporabniško_ime_pri_vašem_ISP`

v vašo datoteko `/etc/ppp/options`.

Pravzaprav bi morali v resnici uporabljati

>     user vaše_uporabniško_ime_pri_vašem_ISP

za PAP, vendar je `pppd` dovolj inteligenten, da bo tolmačil `name` kot `user`, če je potrebno za uporabo PAP-a. Prednost uporabe izbire `name` je, da je veljavna tudi za CHAP.

Ker je PAP namenjen identifikaciji računalnikov, morate teoretično navesti tudi ime oddaljenega računalnika. Vendar ker ima večina ljudi le enega ISP, lahko uporabljate v datoteki s skrivnostjo (angl. secrets file) tudi džokerja (`*`) namesto imena oddaljenega gostitelja.

Datoteka `/etc/ppp/pap-secrets` izgleda takole

>     # Skrivnosti za identifikacijo z uporabo PAP
>     # odjemnik   strežnik    skrivnost   sprejemljivi_lokalni_naslovi_IP

Štiri polja so ločena z belimi znaki (angl. white space) in zadnje je lahko prazno (to je to, kar želite za dinamično in verjetno tudi statično dodelitev IP od vašega ISP).

Denimo, da vam je ISP izdal uporabniško ime `fred` in geslo `flintstone`. Potem nastavite izbiro imena `fred` v datoteki `/etc/ppp/options` in nastavite vašo datoteko `/etc/ppp/pap-secrets` takole:

>     # Skrivnosti za identifikacijo z uporabo PAP
>     # odjemnik    strežnik    skrivnost   sprejemljivi_lokalni_naslovi_IP
>     fred             *        flintstone

To pravi: lokalnemu stroju je ime `fred` (kar smo tudi naročili `pppd`-ju, da naj uporablja, čeprav to morda ni pravo lokalno ime našega stroja) in za vsak strežnik uporabljaj geslo (skrivnost) `flintstone`.

Vedite, da nam ni treba določiti lokalnega naslova IP, razen če moramo vsiliti določen lokalni, statični naslov IP. Tudi če to poskusite, verjetno ne bo delovalo, saj večina strežnikov PPP (iz varnostnih razlogov) ne dovoljuje oddaljenim sistemov samostojne nastavitve številke IP, ki jim je dodeljena.

To predvideva, da uporabljate vzajemne identifikacijske metode - se pravi, da morate dovoliti identifikacijo oddaljenega strežnika svojemu stroju in tudi identifikacijo vašega stroja oddaljenemu strežniku.

Če je torej vaš stroj `fred` in je oddaljeni stroj `barney`, bo vaš stroj nastavil `name fred remotename barney`, oddaljeni stroj pa bo nastavil `name barney remotename fred` v njunih ustreznih datotekah `/etc/ppp/options.ttySx`.

Datoteka `/etc/chap-secrets` bi na računalniku `fred` izgledala takole

>     # Skrivnosti za identifikacijo z uporabo CHAP
>     # odjemnik    strežnik    skrivnost   sprejemljivi_lokalni_naslovi_IP
>     fred          barney      flintstone
>     barney        fred        wilma

in na računalniku `barney` takole

>     # Skrivnosti za identifikacijo z uporabo CHAP
>     # odjemnik    strežnik    skrivnost   sprejemljivi_lokalni_naslovi_IP
>     barney        fred        flintstone
>     fred          barney      wilma

Posebej se zavedajte, da morata imeti oba stroja vnosa za dvosmerno identifikacijo. To dovoljuje lokalnemu stroju, da se predstavi oddaljenemu in obratno.

##### Pogovorni skript za povezave z identifikacijo PAP/CHAP.

Če vaš ISP uporablja PAP/CHAP, je vaš pogovorni skript (za `chat`) precej preprostejši. Vse, kar mora storiti vaš pogovorni skript, je poklicati telefonsko številko, počakati na priključitev in potem dovoliti, da se program `pppd` prijavi na strežnik!

>     #!/bin/sh
>     #
>     # To je drugi del skripta ppp-on.  Ta skript bo izvedel povezovalni
>     # protokol za želeno povezavo.
>     #
>     exec /usr/sbin/chat -v                                  \
>             TIMEOUT         3                               \
>             ABORT           '\nBUSY\r'                      \
>             ABORT           '\nNO ANSWER\r'                 \
>             ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
>             ''              \rAT                            \
>             'OK-+++\c-OK'   ATH0                            \
>             TIMEOUT         30                              \
>             OK              ATDT$TELEPHONE                  \
>             CONNECT         ''                              \

Kot smo že videli, lahko z izbiro `-d` `pppd`-ju vključite beleženje razhroščevalnih informacij. Izbira ,,`debug``` je ekvivalentna.

Ker vzpostavljamo novo povezavo z novim skriptom, zaenkrat pustite vključeno izbiro `debug`. (Pozor: če ste na tesnem z diskovnim prostorom, lahko beleženje aktivnosti programa `pppd` naglo poveča vaš sistemski dnevnik in zaidete lahko v težave - a za to vam mora spodleteti priključitev in morate neuspešno poskušati s priključitvijo nekaj minut.)

Ko ste enkrat zadovoljni, da vse deluje, lahko odstranite to izbiro.

>     exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \

##### Preizkus priključitvenega skripta.

Odprite nov Xterm kot `root` (če ste v X) ali novo virtualno konzolo in se prijavite kot `root`.

V tej novi seji izdajte ukaz

> `# tail -f /var/log/messages`

Mnogi sistemski dnevniki se beležijo v datoteko `/var/log/messages`. Če ima na vašem sistemu drugačno ime, zamenjajte ime datoteke z vašim sistemskim dnevnikom v zgornjem ukazu.

V prvem oknu (ali virtualni konzoli) izdajte ukaz

> `# ppp-on &`

(ali kakorkoli ste že poimenovali vašo urejeno različico datoteke `/usr/sbin/ppp-on`). Če ne boste postavili skripta v ozadje z določitvijo `&` na koncu ukaza, ne boste dobili nazaj vašega terminalskega pozornika, dokler se PPP ne konča (se pravi: dokler se povezava ne prekine).

Zdaj preklopite nazaj na okno, ki spremlja vaš sistemski dnevnik.

## 6.2.8 Prekinitev povezave PPP

Ko ste končali s povezavo PPP, uporabite standardni ukaz `ppp-off` za njeno prekinitev (spomnite se, da morate biti `root` ali član skupine `ppp`!).

## 6.2.9 Odpravljanje pogostih težav, ko povezava deluje

Ena od težav, na katero boste naleteli, je, da bodo mnogi ponudniki storitev podpirali le programske pakete za povezavo, ki jih sami distribuirajo svojim novim uporabnikom. Ti paketi so tipično za Microsoft Windows - in mnogi oddelki za pomoč pri ponudnikih storitev ne vedo ničesar o Unixu (ali Linuxu). Zato bodite pripravljeni na omejeno pomoč od njih!

Seveda lahko uslužbencu naredite uslugo in ga poučite o Linuxu (vsakdo na oddelku za pomoč pri ISP bi moral biti razumno ,,na tekočem`` s pojmi Interneta, in to pomeni, da bi moral imeti doma škatlo z Linuxom - seveda jo ima)!

##### Težave z razreševanjem naslovov.

Prav - vaša povezava PPP je vzpostavljena, teče in lahko pingate strežnik PPP z njegovo številko IP (druga ali ,,oddaljena`` (angl. remote) številka IP, ki jo pokaže `ifconfig ppp0`), vendar ne morete seči dlje od tega.

Najprej poskusite pingati številke IP, ki ste jih določili v datoteki `/etc/resolv.conf` kot imenske strežnike. Če to deluje, lahko vidite preko vašega strežnika PPP (razen če ima ta enako številko IP, kot je ,,oddaljena`` številka IP vaše povezave). Zato zdaj poskusite pingati polno internetno ime vašega ponudnika storitev

> `$ ping moj.ponudnik.si`

Seveda tukaj vstavite ime vašega pravega ISP. Če to ne deluje, imate težavo z razreševanjem imen. To je verjetno zaradi tipkarske napake v vaši datoteki `/etc/resolv.conf`. Pozorno preverite to datoteko, ali se v njej pojavlja informacija iz vzorčne datoteke `/etc/resolve.conf` iz razdelka 6.1.1.

Če še vedno ne deluje (in vaš ponudnik storitev zagotavlja, da njegov imenski strežnik deluje), leži vaš problem nekje drugje - in previdno preverite vašo namestitev Linuxa (glejte predvsem dovoljenja datotek).

Če še vedno ne morete pingati imenskih strežnikov vašega ISP-ja z njihovimi številkami IP, so morda v okvari (pokličite jih po glasovnem telefonu in preverite) ali so usmerjevalne težave na strani vašega ISP-ja.

Ena od možnosti je, da je ,,oddaljena stran`` strežnik za PPP z operacijskim sistemom Linux, v katerega jedru ni bila podprta izbira za posredovanje paketkov IP (angl. IP forwarding)!

##### Razhroščevanje neuspelega poskusa.

Obstaja nešteto razlogov, da vaša povezava ne deluje - `chat` se ni uspešno povezal, imate umazano linijo itd. Zato preverite vaš sistemski dnevnik za indikacije.

Zelo pogost problem je, da ljudje prevedejo podporo za PPP v jedra, ko pa poskusijo poganjati `pppd`, se jedro kljub temu pritoži, da ne podpira PPP-ja! Obstaja vrsta razlogov, kako se to lahko zgodi.

- Ni vam uspelo zagnati novega jedra, v katerega ste prevedli podporo za PPP.
- Ni vam uspelo namestiti modula PPP, ki ste ga prevedli.
- Pričakovali ste, da bodo moduli naloženi samodejno, pa niso.
- Uporabljate napačno različico PPP-ja za vaše jedro.
- Programa `pppd`-ja ne poganjate kot `root`.
- V vaših zagonskih skriptih ste se nekje zatipkali.
- Nepravilno se prijavljate na strežnik.
- Na strežniku niste zagnali PPP.
- Oddaljeni proces PPP se počasi zažene.
- Privzeta pot (angl. default route) ni nastavljena.

In dosti drugih. Preberite PPP FAQ (ki je zares seznam vprašanj in odgovorov). To je zelo izčrpen sestavek in odgovori so tam! Če tam ni odgovora na vaše težave, vzrok težave ni v PPP!

##### Dobivanje pomoči, ko se vam popolnoma zatakne.

Če ne morete pripraviti vaše povezave PPP do delovanja, se vrnite skozi to poglavje in preverite vse - v povezavi z izhodom, ki ga naredita ,,`chat -v...``` in ,,`pppd -d``` v vašem sistemskem dnevniku.

Preverite tudi dokumentacijo za PPP in FAQ ter druge dokumente, ki so tam omenjeni!

Če ste obtičali, poskusite opisati svojo težavo v si.comp.os.unix ali (v angleščini) v comp.os.linux.misc in comp.os.linux.networking. Te novičarske skupine, kot tudi novičarsko skupino comp.protocols.ppp, dokaj redno pregledujejo ljudje, ki vam lahko pomagajo s PPP.

Če se odločite iskati pomoč v novičarskih skupinah Useneta, prosim, ne pošiljajte zelo dolgega sporočila, ki sestoji le iz razhroščevalnega izhoda. To pokuri ogromno mrežne pasovne širine. Mnogo bolje je opisati problem in morda vključiti nekaj vrstic razhroščevalnega izhoda (definitivno ne več kot en zaslon).

# 6.3 Vmreževanje z UUCP

UUCP (angl. UNIX-to-UNIX Copy Protocol, protokol prepisovanja z Unixa na Unix) je starejši mehanizem, uporabljan za prenašanje informacij med sistemi Unix. Z uporabo UUCP-ja lahko sistemi Unix pokličejo drug drugega (z uporabo modema) in prenesejo poštna sporočila, novičarske članke, datoteke in tako naprej. Če nimate dostopa TCP/IP ali SLIP, lahko uporabljate za komunikacijo s svetom UUCP. Večina poštnega in novičarskega programja (glejte razdelka 6.5 in 6.6) se lahko nastavi tako, da UUCP prenaša informacije na druge stroje. Pravzaprav, če je v bližini mesto z Internetom, lahko uredite, da vam internetno pošto pošiljajo s tega mesta prek UUCP-ja na vaš stroj z Linuxom.

Knjiga Linux Network Administrator's Guide vsebuje popolne informacije o nastavitvi in uporabi protokola UUCP pod Linuxom. Tudi spis Linux UUCP HOWTO, dostopen prek anonimnega FTP-ja s strežnika `metalab.unc.edu`, bi moral pomagati. Drug vir informacij o UUCP-ju je knjiga Managing UUCP and USENET Tima O'Reillyja in Grace Todino. Glejte razdelek A za več informacij.

# 6.4 Vmreževanje s sistemi Microsoft

Samba je zbirka programov, ki delujejo skupaj in dovoljujejo odjemalcem dostop do datotečnega prostora in tiskalnikov na strežniku po protokolu SMB (angl. kratica za Server Message Block). Prvotno je bila napisana za Unix, danes pa Samba teče tudi na sistemih Netware, OS/2 in VMS.

V praksi to pomeni, da lahko preusmerjate diske in tiskalnike na diske in tiskalnike Linuxa iz odjemalcev programa Lan Manager, odjemalcev Windows for Workgroups 3.11, Windows NT, Linux in OS/2. To vam daje možnost, da se ti operacijski sistemi obnašajo precej podobno kot strežnik LAN ali stroj Windows NT Server, le z dodano funkcionalnostjo in prožnostjo, načrtovano tako, da olajša življenje upravnikom.

Knjiga Samba: Integrating UNIX and Windows vsebuje popolne informacije o nastavitvi in uporabi zbirke Samba pod Linuxom. Domače strani Sambe so dostopne na `http://samba.anu.edu.au/samba/`, pomaga pa lahko tudi SMB HOWTO.

# 6.5 Elektronska pošta

Kot večina sistemov Unix, Linux priskrbi številne programske pakete za uporabo elektronske pošte. E-pošta na vašem sistemu je lahko bodisi lokalna (se pravi, pošto pošiljate le drugim uporabnikom na vašem sistemu), bodisi omrežna (se pravi, pošto prek protokola TCP/IP ali UUCP pošiljate uporabnikom na druge stroje v omrežju). E-poštno programje je navadno sestavljeno iz dveh delov: poštni program in program za prenos. Poštni program je navadno programje uporabniškega nivoja, ki se uporablja za sestavljanje in branje e-poštnih sporočil. Popularni tovrstni programi vključujejo `elm` in `mailx`. Program za prenos je nizkonivojsko programje, ki navadno poskrbi za dostavljanje pošte, lokalne ali oddaljene. Uporabnik nikoli ne vidi programja za prenos; opraviti ima le s poštnim programom. Vendar je pomembno, da kot sistemski upravnik razumete pojme v ozadju programja za prenos in kako ga nastaviti.

Najpopularnejši program za prenos pošte za Linux je `sendmail`. Zmožen je pošiljanja lokalne in oddaljene e-pošte po protokolih TCP/IP in UUCP. Alternativa programu `sendmail` je program `Smail`.

Več informacij o dostopnih poštnih programih za Linux in kako jih nastaviti na vašem sistemu ponuja spis Linux Mail HOWTO. Če nameravate pošiljati pošto na oddaljene sisteme, boste morali razumeti TCP/IP ali pa UUCP, odvisno od tega, kako je omrežen vaš stroj (glejte razdelka 6.1 in 6.3). Tukaj vam bodo v pomoč tudi spisi o UUCP in TCP/IP, našteti v dodatku A.

Večino poštnega programja za Linux lahko vzamete po anonimnem FTP-ju s strežnika `metalab.unc.edu` iz imenika `/pub/Linux/system/Mail`.

# 6.6 Novice in Usenet

Linux priskrbi tudi številne možnosti za upravljanje elektronskih novic. Odločite se lahko, da boste na svojem sistemu usposobili lokalni novičarski strežnik, ki bo dovoljeval uporabnikom pisanje ,,prispevkov`` (angl. articles) v različne ,,novičarske skupine`` (angl. news groups) na sistemu... Vendar če imate dostop do omrežja TCP/IP ali UUCP, boste lahko sodelovali v Usenetu - svetovni storitvi novičarskih skupin.

Obstajata dva dela novičarskega programja - strežnik (angl. server) in odjemalec (angl. client). Novičarski strežnik je programje, ki nadzoruje novičarske skupine in ureja razdeljevanje prispevkov na druge stroje (če ste na omrežju). Omrežni odjemalec ali novičarski bralnik je programje, ki se poveže na strežnik in potem dovoljuje uporabnikom branje in pošiljanje novic.

Za Linux obstaja več oblik novičarskih strežnikov. Vsi sledijo nekaterim osnovnim protokolom in zasnovi. Dve poglavitni različici sta ,,C News`` in ,,INN``. Obstaja tudi več vrst novičarskih bralnikov, kot sta `rn` in `tin`. Izbira novičarskega bralnika je bolj ali manj stvar okusa; vsi novičarski bralniki bi morali delovati enako dobro z različicami strežniškega programja. Se pravi, novičarski bralnik je neodvisen od strežniškega programa in obratno.

Če želite imeti novice le lokalno (se pravi, ne kot del Useneta), potem boste morali poganjati strežnik na vašem sistemu, kot tudi namestiti novičarski bralnik za uporabnike. Novičarski strežnik bo shranjeval prispevke v imenik, kot je `/var/spool/news`, novičarski bralnik pa bo preveden tako, da bo pogledal v ta imenik za novičarske prispevke.

Če pa želite poganjati novice po omrežju, se vam odpira več možnosti. Novice na omrežjih TCP/IP uporabljajo protokol, znan kot NNTP (angl. Network News Transmission Protocol, protokol za prenos novic po omrežju). NNTP dovoljuje novičarskemu bralniku branje novic prek omrežja na oddaljenem stroju. NNTP omogoča tudi izmenjavo novic po omrežju med posameznimi novičarskimi strežniki - to je programje, na katerem sloni Usenet. Večina podjetij in univerz ima usposobljenega enega ali več strežnikov NNTP za urejanje novic Useneta za to ustanovo. Ostali stroji iz te ustanove, za branje in pisanje novic po omrežju preko strežnika NNTP poganjajo bralnik novic, zasnovan na NNTP. To pomeni, da le strežnik NNTP zares shranjuje novičarske prispevke na disk.

Tukaj je nekaj mogočih scenarijev za nastavitev novic.

- Novice poganjate lokalno. Se pravi, nimate omrežne povezave ali želje za poganjanje novic po omrežju. V tem primeru morate poganjati na vašem stroju C News ali INN in namestiti novičarski bralnik za lokalno branje novic.

- Imate dostop do omrežja TCP/IP in strežnika NNTP. Če ima vaša organizacija usposobljen novičarski strežnik NNTP, lahko berete in pošiljate novice z vašega stroja z Linuxom preprosto tako, da namestite novičarski bralnik, zasnovan na NNTP. (Večina dostopnih novičarskih bralnikov se lahko nastavi tako, da tečejo lokalno ali uporabljajo NNTP.) V tem primeru vam na svojem sistemu ni treba nameščati novičarskega strežnika ali shranjevati novičarskih prispevkov. Novičarski strežnik bo skrbel za branje in pošiljanje novic po omrežju. Seveda boste morali imeti nastavljeno omrežje TCP/IP in dostop do tega omrežja (glejte razdelek 6.1).

- Imate dostop do omrežja TCP/IP, vendar nimate strežnika NNTP. V tem primeru lahko poganjate novičarski strežnik NNTP na vašem sistemu Linux. Namestite lahko lokalni ali pa na NNTP zasnovan novičarski bralnik, in strežnik bo shranjeval novičarske prispevke na vašem sistemu. Dodatno lahko nastavite strežnik, da bo komuniciral z drugimi novičarskimi strežniki po protokolu NNTP in prenašal novičarske prispevke.

- Novice želite prenašati po protokolu UUCP. Če imate dostop UUCP (glejte razdelek 6.3), lahko prav tako sodelujete v Usenetu. Namestiti boste morali (lokalni) novičarski strežnik in novičarski bralnik. Dodatno boste morali nastaviti vaše programje za UUCP, da bo periodično prenašalo novičarske prispevke z drugega bližnjega stroja z UUCP (znanega kot ,,dotok novic``, angl. news feed). UUCP ne uporablja NNTP za prenos novic, ampak ponuja svoj lasten mehanizem za prenos novičarskih prispevkov.

Večina od ,,standardnega`` novičarskega programja (dostopnega po anonimnem FTP-ju z `ftp.uu.net` v imeniku `/news`) se bo na Linuxu prevedla kot iz škatle. Nujne popravke lahko najdete na `metalab.unc.edu` v `/pub/Linux/system/Mail` (ki je, po naključju, tudi kraj, kjer lahko najdete poštno programje za Linux). V tem imeniku lahko najdete tudi druge binarne datoteke za novičarstvo v Linuxu.

Za več informacij glejte spis Linux News HOWTO s strežnika `metalab.unc.edu` v imeniku `/pub/Linux/docs/HOWTO`. Tudi knjiga LDP Linux Network Administrator's Guide vsebuje popolne informacije o nastavitvah novičarskega programja za Linux. Knjiga Managing UUCP and Usenet Tima O'Reillyja in Grace Todino je izvrsten vodnik o vzpostavljanju programja za UUCP in novice. Zanimiv je tudi sestavek Useneta ,,How to become a Usenet site``, dostopen s strežnika `ftp.uu.net` v imeniku `/usenet/news.announce.newusers`.

Naprej: A. Viri informacij o Navzgor: Namestitev in začetek dela Nazaj: 5. X Window System