ррр-on
, а в некоторых случаях и сценарий ppp-on-dialer
. Кроме того, вы, вероятно, захотите переместить все три сценария в каталог, из которого их было бы удобно взывать, например в /usr/local/bin
. В сценарий ррр-on
надо внести следующие изменения.
• Найдите переменную TELEPHONE
и задайте в качестве ее значения номер телефона провайдера. В результате соответствующая запись должна иметь вид TELEPHONE=123- 4567
.
• Задайте значения переменных ACCOUNT
и PASSWORD
. Если провайдер использует протокол PAP, данные переменные не будут использоваться; в этом случае вы можете оставить их значения без изменения.
• Если провайдер предоставляет вам фиксированный IP-адрес и если вы знаете IP-адрес сервера провайдера, можете указать эти адреса в переменных LOCAL_IP
и REMOTE_IP
. Аналогично, если вам известна маска подсети, вы можете задать ее в качестве значения переменной NETMASK
. В противном случае все три переменные можно оставить без изменения.
• Найдите переменную DIALER_SCRIPT
и задайте ее значение так, чтобы она ссылалась на сценарий ppp-on-dialer
. (Понятно, что DIALER_SCRIPT
должна указывать не на исходный вариант файла, содержащийся в каталоге с документами, а на файл, содержимое которого вы изменили в соответствии с вашими требованиями.) По умолчанию для этой переменной задано значение /etc/ppp/ppp-on-dialer
, но, как было сказано выше, вы можете выбрать расположение файла ppp-on-dialer
по своему усмотрению.
• В конце сценария содержится вызов pppd
. Эта программа поддерживает большое количество опций. Опции, указанные в сценарии, за исключением некоторых, изменять не следует. Возможно, вам придется задать имя файла устройства, используемого для подключения модема (по умолчанию указано устройство /dev/ttyS0
), а также скорость взаимодействия компьютера с модемом (по умолчанию используется значение 38400, но скорость 115200, как правило, дает лучшие результаты).
Скорректировав содержимое ррр-on
, можно приступать к редактированию сценария ppp-on-dialer
. Этот сценарий управляет взаимодействием программы pppd
с модемом, в частности, использованием команд, предназначенных для установления взаимодействия, а также процессом аутентификации (в случае, если провайдер не использует средства PAP или CHAP). Сценарий вызывает утилиту chat
, предназначенную для обмена текстовыми данными. Основную часть сценария составляют пары строк, представляющие собой ожидаемые сообщения и ответы на них, расположенные в два столбца. В первом столбце указаны сообщения, которые ожидает получить сценарий, а во втором столбце — последовательности символов, которые программа chat
посылает в ответ. Некоторые из сообщений имеют специальное назначение. Например, ABORT
сообщает chat
о необходимости прекращения работы в случае ошибки. Большинство строк оканчивается обратной косой чертой (), а это означает, что следующая строка является продолжением предыдущей. (На самом деле программе
chat
передается одна строка параметров; пары 'сообщение-ответ' представлены в виде столбцов лишь для удобства восприятия.) В конце последней строки обратная косая черта отсутствует.
Изменения следует вносить только в последние три строки файла ppp-on-dialer
. По умолчанию при составлении сценария предполагалось, что провайдер не использует PAP, поэтому в последних двух строках предусмотрена передача имени пользователя и пароля в ответ на запрос. (Имя пользователя и пароль хранятся в переменных ACCOUNT
и PASSWORD
; их значения задаются в сценарии ррр-on
.) При необходимости вы можете удалить эти строки или поставить в начале их символы #
, указывающие на то, что данные строки содержат комментарии. Если вы сделаете это, то вам также надо удалить обратную косую черту в третьей с конца строке. Удаление двух последних строк и изменение предшествующей им строки приведет к тому, что если pppd
попытается использовать для аутентификации соединения протокол PAP или CHAP, chat
завершит работу. Если протоколы PAP и CHAP не применяются, вам, возможно, потребуется отредактировать в последних строках сообщения, которые система ожидает получить от провайдера. Может быть, вы захотите выполнить дополнительные команды, например, запустить на компьютере провайдера программу поддержки PPP. В этом случае вам придется включить одну или несколько строк и указать в них в качестве ожидаемого сообщения приглашение для ввода команды.
Редактирование сценариев — наиболее трудоемкая часть работы по обеспечению PPP- взаимодействия. После того как данная задача выполнена, вам остается лишь ввести ррр- on
, после чего соединение будет инициализировано. (Если сценарий ррр-on
расположен в каталоге, который не учтен в переменной окружения PATH
, вам придется указать полный путь к этому файлу.) Используя внешний модем, вы сможете следить за ходом установления соединения по светодиодным индикаторам на его панели; при соответствующей настройке модема вы также услышите характерный звук. Если соединение будет установлено нормально, то через несколько секунд вы получите доступ к Internet и сможете использовать клиент-программы для взаимодействия с Internet-серверами.
В случае возникновения проблем вам надо, прежде всего, ознакомиться с содержимым файла протокола (обычно сообщения об установлении соединения и возникающих при этом ошибках записываются в файл /var/log/messages
). В конце файла должна содержаться информация о действиях программы pppd
, включая операции, которые завершились неудачно. Там вы найдете сведения об истечении времени тайм-аута при ожидании PAP-аутентификации, об ошибках при выполнении chat
и другие данные. Если вы не можете понять смысл сообщений, используйте термины, найденные в файле протокола, как ключевые слова при поиске на сервере http://groups.goggle.com
. На этом сервере хранятся архивы сообщений, отправленных в группы новостей Usenet и посвященных сетевому взаимодействию системы Linux. Среди них вы найдете обсуждение проблем, связанных с установлением PPP-соединений. Не исключено, что какое-то из сообщений будет содержать ответ на ваш вопрос, либо, по крайней мере, вы поймете, в каком направлении следует искать решение проблемы. Полезными также будут сведения, содержащиеся в документе PPP HOWTO.
Большинство дистрибутивных пакетов сконфигурировано так, что инициализировать PPP- соединение может только пользователь root
. Многие воспринимают это как недостаток. Подобные меры принимаются для того, чтобы повысить безопасность в том случае, когда на одном компьютере работают несколько пользователей. Однако иногда такие ограничения мешают в работе. Для того чтобы частично разрешить эту проблему, для программ, предназначенных для взаимодействия по коммутируемым линиям, устанавливается бит SUID, в результате чего эти программы запускаются с привилегиями root
. Очевидно, что при этом снова приходится решать вопросы защиты. В частности, многие администраторы сужают круг пользователей, которые имеют право запускать подобные программы. Они создают группу PPP, включают в нее тех пользователей, которым действительно необходим доступ к удаленным узлам по коммутируемым линиям, устанавливают права доступа так, что запустить программу могут только члены группы PPP.
Многие провайдеры сообщают пользователям IP-адреса серверов DNS, которые должны использоваться при взаимодействии посредством PPP-соединения. Эти сведения можно включить в файл /etc/resolv.conf
(структура данного файла обсуждалась выше).
Установление соединения по запросу
При работе на отдельной рабочей станции или компьютере необходимость использовать специальную программу установления взаимодействия или вручную запускать соответствующий сценарий