- Пример файла конфигурации 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 authname USERNAME
set authkey USERPASSWORD
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 и показал
стабильную работу.
Ваш pppd должен быть собран с поддержкой протокола CBCP (протокол обратного звонка). Проверить это можно, выполнив следующую команду: «pppd callback».
Дополнительную информацию по установке pppd Вы можете найти в файлах README.linux и README.cbcp, находящихся в вышеуказанном архиве.
Ниже приведены тексты файлов callback-client, chat-cbcp, options-cb.cbcp, options.cbcp, pap-secrets, ppp-on-dialer, которые находятся в архиве linux-callback.tar.gz