The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка CBCP CallBack в ppp и pppd (callback modem ppp cbcp)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: callback, modem, ppp, cbcp,  (найти похожие документы)
From: Компания ФАРЛЕП <support@mk.farlep.net.> Newsgroups: http://www.mk.farlep.net Date: Mon, 20 Dec 2004 18:21:07 +0000 (UTC) Subject: Настройка CBCP CallBack в ppp и pppd Оригинал: http://www.mk.farlep.net/support/inet/cb_unix.html Описание PPP Настройка "обратного звонка" посредством user ppp в Unix-подобных системах. В составе стандартной поставки большинства известных Unix-подобных систем с открытым кодом имеется ppp. Это универсальное средство для создания соединений по стандарту ppp с использованием большого количества расширений этого протокола. В данном случае нас интересует расширение Microsoft CBCP (сокращение от CallBack Control Protocol). Он предусматривает передачу информации о адресе назначения обратного звонка. Для настройки соединения с использованием CBCP важно уяснить, что прямое и обратное соединения - это РАЗНЫЕ соединения с разными параметрами. Соответственно необходимо создать два профиля соединений. Задача первого - дозвониться до провайдера, выполнить процедуру аутентификации, передать CBCP-информацию и завершить соединение. Задача второго - принять входящее соединение от провайдера. Запуск ppp с этими профилями можно осуществлять либо "вручную", из командной оболочки ppp, либо из shell-скрипта (что мы и сделали). Настройка Пример файла конфигурации ppp (обычно это находится в /etc/ppp/ppp.conf): default: set log Phase Chat LCP IPCP CCP tun command ident user-ppp VERSION (built COMPILATIONDATE) set device /dev/cuaa1 set speed 115200 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR enable dns dialout: set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ \"\" AT OK-AT-OK ATE1Q0L1M1 OK \\dATDT\\T TIMEOUT 40 CONNECT" set timeout 180 # 3 минуты таймаут (по умолчанию) set callback cbcp e.164 USER_PHONE_NUMBER set cbcp USER_PHONE_NUMBER set phone ISP_PHONE_NUMBER set authname USERNAME set authkey USERPASSWORD dialin: set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ \"\"TIMEOUT 30 RING ATA CONNECT" set timeout 180 # 3 минуты таймаут (по умолчанию) disable pap chap set callback none Секция "default" содержит параметры и настройки, используемые во всех остальных секциях этого файла. Эта секция неявно добавляется в каждую секцию. В этой секции можно размещать "стандартные глобальные настройки", которые применяются для всех сессий дозвона; например, настройки модема и префиксы дозвона, которые обычно не изменяются, независимо от того с системой какого типа будет произведено соединение. Ниже приведено описание строк в "стандартной" секции примера: * set device /dev/cuaa1 Эта строка сообщает программе PPP, что ей необходимо использовать первый последовательный порт. В системе FreeBSD устройство '/dev/cuaa0' - это тот же самый порт, который известен под именем "COM1:" в системах DOS, Windows и т.д...Если Ваш модем подключен к порту COM2:, то необходимо указать значение '/dev/cuaa1, если COM3: - '/dev/cuaa2'. * set speed 115200 Эта строка устанавливает скорость передачи и приема для соединения между последовательным портом и модемом. Если у вас возникнут проблемы при установке модемного соединения, попробуйте изменить эту величину на значение 57600 или, еще меньше, на 38400. * set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR Если вы используете dial-up соединение, без выделенного IP адреса, то эти строки менять не надо, оставьте как они есть. Секция "dialout" содержит параметры и настройки, используемые при прямом (исходящем) звонке к провайдеру: * set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\" AT OK-AT-OK ATE1Q0L1M1 OK \\dATDT\\T TIMEOUT 40 CONNECT" ПРИМЕЧАЕНИЕ: (Этот оператор необходимо ввести одной строкой; все переносы строк, которые Вы встретите в этом документе должны игнорироваться.) Эта строка сообщает программе PPP как работать с модемом и определяет некоторые устаревшие директивы для его управления: Попытки дозвона ошибочны, если модем вернул код "BUSY" ("ЗАНЯТО"), Попытки дозвона ошибочны, если модем вернул код "NO CARRIER" ("НЕТ НЕСУЩЕЙ"), Программа PPP ожидает завершение каждого последующего события в течение 5-секундного интервала: Первоначально программа PPP не ожидает от модема никаких событий (определяется выше указанием символов \"\" в операторе dial) Программа будет посылать модему строку инициализации "ATE1Q0L1M1" и ждать ответа "OK". Если ответ не будет получен, то программа будет вынуждена послать на модем команду "AT" и снова ожидать ответа "OK", Перед посылкой в модем строки дозвона программа вынуждена ждать около 1 секунды (определено символами "\\d" в операторе dial). Часть выражения "ATDT" есть стандартный модемный префикс для дозвона с использованием тонового набора номера; если Ваша телефонная линия не поддерживает тоновый набора, замените "ATDT" на "ATDP". Символы "\\T" определяют место расположения для реального номера телефона (который будет автоматически вставляться из параметра "set dial"). И наконец, перед тем как закончится максимальный тайм-аут в 40 секунд, программа PPP ожидает "увидеть" код "CONNECT"("СОЕДИНЕНИЕ"), возвращаемый модемом. Ошибка в любой точке этого "диалога" будет интерпретироваться как ошибка дозвона и программа PPP откажет в соединении. * set callback cbcp e.164 USER_PHONE_NUMBER set cbcp USER_PHONE_NUMBER Эти команды определяют номер телефона, на который будет перезванивать модем провайдера. * set phone ISP_PHONE_NUMBER Номер телефона провайдера * set authname USERNAME set authkey USERPASSWORD Данные учетной записи пользователя (логин и пароль) Секция "dialin" содержит параметры и настройки, используемые при обратном (входящем) звонке: * set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\"TIMEOUT 30 RING ATA CONNECT" Модем ожидает 30 секунд звонка RING, а потом поднимает трубку ATA (Более детальную информацию по языку мини-скриптов, используемого дозвонщиком PPP можно получить, обратившись к man-странице справочного руководства по "chat".) Пример скрипта последовательного запуска ppp с профилями прямого, а затем обратного соединений: #!/bin/sh ppp -background dialout ppp -background dialin Описанный способ "обкатывался" на FreeBSD 5.0 и показал стабильную работу. Примечание 1: У описанного метода есть недостаток - ожидание входящего звонка будет происходить вне зависимости от результатов прямого. При необходимости Вы можете доработать описанный способ самостоятельно. Примечание 2: Поскольку разные модемы и разные системы имеют персональные особенности, возможно будет необходимо соответственное изменение профилей. Рекомендуем изучить руководство по ppp, которое входит в его поставку перед внесением каких-либо изменений. Описание PPPD Ваш pppd должен быть собран с поддержкой протокола CBCP (протокол обратного звонка). Проверить это можно, выполнив следующую команду: "pppd callback". Если ответ будет <<unrecognized option>>, значит у Вас pppd собран без поддержки CBCP. В этом случае для включения поддержки CBCP Вам будет нужен файл: ftp://ftp.samba.org/pub/ppp/ppp-2.4.2.tar.gz, который необходимо разархивировать, и из полученного каталога ppp-2.4.2/pppd/ в Makefile.linux раскоментировать строку CBCP=y после чего собрать и установить pppd. Дополнительную информацию по установке pppd Вы можете найти в файлах README.linux и README.cbcp, находящихся в вышеуказанном архиве. Настройка 1. Разархивировать содержимое архива [22]linux-callback.tar.gz в каталог /etc/ppp/ 2. Отредактировать файл ppp-on-dialer : + исправить путь к pppd на тот, по которому у Вас находится pppd пример: /usr/sbin/pppd /dev/ttyS0 file /etc/ppp/options-cb.cbcp + указать COM-порт, к которому подключен Ваш модем пример: /usr/sbin/pppd /dev/ttyS0 file /etc/ppp/options.cbcp 3. Отредактировать файл options.cbcp : + заменить <<username>> на свой логин; + заменить <<callback_phone_number>> номером телефона, с которого осуществляется связь с интернет. 4. Отредактировать файл pap-secrets : + в строке <<login>> farlep <<password>> заменить <<login>> и <<password>> своими логином и паролем. 5. При необходимости отредактировать файл chat-cbcp : + в строке 'OK-+++\c-OK' 'ATM1L1' \ ввести строку инициализации для Вашего модема мосле символов 'AT . 6. Для установки соединения с Интернет необходимо запустить команду: ppp-on-dialer <<time>> где <<time>> - время ожидания поступления звонка (обратного звонка). Ниже приведены тексты файлов callback-client, chat-cbcp, options-cb.cbcp, options.cbcp, pap-secrets, ppp-on-dialer, которые находятся в архиве http://www.mk.farlep.net/support/inet/linux-callback.tar.gz файл callback-client (права 750): #!/bin/sh /usr/bin/chat -v "" ATZ OK "" RING ATA CONNECT файл chat-cbcp (права 750): #!/bin/sh /usr/bin/chat -v \ TIMEOUT 7 \ ABORT "\nERROR\r" \ ABORT "\nNO DIALTONE\r" \ ABORT "\nBUSY\r" \ ABORT "\nNO ANSWER\r" \ ABORT "\nNO CARRIER\r" \ ABORT "\nLogin incorect\r" \ '' AT \ 'OK-+++\c-OK' 'ATM1L1' \ TIMEOUT 60 \ OK ATDP490011 \ ogin: \c файл options-cb.cbcp (права 644): noipdefault defaultroute connect '/etc/ppp/callback-client' файл options.cbcp (права 644): connect '/etc/ppp/chat-cbcp' user remotename farlep callback файл pap-secrets (права 600): login farlep password файл ppp-on-dialer (права 750): #!/bin/sh # #Try to Connect Farlep CallBack /usr/sbin/pppd /dev/ttyS0 file /etc/ppp/options.cbcp sleep $1 /usr/sbin/pppd /dev/ttyS0 file /etc/ppp/options-cb.cbcp

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру