Home    Решения    Услуги    Download    Публикации    Работа    Продукти    Документи
 

 

 
Print this page/Отпечатай тази страница  

 

Кратко PPP Learn-to

от Йовко Ламбрев ([email protected])




    Този материал е за всички новаци, които искат да ползват Интернет от своята Linux машина, но нещо все не успяват да донастроят.

    Това е кратичко ръководство, с което да накарате pppd да работи с вашият Интернет доставчик, използвайки динамичен IP адрес. Този материал е базиран на множество HOWTO-та и FAQ-материали , написани от много хора, много преди мен. Тук няма да ви занимавам с протоколи, процеси, история и други досадни технически неща, присъщи на инженерния ми поглед върху нещата. Само ще ви нахвърлям няколко идеи как да накарате проклетия си компютър да ви служи и в Интернет. Естествено ако направите всичко това сляпо голяма е вероятността да успеете да постигнете целта си и съответно нищичко да не научите, но ако сте късметлии нещо да не потръгне от първия път, тогава се разровете в посочените по-горе истински HOWTO-та, поразмърдайте си мозъка и ще почувствате радостта от знанието. Не ми задавайте въпроси - получих вече стотици - няма да ви отговоря - невъзможно ми е на всеки поотделно да обяснявам как да си пусне ppp - ако досега не сте успяли с шарените средства като kppp и ако това статийче не ви помогне да си решите проблема - припомнете си какво означава съкращението RTFM и кликнете на горните хипервръзки. (За непосветените RTFM = Read The Fuckin' Manual)

    Защо пък точно pppd? Linux притежава невероятно много мрежови средства, никое от които не изисква задължително графичен режим (X-window). Тъпо би било да стартирате X-window всеки път, когато искате да направите telnet или ftp. На всичко отгоре подготовката за ръчно стартиране на pppd ще ви отнеме само няколко минути.

Едно уточнение: Не ви обещавам, че скритовете, за които става въпрос по-долу се намират на същото място и във вашата Linux дистрибуция. Проверете това сами. pppd е самият демон, а ако не намерите скриптовете ppp-on , ppp-off и ppp-on-dialer можете да ги изкопирате от /usr/doc/ppp-2.*/scripts или /usr/doc/ppp/examples и да ги редактирате според нуждите си. Ако пък съвсем нищо не намирате потърсете нещо подобно на това - ppp-2.3.x.tar.gz За фенове на RedHat като мен препоръчвам четивото http://www.redhat.com/support/docs/rhl/PPP-Tips/PPP-Tips.html , в него може да намерите полезни съвети.

  • 1. Редактирайте вашия ppp-on скрипт. Най-често се намира в директорията /usr/sbin/ , но най-добре го потърсете с командата find / -name ppp-on подадена от вашата root директория. Ако липсва вероятно нямате инсталиран pppd . Трябва да промените скрипта според необходимостите, които имате. Ще видите полета като тези:
  • TELEPHONE=
    ACCOUNT=
    PASSWORD=
    LOCAL_IP=
    REMOTE_IP=
    NETMASK=

    Забележете - важно е да няма празни интервали между цифрите на телефонния номер на вашия Интернет доставчик (например: 62-78-29 , а не 62 78 29 ). Трябва също да оставите LOCAL_IP и REMOTE_IP със стойност 0.0.0.0 ), те разбира се могат да бъдат конфигурирани, но само ако наистина знаете какво правите. NETMASK в повечето случаи е 255.255.255.0 , но все пак една консултация с вашия Интернет доставчик няма да е излишна. Трябва към края на файла да видите някъде и нещо такова: 

    /dev/ttys1 38400 

    Разбира се, че трябва да го промените според модема си и това къде точно сте го инсталирали. Нормален запис например е:

     /dev/cua1 115200

     което означава модем на COM2 и скорост на порта 115200. /dev/ttys0 или /dev/cua0 означава COM1, /dev/ttys2 или /dev/cua2 е COM3 и т.н. Разбира се, че /dev/modem/ също може да ви свърши работа. Това е всичко, което трябва да направите във вашия ppp-on файл. След като нещата потръгнат можете да опитате да оптимизирате скоростта добавяйки mru 296 mtu 296 . Това установява Maximum Receive Unit (максималния брой приети единици) и Maximum Transmit Unit (максималния брой изпратени) на 296 байта. Може би ще опитате и asyncmap 0.

  • 2. Редактирайте hosts файла си. Намира се във вашата /etc/ директория. Почти абсурдно е да е някъде другаде, но ако не го намерите пробвайте find / -name hosts от вашата root директория. Във въпросния файл задължително трябва да има:
  • 127.0.0.1 localhost
    0.0.0.0 host.domain host

    Забележете, че трябва да замените host и domain съответно с името на хоста си (hostname) и домейна на вашата машина. Възможно е правилните настройки вече да съществуват благодарение на инсталатора на вашата Linux дистрибуция. . Забележете също, че файловете hosts.allow и hosts.deny , които също се намират в директория /etc/ нямат отношение към настройката на dialup комуникацията.

  • 3. Редактирайте вашият resolv.conf файл. Обикновено също в /etc/ директорията. Забележете : настройките които следват са примерни - вие не трябва просто да ги препишете , а да въведете правилните данни на вашия Интернет доставчик
  • search myisp.bg
    nameserver 208.211.123.69
    nameserver 208.211.123.68

    Всичко това е за да имаме DNS. myisp.bg е името на примерния Интернет доставчик, а xxx.xxx.xxx.xxx е адреса на Domain Name Server-а (DNS) на myisp.bg.

  • 4. Ако искате вярвайте, ама това си е направо почти всичко, което трябва да направите за да имате Интернет под Linux. Ако не сте се log-нали като root , време е да го направите, да напишете в командния ред ppp-on и ще чуете модема си да набира за да разберете дали сте свързани подайте командата ifconfig или route . Можете да ползвате Интернет колкото си искате - за да прекъснете връзката ползвайте ppp-off
  • Забележки: Някои файлове, които имат отношение към ситуацията са pppd, pppd-2.2, ppp-on-dialer. В последния например сменете ATDT на ATPD ако си нямате цифров телефон и сте на стара аналогова линия с импулсно набиране. А какъв трябва да е инициализационния стринг на модема за да не чака dial tone - добавете X3 ;-) Хайде да кажем две думи и за PAP и CHAP. Ако ще питате какво е това по-добре потърсете и прочетете нещо по въпроса преди да пипате каквото и да било. Идете в директория /etc/ppp/ и редактирайте pap-secrets (или chap-secrets) като добавите

      your_login_name * your_password 

    в първия нормален (а не коментарен) ред. Ако няма такъв файл просто си създайте нов.
  • Ако получите грешка от вида ppp service not available значи нямате ppp - намерете си отнякъде ppp-2.2.0f.tar.gz или по-нов (примерно от ftp://ftp.cdrom.com/pub/linux/slackware-current/source/n/ppp/ ).  Linux ядрата с версия 2.0.29 и по-нови не работят с по-стара версия на pppd от ppp-2.2.0.
  • Ако получите грешката permission denied трябва да проверите правата върху файловете, може да не са както трябва дори и да сте се log-нали като root.
  • Ако модема ви набира, свързва се и веднага разпада след няколко секунди вашият Интернет доставчик вероятно използва различена процедура за оторизация. Пробвайте да наберете ръчно с програма като seyon или minicom и проследете внимателно всички промпт-запитвания от машината на вашия доставчик. Файлът etc/ppp/ppp-on-dialer очаква последователността да бъде Logon: и Password: така, че ако във вашия случай не е точно такава ще се наложи да промените въпросния файл.
  • Ако модема ви е plug-n-play възможно е той да отказва да се инициализира коректно. Подайте командата pnpdump и след това isapnp за да инициализирате модема.
  • Ако случайно сте въвели IP адрес на gateway по време на инсталацията на вашия Linux това е неправилно и трябва да редактирате файла /etc/rc.d/rc.inet1 като коментирате или изтриете реда GATEWAY= ако съществува. В противен случай ще можете да осъществите връзка, но вашите пакети няма да се маршрутизират коректно.
  • Linux съвсем не се побърква от щастие като работи с динамичен IP адрес. Ако откриете примерно, че talk не работи както трябва да прочетете Dynamic IP Hacks mini-HOWTO (особено hack #5).
Важни подробности: Може би е глупаво да го споменавам, но все пак надявам се ще се досетите, че ядрото ви трябва да е компилирано с мрежова поддръжка за да ползвате работещо PPP. Как се прекомпилира ядрото можете да прочетете на български тук и разбира се в оригинал Linux Kernel HOW-TO. И по отношение на сигурността надявам се, че не сте оставили root да се log-ва без парола и тя е достатъчно трудна да откриване освен web-сървъра ви (който изисква малко по-особена конфигурационна намеса), всички други услуги като ftp, telnet, finger и т.н. би трябвало да си работят. Lynx е фантастичен браузер, но за X може би все пак ще си download-nete Netscape Communicator. Оставям на вас да прочетете останалите документи и да помислите възможно ли е и как да стартирате ppp не само като root.