от Димитър Василев(21-04-2003)

рейтинг (0)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

18.2.1.4 Автоматична PPP конфигурация

И потребителското, и решението в ядрото на ppp (pppd) използват конфигурационни файлове, намиращи се в /etc/ppp директорията. Примери за потребителя ppp могат да бъдат открити в /usr/share/examples/ppp/.

Настройката на ppp изисква да редактирате множество файлове, в зависимост от вашите изисквания. Това, което поставяте в тях донякъде зависи от това дали вашият доставчик ви дава статичен (например получавате един адрес и винаги ползвате него) или динамично (например вашият адрес се сменя всеки път щом се свържете с вашия доставчик).

18.2.1.4.1 РРР и статични адреси

Ще трябва да редактирате /etc/ppp/ppp.conf. Би трябвало да изглежда подобно на примера по-долу.
Забележка: Редовете завършващи с двоеточие, започват на първата колона (началото на реда)- всички остaнали редове трябва да бъдат подравнени както е показано, използвайки спейс или таб клавиши. Повечето от информацията, която трябва да осигурите беше показана с примера за ръчно набиране по-горе.

1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuaa0 5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 provider:
12 set phone "(123) 456 7890"
13 set authname foo
14 set authkey bar
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x. y.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDR
Ред 1: Указва реда по подразбиране. Командите в този ред се изпълняват автоматично при стартиране на ppp.
Ред 2: Разрешава записващите (логващите) параметри. Когато конфигурацията работи задоволително, този ред трябва да бъде съкратен до ''set log phase tun'', за да предотвратим нарастването на логовете до невероятни размери.
Ред 3: Посочва на PPP как да се ''представи'' на ответната страна. PPP се ''представя'' на ответната страна и ако има някакъв проблем за установяване на връзката, осигурява полезна информация на администра-торите на вашите ответни машини, която може да е полезна при разследването на такива проблеми.
Ред 4:Инструктира на кой COM порт е закачен модема COM1 е /dev/cuaa0 и COM2 е /dev/cuaa1.
Ред 5: Задава скоростта, на която искате да се свържете. Ако 115200 не работи (би трябвало да работи с всеки по-нов модем), опитайте вместо това с 38400.
Редове 6 и 7: Низът за набиране. Потребителското PPP използва синтакс ''изпрати-получи'' подобно на chat(8) програмата. Моля прочете страницата от наръчника за характеристиките на този език.
Забележка: Тази команда продължава на следващия ред за по-голяма четимост. Всяка команда в ppp.conf може да бъде преместена на нов ред, ако последния знак на реда е "\"
Ред 8: Задава времето на ''празен ход'', след което връзката ще бъде прекратена. 180 секунди е по подразбиране, така че този ред е напълно козметичен.
Ред 9: Посочва на PPP да запита ответната страна да потвърди местните настройки за DNS-а. Ако имате DNS сървър на вашата машина, този ред трябва да бъде закоментиран или изтрит.
Ред 10: Празен ред за по-голяма четимост. Празните редове се пренебрегват от PPP.
Ред 11: Указва ред за доставчик, наречен ''доставчик''. Това може да се смени на името на вашия доставчик ISP, така че по-късно да можете да използвате параметъра load ISP за стартиране на връзката.
Ред 12: Задава телефонния номер за доставчика. Могат да бъдат задавани множество номера, използвайки '':'' или ''|'' като за разделител. Разликите между двата разделителя са описани в man ppp(8).
За обобщение ще кажем, че ако искате да се ''въртите'' през телефоните , използвайте '':''. Ако желаете винаги да набирате първия номер и да опитвате с останалите, ако първият не стане, използвайте ''|''. Винаги описвайте телефонните номера както е показано.
Също така, трябва да ги слагате в кавички(''''), ако имате намерение да използвате празни пространства между цифрите. Липсата на такива може да доведе до проста, но неуловима грешка.
Редове 13 и 14: Разпознава потребителското име и паролата. При свързване с машина, използваща Юникс-подобен логин, тези стойности са препращани от командата set login, използвайки променливите \U и \P. При свързване чрез PAP или CHAP, тези променливи са използвани по време на разпознаването.
Ред 15: Ако използвате PAP или CHAP, в този момент няма да има влизане и този ред трябва да бъде премахнат или закоментиран. Вижте раздел 18.2.1.4.5 - PAP и CHAP ауторизация за повече подробности.
Логин низа има същия синтаксис като низа за набиране. В този пример, низът работи за услуга, чиято логин сесия изглежда така:
J. Random Provider
login: foo
password: bar
protocol: ppp
Ще трябва да промените този скрипт, за да го напаснете към собствените си нужди. Когато го пишете за пръв път, трябва да проверите дали сте разрешили чат логването, така че да можете да проверявате дали ''разговора'' между машините върви както очаквате.
Ред 16: Задава времето за бездействие (в секунди) за връзката. Тук, връзката ще бъде затворена автоматично след 300 секунди покой. Ако не желаете никога да не поставяте период на неактивност, сложете тази стойност на 0 или използвайте -ddial параметъра.
Ред 17: Указва адреса на интерфейса. Низът х.х.х.х трябва да бъде заменен с IP адреса, който вашият доставчик ви е заделил. Низът у.у.у.у трябва да бъде заменен с IP адреса, който вашето ISP е задало на техния рутер (машината, към която се свързвате). Ако вашият ISP не ви е дал адреса на рутера, използвайте 10.0.0.2/0. Ако се нуждаете да използвате ''налучкан'' адрес, бъдете сигурни, че сте създали опис в /etc/ppp/ppp.linkup, използвайки инструкциите в раздел 18.2.1.4.2 - PPP и динамични IP адреси. Ако този ред е пропуснат, ppp не може да върви в режим ''-auto''.
Ред 18: Добавя пътя по подразбиране към рутера на доставчика ви. Специалната дума HISADDR е заместена с адреса на шлюза, определен на ред 9. Важно е този ред да се появява след ред 9, иначе HISADDR няма да бъде инициализиран.
Ако не желаете да подкарвате ppp в режим -auto, този ред трябва да бъде преместен във файла /etc/ppp/ppp.linkup.
Не е необходимо да добавяте опис към ppp.linkup, когато имате статичен адрес и ''юркате'' ppp в автоматичен (-auto) режим, понеже параметрите в рутиращата ви таблица (routing table – оназ, в която указвате кой пакет накъде да иде) са правилни и няма нужда от промени преди или след свързване.
Може обаче да създадете низ, който да стартира програми при закачане към Интернет. Това ще бъде разяснено по-нататък с пример за sendmail.
Примерни конфигурационни файлове за ppp могат да бъдат открити в директорията /usr/share/examples/ppp/.

18.2.1.4.2 PPP и динамични адреси

Ако вашият доставчик на интернет не дава статични адреси, ppp може да бъде настроено да ''преговаря'' за тях. Това става чрез ''налучкване'' на IP и позволяване на ppp да го настрои правилно използвайки IPCP (IP Configuration Protocol – Протокол за Настройка на Интернет Протокола) след свързване. Файлът ppp.conf е същия както при раздел 18.2.1.4.1 РРР и статични адреси, със следното изменение:

Ред 17: set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

Отново повтаряме, че НЕ ТРЯБВА да включвате номера на реда, той е само за ваше удобство. Нужно е поставяне на отстъп от поне един спейс клавиш.
Ако не използвате -auto режима, ще трябва да създадете низ в /etc/ppp/ppp.linkup. ррр.linkup се използва след установяването на връзката. В този момент, на ррр ще бъдат зададени адресите на интерфейсите и ще бъде възможно да се добавят стойностите на шлюзовете на доставчика в рутиращата таблица:

1 provider:
2 add default HISADDR
Ред 1: При установяване на връзка, ppp ще търси низ в ppp.linkup, съгласно следните правила : Първо, ще се опита да намери сходен опис, какъвто е използван в ppp.conf. Ако това се провали, ще потърси за опис на IP адреса на нашия рутер. Ако все още не е открит такъв, ще търси стойности на литерала MYADDR.
Ред 2: Указво на ppp да добави път по подразбиране, сочещ към литерала HISADDR.HISADDR ще бъде заменен с адреса на рутера, както е по стандартите на IPCP. Вижте pmdemand секцията във файловете /usr/share/examples/ppp/ppp.conf.sample и /usr/share/examples/ppp/ppp.linkup.sample за подробни примери.

18.2.1.4.3 Приемане на входящи обаждания

Когато настройвате ppp да приема входящи обаждания за машина, свързана към локална мрежа, трябва да решите дали желаете да препращате пакети към мрежата. Ако отговорът е ''да'', трябва да заделите част от зачислените ви адреси, които ще използвате за ''локален'' и ''отдалечен'', и използвате командата enable proxy във вашия /etc/ppp/ppp.conf. Трябва също да се уверите, че вашия /etc/rc.conf съдържа следното:

gateway_enable=''YES''

18.2.1.4.3.1 Кое getty?

.

Раздел 17.4 от наръчника дава добро описание за дайъл-ъп услугите, изполвайки getty(8). Алтернатива на getty e mgetty – eдна ''по-умна'' версия на getty, разчетена за и за телефонни линии.
Предимството на mgetty е, че активно говори с модемите, което означава, че ако портът е зададен като изключен в /etc/ttys, тогава модемът ви няма да отговори на обаждането.
Версиите на mgetty от 0.99beta нагоре подържат също така автоматично откриване на PPP потоци, позволявайки на вашите клиенти достъп до сървъра, без да ползват скриптове. Вижте раздел 18.2.1.4.4 Mgetty и Автоматично PPP за повече информация за mgetty.

18.2.1.4.3.2 Права на PPP

Командата ppp обикновено трябва да бъде стартирана с права на root. Ако обаче желаете да разрешите на обиквновен потребител да стартира ppp в обслужващ режим (server mode), като напише ppp; този потребител трябва да бъде делегиран със съответните права. Най-лесно става като добавите техните имена към групата network в /etc/group.
Ще трябва да им дадете и достъп до една или повече секции на конфигурацията на ррр, използвайки командата allow command:

allow users fred mary
Ако тази команда е използвана в раздела default, то тя дава на въпросните потребители достъп до всичко.

18.2.1.4.3.3 РРР шел за потребители с динамични адреси

Създайте файл наречен /etc/ppp/ppp-shell, съдържащ следното:
#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENT
Този скрипт трябва да е изпълним. Направете и символна връзка към него, наречена ppp-dialup:
# ln -s ppp-shell /etc/ppp/ppp-dialup
Трябва да използвате този скрипт като шел (команден интерпретатор) за всички ваши дайъл-ъп потребители. Това е пример от /etc/password за дайъл-ъп потребител с име pchilds (не забравйте да редактирате /etc/password ЕДИНСТВЕНО И САМО С vipw!!!).
pchilds:*:1011:300:PeterChildsPPP:/home/ppp:/etc/ppp/ppp-dialup
Създайте директория /home/ppp с права за четене от всички, съдържаща следните файлове с дължина 0 байта:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
които предотвратяват показването на /etc/motd.

18.2.1.4.3.4 Шел за потребители със статични адреси

Създайте ppp-shell файл, както по-горе. За всеки потребител със статичен адрес, създайте символична връзка към ppp-shell
Например, ако имате трима дайъл-ъп потребители fred, sam и mary, на които обслужвате мрежите им от клас C, трябва да въведете следното:

# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
Всеки от тях трябва да има за шел символната връзка към /etc/ppp/ppp-shell (например, шела на mary трябва да е /etc/ppp/ppp-mary).

18.2.1.4.3.5 Шел за потребители с динамични адреси

Файлът /etc/ppp/ppp.conf трябва да съдържа и следното в посочените секции:

default:
set
debug phase lcp chat
set timeout 0
ttyd0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyd1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxy
Забележка: Важно е да слагате интервалите. Частта ''default:'' се зарежда за всяка сесия. За всяка дайъл-ъп линия разрешена в /etc/ttys, създайте опис подобен на този за ''ttyd0:'' по-горе. Всеки ред трябва да получи уникално IP от вашата банка адреси за дайъл-ъп потребители.

18.2.1.4.3.6 /etc/ppp/ppp.conf за клиенти със статични адреси

Към съдържанието на /usr/share/examples/ppp/ppp.conf по-горе, трябва да добавите част за всеки потребител със статичен адрес. Ще продължим примерите с нашите fred, sam и mary.

fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
Файлът /etc/ppp/ppp.linkup също трябва да има части, съдържащи информация за рутерите за всеки потребител, ако е нужно. Примерът по долу ще добави път за мрежа, клас С с адрес 203.14.101.0 чрез клиентската връзка.
fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR

18.2.1.4.4 Повече за mgetty, Автоматично PPP и добавките на Майкрософт

18.2.1.4.4.1 mgetty и Автоматично (AUTO) PPP

Конфигурирането и компилирането на mgetty с опцията AUTO_PPP, позволява на mgetty да открие LCP фазата на PPP връзките и автоматично да задейства ppp шел.
Тъй като подразбиращата се последователност от потребителско име и парола не се осъществява, необходимо е да разпознаваме потребители посредством PAP или CHAP. Този раздел предполага, че потребителят успешно е настроил, компилирал и инсталирал версия на mgetty с параметъра AUTO_PPP (v0.99beta или по-висока).
Проверете в /usr/local/etc/mgetty+sendfax/login.config дали се съдържат следното:

/AutoPPP/ - /etc/ppp/ppp-pap-dialup
Това ще укаже на mgetty да стартира скрипта ppp-pap-dialup за всяка открита от него PPP връзка.
Създайте файл наречен /etc/ppp/ppp-pap-dialup, съдържащ следното (файлът трябва да бъде изпълним!):
#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT
Създайте съответстващ запис в /etc/ppp/ppp.conf за всяка линия, разрешена за достъп в /etc/ttys. Те ще съжителстват щастливо с параметрите, които зададохме по-горе.
pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy
Всеки потребител влизащ в системата по този начин ще трябва да има потребителско име и парола във файла /etc/ppp/ppp.secret. Като алтернатива може да използвате PAP и да се разпознават чрез паролите в /etc/password. Добавете като опция:
enable passwdauth
Ако желаете да зачислите на някой потребител статичен адрес, можете да зададете адреса като трети аргумент в /etc/ppp/ppp.secret.
Вижте /usr/share/examples/ppp/ppp.secret.sample за примери.



Страници: 1 [2] 3 4 5

<< Инсталация и стартиране на debian dosemu paradox4.5 | Как да си подкарате скенер Acer S2W 3300U под Дебиан/GNU >>