11. Створення РРР-з’єднання

На щастя, програмне забезпечення pppd спроектовано так, що дозволяє об'єднати

всі операції – і роботу з програмою chat, та обробку всього процесу з'єднання. Перед спробою з'єднання необхідно зібрати деяку інформацію.

Усі приклади в параграфі передбачають роботу як кореневого користувача (root). Оскільки процес з'єднання через РРР вимагає маніпуляцій з інтерфейсом і створення або видалення мережевих маршрутів, програми, що використовуються, запускаються в режимі користувача root.

З'єднання зі звичайною текстовою підказкою

Почнемо зі звичайних текстових підказок – найпростіших у використанні.

Так як pppd може брати керування модемом, але не може встановити віддалене з'єднання або зареєструватися, необхідний спосіб завдання модему команд та забезпечення необхідної реєстраційної інформації. Для встановлення з'єднання та реєстрації використовується програма chat. Вона призначена для організації обміну інформацією діалоговому режимі.

Якщо ви очікуєте відповіді на команду ATDT, підключіть модем. Зазначте наведений у прикладі довільний номер 1234567 задайте номер вашого провайдера ISP або сервера, що обробляє термінальні запити.

Цей обмін можна перетворити на простий сценарій chat.

Даний сценарій складається з двох пар рядків виду"очікувати-відповісти":"ATDT1234567 і CONNECT". Пара "очікувати-відповісти" містить дві порції інформації, розділених пробілом. У першій парі сценарію програмі chat вказується, що не слід нічого "очікувати", а у відповідь необхідно надіслати рядок ATDT123 45 67. Як тільки сценарій запустить процес, перша дія - відправлення рядка додзвону. Коли виконується друга пара, chat вказується на необхідністьчекати рядок CONNECT, а у відповідь не надсилати нічого. Якщо сценарій завершено, chat буде завершено.

Звичайно, сценарій chat має бути довшим. Для повного сценарію chat необхідно точно знати, що є реєстраційна сесія в даному конкретному випадку. Можна сформувати такий сценарій, використовуючи для реєстрації програмне забезпечення терміналу, як minicom.

Рядок підказки у більшості провайдерів Internet має такий вигляд:

Наприклад розглянемо перший випадок. За іншою реєстраційною підказкою необхідно внести відповідні зміни, як показано в наступному параграфі.

Можливо, необхідно видалити першу літеру підказки у завданні сценарію. Це пов'язано з тим, що різні операційні системи поводяться з першою літерою по-різному, і під час роботи з деякими ISP невідомо, яка операційна система підказує під час реєстрації. При очікуванні ogin: або as sword: сценарії працюють, не сприймаючи першу букву підказки.

Отже, яка ж наступна пара "очікувати-відповісти"? Після з'єднання користувач надається за допомогою підказки Username:, у відповідь на яку вводиться ім'я користувача (нехай ім'я користувача буде "testuser"). Пара "очікувати-відповісти" для такої взаємодії буде Username:testuser.

Коли ім'я користувача визначено, виводиться підказка Password:, у відповідь яку треба ввести пароль (припустимо, "testpas sword"). Виходить пара "очікувати-відповісти": Password:testpassword.

Більшість провайдерів Internet цього достатньо: РРР запускається системі провайдера після коректного введення пароля. Існує незначна кількість різновидів систем ISP, які при поданні користувачавиводять на екран підказку, де слід надрукувати команду для запуску РРР. У такому випадку у сценарії необхідно створити додаткову пару.

Для цього прикладу повний сценарій chat виглядає так:

"" ATDT1234567 CONNECT " " Username: testuser Password: testpassword

Для використання цього сценарію з програмою chat (яка зазвичай знаходиться в /usr/sbin) достатньо встановити сценарій як параметр chat.

/usr/sbin/chat ' " ATDT1234567 CONNECT " " Username: testuser Password:tes tpassword

За відсутності інтеграції з програмою pppd і доступу до модему chat намагається встановити діалог за допомогою консолі. Це можна використовувати для перевірки сценарію. Просто введіть команду в командній