Иллюстрированный самоучитель по Linux

Создание РРР-соединения

Итак, какова же следующая пара "ожидать-ответить"? После соединения пользователь представляется с помощью подсказки 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 пытается устано вить диалог посредством консоли. Это можно использовать для проверки сценария. Просто введите команду в командной строке. Когда на экране появится ATDT1234567, напечатайте CONNECT и введите Username:.

В ответ на экран должно быть выведено testuser. Затем напечатайте Password: и в ответ должно появиться testpassword.

Примечание
Если необходимо исправить ошибки в сценарии chat, добавьте ключ – v к команде chat. Результат выполнения сценария записывается в системный файл протокола, который позже можно проанализировать для выявления ошибок
.

После того, как сценарий написан, необходимо соединить его с pppd. Для этого можно исполь-зовать некоторые параметры pppd (приложение pppd имеет много дополнительных параметров, о которых можно узнать в руководстве по pppd). Мы будем использовать следующие параметры:

  • connect. Применяется для определения программы или команды, при помощи которой устанавливается соединение по обычной линии связи. Данная опция определяет программу chat и ее сценарий.
  • noipdefault. Работа pppd го-умолчанию – это определение IP-адреса локального компьютера на основании его имени. Но если ISP выделяет IP-адрес динамически, то noipdefault используется для сообщения pppd о том, что надо получить IP-адрес от удаленного компьютера, с которым осуществлено соединение.
  • defaultroute. Эта опция сообщает pppd о необходимости добавить маршрут по умолчанию в системную маршрутную таблицу, используя удаленную систему как шлюз по умолчанию. Запись удаляется при разрыве соединения.

Команда pppd имеет следующую структуру:

$ pppd device-name device-speed options

Если модем имеет максимальную скорость передачи сжатой информации 115200bps (модем 56Kbps), то при соединении с устройством /dev/modem для соединения с использованием chat сценария используется следующая команда:

$ pppd /dev/modem 115200 connect '/usr/sbin/chat "" ATDT1234567 CONNECT "
Username: testuser Password: testpassword' noipdefault defaultroute

При вводе данной команды модем начнет звонить, а после установления связи пользователь будет аутентифицирован и установится РРР-соединение. Если этот процесс пройдет успешно, будет выполнено следующее:

Во-первых, вызов команды /sbin/if config без ключей и параметров вернет список интерфейсов, в том числе РРР интерфейс. Этот список выглядит примерно так:

ррр0 Link encap:Point-to-Point Protocol
inet addr:194.209.60.101 P-t-P:194.209.60.97
Mask:255.255.255 UP POINTOPOINT RUNNING MTU:1500 Metric:!
RX packets:10 errors:0 dropped:0 overruns:0 TX packets:11 errors:0 dropped:0 overruns:0

Во-вторых, в таблицу маршрутизации будут добавлены элементы для создания стандартного маршрута через удаленную машину (проверьте результат, использовав команду /sbin/route без ключей и параметров).

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
dul.paus.ch * 255-. 255.255.255 UH 0 00 ppp0
default dul.paus.ch 0 UG 0 0 0 ppp0

В этом примере dul.paus.ch – удаленный компьютер в РРР-соединении, назначенный шлюзом по умолчанию.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.