Настройка модемов

Общие сведения о модемах

К персональному компьютеру может быть подключен как внутренний, так и внешний модем. Внутренний модем выполнен в виде платы расширения и устанавливается в специальный слот расширения на системной плате компьютера. Внешний модем, в отличие от внутреннего, выполнен в виде отдельного устройства, т.е. в отдельном корпусе и со своим блоком питания. Внешний модем может подключаться к последовательному или параллельному порту компьютера, а также к USB-интерфейсу.

Перед тем, как приобретать внутренний модем, необходимо проверить, поддерживается ли он в Linux. К сожалению, для встроенных модемов (обобщенно называемых Winmodems) требуются специализированные драйверы, которые не всегда поддерживаются в Linux. Информацию по этому вопросу можно найти на Web-узле http://www.linmodems.org. Внутренние модемы обычно конфигурируют так, что для пользовательских программ они будто бы подключаются через виртуальный последовательный порт. Подобное соглашение позволяет отделить логические функции модема от его аппаратной реализации. Стандартные программы работают с модемом, не располагая сведениями о его особенностях.

В связи с проблематичностью установки и настройки специализированных драйверов для Winmodems, рекомендуется в Linux использовать внешние COM/USB-модемы.

Файлы устройств

В Linux последовательные порты представляются в системе файлами устройств, которые расположен­ы в каталоге /dev. У большинства компьютеров имеется два встроенных последовательных порта: /dev/ttyS0 и /dev/ttySl. Дистрибутив MOPSLinux включает полный набор файлов устройств для дополнительных после­довательных портов, но до тех пор, пока в систему не будет добавлено соответствующее оборудование, эти файлы следует игнорировать.

По историческим причинам в Linux основным последовательным портам системы (/dev/ttyS0 и /dev/ttySl) соответствуют также файлы /dev/cua0 и /dev/cual. Раньше файлы cua* при­менялись для управления модемами, которые обрабатывали как входные, так и выходные звонки. Теперь все эти функции реализуются посредством файлов ttyS*, поэтому рабо­тать с файлами сua* не рекомендуется.

При подключении USB-модема используются файлы устройств /dev/ttyACM*, /dev/ttyUSB*.

При установке MOPSLinux в разделе "Конфигурирование модема" производится выбор файла устройства, соответствующего типу используемого модема. При этом создается системная ссылка /dev/modem на выбранный файл устройства.

Настройка параметров последовательного порта

Последовательным портам персональных компьютеров можно назначать различные адреса ввода-вывода и номера запросов на прерывание (IRQ). Параметры портов считываются из BIOS при включении питания компьютера. Менять их приходится, только если какое-нибудь устройство требует выделения ему ре­сурсов, обычно закрепленных за одним из последовательных портов. К сожалению, драйвер последовательных портов не всегда способен автоматически распознать подобные изменения конфигурации и в этом случае могут потребоваться дополнительные настройки.

Для изменения параметров последовательного порта можно воспользоваться командой setserial. При указании параметра -g она отображает текущие установки порта. Например,

# setserial -g /dev/ttyS0 /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

При определении параметров порта, нужно сначала указать файл устройства, а затем - последо­вательность названий параметров и их значений. Например, команда

# setserial /dev/ttySl port 0x02f6 irq 3

устанавливает адрес ввода-вывода и номер прерывания для порта ttySl. Важно уяснить, что эта команда ни в коей мере не меняет аппаратную конфигурацию системы. Она лишь сообщает конфигурационные параметры драйверу последовательных портов Linux. Фи­зические установки изменяются через BIOS.

Изменения, производимые командой setserial, не сохраняются при перезагрузке сис­темы и для того, чтобы сделать их постоянными, в MOPSLinux включены дополнительные конфигурационные файлы:

· /etc/serial.conf – содержит строки описаний параметров портов;

· /etc/rc.d/rc.serial – стартовый сценарий системы, использующий файл /etc/serial.conf для установки параметров портов.

Примерное содержание файла /etc/serial.conf:

# Описания стандартных портов COM1- COM4 /dev/ttyS0 uart 16450 port 0x3F8 irq 4 /dev/ttyS1 uart 16450 port 0x2F8 irq 3 /dev/ttyS2 uart 16450 port 0x3E8 irq 4 /dev/ttyS3 uart 16450 port 0x2E8 irq 3

где,

/dev/ttyS0 – файл устройства;

uart 16450 – тип микросхемы порта;

port 0x3F8 – адрес ввода-вывода;

irq 4 – номер прерывания.

Конфигурирование программного обеспечения

После подключения устройства к системному блоку компьютера необходимо оп­ределенным образом сконфигурировать программное обеспечение, чтобы устройство ра­ботало эффективно. Перечень конфигурационных задач, которые необходимо решать при подключении нового устройства, зависит от типа устройства и приложений, в кото­рых оно будет использоваться.

В состав дистрибутива MOPSLinux включены универсальные программы KPPP и minicom, которые обеспечивают эмуляцию терминала, поддерживают протоколы передачи данных, а также дополнительные возможности по настройке модема и соединения.

Порядок работы с этими программами описан далее в этом разделе.

Программа дозвона KPPP

Введение

KPPP– это программа дозвона и графический интерфейс для демона ppp, позволяющая интерактивно генерировать скрипты и настраивать сеть. Она автоматизирует процесс дозвона до вашего Интернет-провайдера, а также позволяет вам легко управлять всем процессом.

KPPP предоставляет в ваше распоряжение богатый набор статистических средств и ведет учет времени, проведенного вами в Интернете.

Встроенные терминал и генератор скриптов делают настройку соединения простой. Далее вам не понадобятся дополнительные терминальные программы (например, seyon и minicom) для настройки и проверки соединений.

В функции KPPP входит учет стоимости телефонных звонков, так что вы сможете сами вести учет своих расходов на пребывание в Интернете. Надеемся, что программа KPPP окажется для вас полезной.

Простое подключение

Если на вашем компьютере установлена свежая версия ОС Linux, вы можете счесть эту информацию ненужной. Программа KPPP включает в себя мастер настройки, который в большинстве случаев настроит работоспособное соединение с Интернетом за несколько минут.

Вне зависимости от того, используете вы мастер или нет, вам понадобится следующая информация перед тем, как вы начнете:

  1. Телефонный номер модемного пула вашего Интернет-провайдера;
  2. Имя пользователя и пароль, предоставленные вашим Интернет-провайдером;
  3. Адрес DNS-сервера вашего Интернет-провайдера (одного адреса достаточно, но предпочтительнее иметь два);

А также дополнительные сведения, которые дадут вам полный доступ к сервисам вашего Интернет-провайдера:

Вполне вероятно, что эти сведения будут предоставлены вам вашим Интернет-провайдером в письменном виде после подписания контракта, или же вы можете получить их, обратившись в службу технической поддержки вашего Интернет-провайдера.

Получив эти сведения и установив на свой компьютер свежую версию ОС Linux, вы можете легко настроить соединение с Интернет с помощью мастера подключения KPPP.

Мастер подключения KPPP

Вы можете запустить мастер подключения из начального экрана KPPP. Запустите KPPP из K-меню: программа находится в разделе Интернет под названием Подключение к Интернету.

Появится следующий диалог:

Скорее всего, начальный экран не содержит ни одной записи, и для начала нам придется создать хотя бы одну.

Нажмите кнопку Настройкадля создания нового соединения с Интернет.

Мастер подключения задаст вам вопрос о том, что вы хотите сделать.

Отмена- нажмите на эту кнопку, если вы действительно не хотите создавать соединение в данный момент. Окно сообщения будет убрано с экрана, останется только окно программы дозвона.

Мастер- если в вашем распоряжении находится современный модем и вы используете одного из крупнейших Интернет-провайдеров в вашей стране, то, скорее всего, мастер подключения тут же настроит ваше соединение. В любом случае, перед ручной настройкой попытайтесь использовать мастер подключения.

Ручная настройка- если вы не преуспели в создании соединения с помощью мастера подключения или же хотите настроить соединение сами, нажмите на эту кнопку. На данный момент использовать мастер подключения целесообразно людям в небольшом количестве стран (и для ограниченного числа Интернет-провайдеров).

В этом разделе мы рассмотрим подключение с использованием Мастера подключения, ручная же настройка будет описана позднее.

Мастер подключения: оставшиеся шаги

Начальный экран содержит вступительный текст, поясняющий те вещи, о которых вы прочли в самом начале руководства. Нажмите на кнопку Далее, чтобы продолжить.

На следующем экране вам будет предложено указать вашу страну. Не все страны перечислены в списке, и если ваша страна отсутствует, то нажмите на кнопку Отмена, – в этом случае будет запущена Диалоговая настройка.

На следующем экране будет показан список Интернет-провайдеров, известных KPPP для страны, выбранной вами этапом раньше. Если ваш Интернет-провайдер не указан в списке, нажмите на кнопку Отмена и настройте соединение в режиме Диалоговой настройки.

Вам будет предложено ввести ваши имя пользователя и пароль для соединения с Интернет. Обратите внимание, что у некоторых Интернет-провайдеров имя пользователя и пароль на доступ отличны от имени пользователя почтового ящика и его пароля – будьте внимательны! Нажмите на кнопку Далее, чтобы продолжить.

В следующем диалоге вы можете ввести префиксы дозвона (если таковые применяются), например, если вам необходимо набрать «0» для доступа на внешнюю линию, или если у вас есть префикс для отключения режима ожидания. Нажмите на кнопку Далее для продолжения.

Вот и все! Если вы хотите перепроверить введенные данные, то используйте кнопки Назад и Далее для перемещения по диалогам. По завершении проверки нажмите на кнопку Завершить для окончания настройки.

Конечно же, любая информация может быть изменена позднее, через диалог настройки KPPP.

Диалоговая настройка соединения

Диалоговая настройка соединения не намного сложнее настройки с применением мастера.

Диалоговая настройка запускается точно так же, как и мастер подключения. Запустите KPPP из K-меню: программа находится в разделе Интернет под названием Подключение к Интернету. Появится следующий диалог:

Скорее всего, начальный экран не содержит ни одной записи, и для начала нам придется создать хотя бы одну.

Нажмите кнопку Настройка для создания нового соединения с Интернет. На сей раз нажмите на кнопку Диалоговая настройка, и вы увидите следующий диалог:

Диалог Новое соединение содержит следующие разделы:

Как правило, вам не потребуется заполнение всех разделов целиком, тем не менее, каждый из разделов детально описан ниже.

Вкладка Дозвон

На вкладке Дозвон находятся следующие опции:

  1. Название соединения. Любому соединению должно быть дано название. Назовите его по своему усмотрению, но названия должны быть уникальными, если вы настраиваете более одного соединения.
  2. Номер телефона. Укажите номер телефона для дозвона. Вы можете использовать символы, такие как «-», для лучшей читаемости номера. Если вы укажете несколько номеров, разделенных двоеточием (например, 1111111:2222222:3333333), то KPPP при получении сигнала Занято начнет дозвон по следующему в последовательности номеру. Нажмите на кнопку Добавить для добавления номера, кнопку Удалить – для удаления номера из списка, а стрелки вверх и вниз используйте для изменения порядка дозвона.
  3. Протокол авторизации. Выберите соответствующий способ авторизации, который KPPP будет использовать при регистрации на сервере. За дополнительными сведениями обратитесь к вашему провайдеру. Использование PAP и CHAP описывается в разделе PAP и CHAP.
  4. Сохранить пароль. Отметьте этот флажок, если хотите, чтобы KPPP сохранил ваш пароль.
  5. Ручная настройка демона ррр. При нажатии на эту кнопку появится диалог настройки аргументов демона ppp. В этом диалоге вы можете указать желаемые опции, которые KPPP передаст демону ppp. На man-странице демона ppp вы найдете список доступных опций, однако вы должны иметь четкое представление о том, что делаете, в противном случае воздержитесь от манипулирования аргументами.

Вкладка IP-адрес

  1. Динамический IP-адрес. Отметьте этот флажок, если ваш Интернет-провайдер использует динамическую IP-адресацию. В этом случае при каждом соединении с провайдером вашему компьютеру будет присваиваться новый IP-адрес.
  1. Статический IP адрес. Отметьте этот флажок, если ваш Интернет-провайдер выделил вам статический IP-адрес. В этом случае пропишите этот адрес в поле IP-адрес и укажите Маску подсети, если таковая необходима. Проконсультируйтесь у вашего Интернет-провайдера, если не знаете точно. Подавляющее большинство Интернет-провайдеров используют динамическое присваивание адресов, и в большинстве случаев правильным будет использование динамического IP-адреса.
  1. Автоконфигурация имени хоста с этого IP-адреса. Отметьте эту опцию, если вы хотите, чтобы программа KPPP настроила домен и имя хоста для вашего компьютера после установления ppp-соединения. Автоконфигурация имени хоста происходит путем запроса сервера доменных имен об имени, присвоенном IP-адресу данного ppp-соединения.

Последняя опция необходима для одиночных компьютеров, которым необходимо использование таких протоколов, как talk, и для которых имя хоста должно совпадать с названием компьютера в Интернет. Эта опция изменяет значение опции Доменное имя в разделе DNS; установки принимают значения по умолчанию по прекращении ppp-соединения.

Эта опция НЕ нужна, если вам необходимо просто подключиться к Интернету, получить почту, войти в чат или же просмотреть содержимое WWW-страниц. Побочным эффектом использования этой опции является невозможность подключения к Х-серверу, иными словами, вы не сможете запустить ни одно приложение с графическим интерфейсом.

Отметьте в том случае, если это вам необходимо.

Вкладка Шлюз

  1. Шлюз по умолчанию. Отметьте для назначения демону ppp статуса шлюза по умолчанию. По умолчанию эта опция включена.
  2. Статический шлюз. Отметьте для назначения к использованию шлюза, отличного от заданного по умолчанию.
  3. Назначить шлюз маршрутом по умолчанию. В большинстве случаев оставьте без изменений (отмечено по умолчанию)

Вкладка DNS

Вкладка DNS в раделе Соединения

  1. Доменное имя. Укажите доменное имя вашего компьютера. Также как и в случае серверов DNS, оно вернется к начальному значению, указанному в файле /etc/resolv.conf, после разъединения. Если это поле не будет заполнено, доменное имя будет взято из файла /etc/resolv.conf
  1. Настройка. Выберите способ: Автоматически (Интернет-провайдер автоматически назначает адрес сервера DNS при соединении) и Вручную. Если вы выберете ручную настройку, становится доступным раздел IP-адрес сервера DNS.
  1. IP-адрес сервера DNS. Этот раздел доступен в том случае, если вы отметили опцию настройки Вручную. Добавьте сервера доменных имен, назначенные вашим Интернет-провайдером. Вам необходимо указать хотя бы один сервер доменных имен, чтобы ваша ОС могла переводить в IP-адреса имена доменов, к примеру, ftp.kde.org. Адреса серверов DNS должны быть заданы в численном виде, например, 128.231.231.233. Во время исполнения программы эти адреса будут добавлены в файл /etc/resolv.conf. Нажмите на кнопку Добавить для добавления адреса нового DNS-сервера к списку. Нажмите на кнопку Удалить для удаления из списка.
  1. Игнорировать заданные сервера DNS во время соединения. Если вы отметите эту опцию, то все сервера DNS, перечисленные в файле /etc/resolv.conf, будут проигнорированы в течение данного сеанса связи.

Вкладка Скрипт подключения

Этот диалог предназначен для создания скрипта дозвона для соединения с вашим Интернет-провайдером. Вы можете использовать мини-терминал и сведения, предоставленные вашим Интернет-провайдером, для создания необходимого скрипта.

Выберите опцию из раскрывающегося списка слева, а затем укажите параметры для выбранного действия в окне редактирования справа. Используйте кнопку Добавить для добавления записи в конец скрипта, который отображается в нижней части диалога. Используйте кнопку Вставить для вставки записи в любое место скрипта, а также кнопку Удалить для удаления строки из скрипта.

Доступные опции:

  1. Ожидать. KPPP будет ожидать получения заданной строки.
  2. Отправить. KPPP отправит заданную строку.
  3. Сканировать. KPPP будет сканировать входящий поток данных на предмет наличия заданной строки и сохранит все символы, начиная от конца строки и до начала новой, во внутреннем буфере. Символы Пробел как в начале строки, так и в конце, будут игнорированы.
  4. Сохранить. Постоянно хранить заранее просканированную строку в заданном регистре. На данный момент единственным доступным является регистр password.
  5. Приостановить. Приостановить на заданное число секунд.
  6. Повесить трубку. KPPP отдаст модему команду повесить трубку.
  7. Ответ. KPPP установит модем в режим ответа.
  8. Timeout. Изменить таймаут по умолчанию на заданное число секунд при выполнении скрипта. При необходимости можно изменять таймаут в скрипте несколько раз.
  9. Prompt. Запросить у пользователя KPPP ввод строки в ответ на заданную строку-подсказку. Набранные символы будут видны пользователю. Если в заданной строке содержится метка ##, то она будет заменена на содержимое внутреннего буфера сканирования, то есть на значение, сохраненное командой scan.
  10. PWPrompt. Запросить у пользователя KPPP ввод строки в ответ на заданную строку-подсказку. Каждый введенный пользователем символ будет отображен символом Звездочка.
  11. Имя пользователя. Если поле Имя пользователя на главном экране KPPP заполнено, это означает, что нужно отправить имя пользователя. Если поле Имя пользователя не заполнено, нужно запросить пользователя KPPP ввести имя пользователя в ответ на заданную строку-подсказку. Набранные символы будут отображены. На следующем шаге, например, в цикле повторения или же при авторизации в режиме обратного звонка, запрос будет выводиться вне зависимости от заполнения поля Имя пользователя.
  12. Пароль. Если поле Пароль на главном экране KPPP заполнено, это означает, что нужно отправить пароль. Если поле Пароль не заполнено, нужно запросить пользователя KPPP ввести пароль в ответ на заданную строку-подсказку. Каждый набранный символ будет отображен символом Звездочка. На следующем шаге, например, в цикле повторения или же при авторизации в режиме обратного звонка, запрос будет выводиться вне зависимости от заполнения поля Пароль.
  13. Начало цикла. KPPP будет ожидать получения заданной строки и сохранит ее для использования переменной Конец цикла.
  14. Конец цикла. KPPP будет ожидать получения заданной строки для выхода из цикла. Если сперва будет получена строка, заданная как Начало цикла, это вызовет переход к строке после Начала цикла и повторение парного диалога имя_пользователя/пароль.

Примеры скриптов

Пример 1. Пример простого скрипта подключения.

Ниже приведен пример простого скрипта, который можно использовать для подключения к Интернет-провайдеру.

Expect ID: # ожидать имя пользователя Send myid # замените myid на ваше имя пользователя Expect word: # ожидать пароль Send 4u3fjkl # отправить пароль '4u3fjkl' Expect granted # провайдер при успешной регистрации сообщает 'Permission granted' Send ppp # эта команда запускает ppp-соединение # на удаленном компьютере Интернет-провайдера

Пример 2. Скрипт подключения, запрашивающий имя пользователя и пароль, а затем зацикливающийся.

Ниже приведен пример скрипта с запросом имени пользователя и пароля. Этот скрипт каждый раз запрашивает имя пользователя и пароль, вне зависимости от заполнения полей Имя пользователя и пароль на главном экране KPPP.

Этот скрипт также поясняет применение структуры Начало цикла/Конец цикла. Если при процедуре регистрации происходит сбой (например, при наборе пароля допущена ошибка), Интернет-провайдер выдаст сообщение об ошибке и повторно начнет цикл имя_пользователя/пароль, отправив строку ID:. Если строка ID: будет получена до обработки параметра Конец цикла, KPPP начнет выполнение скрипта со строки с параметром Начало цикла.

LoopStart ID: # ожидать имя пользователя Prompt Enter ID: # запрос на ввод имени пользователя с последующей отправкой Expect word: # ожидать пароль PWPrompt Enter Password: # запрос на ввод пароля с последующей отправкой LoopEnd granted # провайдер при успешной регистрации сообщает 'Permission granted' Send ppp # запуск ppp-соединения на удаленном компьютере

Пример 3. Запрашивает сведения, не указанные в основном диалоге.

Можно использовать данный скрипт для подключения к своему Интернет-провайдеру. Скрипт запрашивает имя пользователя и пароль только в том случае, если не заполнены соответствующие графы в главном диалоге KPPP.

LoopStart ID: # ожидать имя пользователя ID Enter ID: # запрос на ввод имени пользователя с последующей отправкой Expect word: # ожидать пароль Password Enter Password # запрос на ввод пароля с последующей отправкой LoopEnd granted # провайдер при успешной регистрации сообщает 'Permission granted' Send ppp # эта команда запускает ppp-соединение на # удаленном компьютере Интернет- провайдера

Пример 4. Скрипт для соединения с Интернет-провайдером, использующим авторизацию с ответами на запросы.

Ниже приведен скрипт, который можно использовать для подключения к Интернет-провайдеру, который требует авторизации с ответами на запросы. Обычно у вас есть устройство типа смарт-карты с дисплеем и калькулятором, предоставленное вам вашим провайдером. Чтобы использовать его, вам необходимо знать пароль. Дозвонившись до провайдера, вы увидите запрос, который нужно будет ввести в устройство и получить динамический пароль на вход. Его вам и надо будет ввести.

LoopStart ID: # ожидать имя пользователя ID Enter ID: # запрос на ввод имени пользователя с последующей отправкой Scan Challenge: # сканировать поток до значения 'Challenge' и сохранить все последующие #данные до начала новой строки

Expect Password: # ожидать пароль Prompt Your token is ## - Enter Password # запрос на ввод пароля с последующей отправкой LoopEnd granted # провайдер при успешной регистрации сообщает 'Permission granted' Send ppp # Эта команда запускает ppp-соединение на # удаленном компьютере Интернет- провайдера

Пример 5. Использование опций сканирования и сохранения в скриптах

Здесь приводится пример подключения к несуществующему Интернет-провайдеру, который изменяет пароль при каждом новом соединении. Новый пароль должен быть проверен и сохранен для использования при следующем соединении.

University of Lummerland Login:mylogin Password: The password for your next session is: YLeLfkZb # пароль для следующего сеанса связи Please record and enter it for verification. # пожалуйста запишите его и введите для проверки Verification:YLeLfkZb 1 = telnet 2 = SLIP 3 = PPP Your choice: # ваш выбор

KPPP выполнит всю эту работу вместо вас, при этом устранит риск потери клочка бумаги, на котором записан ваш пароль. Ключевым моментом следующего скрипта является использование комбинации опций Сканировать/Сохранить (Scan/Save).

7 Expect Login: # ожидать запрос на подключение ID # отправить имя пользователя Expect Password: # ожидать запрос на пароль Password # отправить пароль Scan is: # ожидать значения '... next session is:' и сканировать значение пароля Save password # сохранить новый пароль для следующего подключения Expect Verification: # ожидать значения 'Verification:' Password # отправить новый пароль Expect choice: # ожидать запрос на выбор типа соединения (telnet, SLIP, PPP) Send 3 # выбрать опцию 3, т. е. PPP

Вкладка Выполнить

Kppp run.gif

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

Убедитесь в правильности задания полного пути к программе, иначе KPPP не сможет ее найти.

Вы можете добавить команды, которые могут быть выполнены в четыре заданных моментах времени в процессе соединения:

  1. Перед установлением соединения. Выполнить эту команду перед дозвоном; к моменту соединения с вашим Интернет-провайдером команда уже будет выполняться.
  2. При установлении соединения. Выполнить команду только при установлении соединения.
  3. Перед разъединением. Выполнить команду перед разъединением.
  4. После разъединения. Выполнить команду после разъединения.

К примеру, вам может понадобиться выполнить программу leafnode как только соединение будет установлено, или же вам необходимо проверить почту. Вы можете проверить, вся ли почта из очереди была отправлена перед разъединением. Вам может понадобиться скрипт ?очистки? логов и кэша после разъединения.

Вкладка Учет

Отметьте опцию Включить учетдля включения или же отключения возможности учета стоимости телефонных звонков для этого соединения.

Выберите из списка правило, соответствующее вашему провайдеру телекоммуникационных услуг.

Если вы не нашли ни одного подходящего, то можно написать свое правило на основе шаблона, который приведен в приложении.

Последней опцией в этом разделе является Учет трафика, описанный ниже.

Учет трафика

- Что такое учет трафика?

Учет трафика состоит в подсчете количества переданных и полученных байт. KPPP может вести учет как переданных, так и полученных байт, или же обоих вместе. Выбор учета зависит от вас.

- Для чего я должен использовать учет трафика?

Многие Интернет-провайдеры выставляют счет за свои услуги на основе количества использованного трафика. Причем, чаще всего, Интернет-провайдеры предлагают фиксированную оплату до определенного значения трафика, каждый же последующий мегабайт должен быть оплачен. KPPP отображает текущее состояние трафика и поможет вам минимизировать счета за услуги. И, конечно же, если счет за услуги не зависит от трафика, вы можете использовать его для удовлетворения собственного любопытства.

- Какой тип учета трафика я должен выбрать?

Это зависит от вашего провайдера. Большинство провайдеров ведут учет полученных из Интернета данных и игнорируют исходящий трафик. В таком случае вы должны использовать Входящий трафик. Если вы оплачиваете весь трафик, выберите Входящий и исходящий трафик. Исходящий трафик приведен в программе для полноты, так как провайдер с таким типом учета пока не известен. Эта опция может оказаться полезной, если вы используете WWW- или FTP-сервер дома.

Недостатки

К сожалению, учет трафика имеет и свои недостатки. KPPP считает только количество трафика, вне зависимости от его происхождения. Многие провайдеры устанавливают ограничения только на доступ в Интернет, а не для трафика в их собственной сети. У некоторых провайдеров существуют различные ограничения на трафик в собственной сети, трафик по стране и весь остальной трафик. Если вы мало путешествуете по сети, по большей части используя страницы из кэша прокси-сервера вашего Интернет-провайдера, то, скорее всего, ваш провайдер не выставляет счет за это. KPPP не определяет принадлежность IP-пакетов к прокси-серверу, поэтому они будут учтены. Если эта ситуация похожа на вашу или, например, если ваш провайдер использует кэширование сервера новостей nntpcached, то учтенный в KPPP трафик может оказаться больше реального объема, подлежащего оплате. С другой стороны, KPPP никогда не преуменьшит ваши счета.

Общие настройки KPPP

Вкладка Соединения

Этот диалог предназначен для управления соединениями. Названия соединений приводятся в виде списка слева от диалога.

Для удаления соединения нажмите на кнопку Удалить. Перед окончательным удалением у вас будет запрошено подтверждение.

Вы можете создать копию соединения, нажав на кнопку Копировать. К примеру, это можно использовать для разделения доступа среди членов семьи, хотя, как правило, в таком случае лучше предоставить раздельный доступ к ОС каждому. Или же, у вас может быть несколько соединений с одним и тем же Интернет-провайдером, и вы используете их все.

Нажатие на кнопку Редактироватьприведет к появлению диалога, описанного в разделе Диалоговая настройка, со сведениями для выбранного соединения.

Нажав на кнопку Новое соединение, вы сможете выбрать метод настройки: Мастер подключения или же Диалоговая настройка. Оба метода были описаны ранее.

Если вы выберете соединение, для которого включен Учет, в таком случае накопленные об этом соединении сведения появятся в двух панелях соответственно: Телефонные расходы: и Трафик:.

Слева от табло учета расположены две кнопки: Сброси Просмотр логов.

Нажатие на кнопку Сброс вызовет сброс данных о Телефонных расходах: и Трафике до значения 0. Как правило, это может понадобиться раз в месяц или в квартал, когда вы получите счет за телефон и оплатите расходы. Каждый из параметров может быть обнулен независимо от другого, вам будет предложено сделать выбор при нажатии на кнопку Сброс.

При нажатии на кнопку Просмотр журналаоткроется новое окно, с записями всех звонков, сделанных из KPPP. Если вы сохраняли все записи, вы можете просматривать их помесячно. Это может оказаться полезным, если вы получили неправдоподобно большой счет за телефон и проводите расследование.

Вкладка Устройство

В этом разделе вы можете выбрать и настроить ваш модем.

1) Укажите имя модема

2) Выберите соответствующее устройство.

/dev/ttys0

В ОС DOS или Windows? это устройство соответствует COM1, COM2 – /dev/ttys1, и так далее. Обычно именно эти устройства используются в ОС Linux?.

/dev/cua0

Первый последовательный порт (COM1). COM2 обычно называется /dev/cua1 и так далее. Эти устройства обычно применяются в BSD-системах: FreeBSD, NetBSD и OpenBSD. Старые Linux?-системы также могут использовать их, с некоторых пор в ОС Linux? они переименованы в /dev/ttySx.

/dev/ttyI0

В ОС Linux? так называются внутренние ISDN-платы. Эти устройства эмулируют Hayes-совместимые модемы. /dev/ttyI0 – первая плата, /dev/ttyI1 – вторая ISDN-плата и так далее. Эти устройства доступны только в ОС Linux?.

/dev/modem

Большинство дистрибутивов ОС Linux? создают символическую ссылку на реальное модемное устройство: /dev/modem. Избегайте использования ссылки. Используйте реальное устройство.

3)Управление потоком

Выберите аппаратное (CRTSCTS) или программное (XON/XOFF) управление потоком, или же отключите его. Рекомендуется использовать аппаратное управление потоком.

4) Окончание строки

Выберите соответствующий символ ?Enter? для вашего модема. Большинство модемов используют символы ?CR/LF?, тогда как для некоторых модемов может понадобиться другая строка. Если при выполнении скрипта возникают проблемы, попробуйте изменить этот параметр.

5) Скорость соединения

Выберите из списка скорость соединения, соответствующую вашему последовательному порту. Обратите внимание на то, что последовательный порт поддерживает куда большую скорость, нежели модем. Возможно, имеет смысл начать с выбора максимальной скорости и уменьшать ее в случае возникновения проблем при попытке соединения.

6) Использовать файл блокировки модема

Используйте эту опцию, если хотите, чтобы KPPP создал файл блокировки. В Linux? каталог для таких файлов – /var/lock. Поведение программ, таких как mgetty, зависит от существования файлов блокировки, поэтому KPPP не может работать совместно с mgetty, если опция файла блокировки выключена. Убедитесь, что вы не используете опцию lock для демона pppd, если хотите, чтобы KPPP заблокировала модем, так как опция lock указывает демону pppd попытаться заблокировать модем. Так как KPPP уже заблокирует устройство, демон pppd вернет ошибку, а KPPP выдаст сообщение об ошибке: демон ppp внезапно прекратил работу.

7) Таймаут модема

Показывает, сколько секунд KPPP будет ожидать от модема ответа CONNECT. Значение таймаута, равное 30 секундам, является наиболее универсальным.

Вкладка Модем

1) Ожидание при состоянии Занято

Время после получения сигнала Занято, через которое модем будет пытаться соединиться повторно. Примите во внимание ограничения вашего провайдера телекоммуникационных услуг на значение этого параметра.

2) Громкость динамика модема

Используйте ползунок для установки громкости динамика модема. По мере смещения вправо громкость увеличивается. Для некоторых модемов низший уровень громкости соответствует выключению звука, а для других средний и высший уровень – одно и то же.

3) Команды модема

В этом диалоге вы можете задать соответствующие вашему модему команды. Если у вас Hayes-совместимый модем, скорее всего, вам не понадобится менять заданные по умолчанию значения, тем не менее, прочитайте главу Команды для Hayes-совместимых модемов в этом файле. Приведенные там сведения могут оказаться очень полезными при отладке проблем с настройкой стабильного соединения с вашим Интернет-провайдером. В частности, параметры Задержка до инициализации и Задержка после инициализации помогут решить проблемы с подвисанием модема. Эти параметры указывают KPPP сделать паузу перед отправкой строки инициализации модему и после нее. Параметр Задержка до инициализации также отправляет по умолчанию символ возврата каретки (CR), если вы не установили интервал задержки в значение 0.

4) Опрос модема

При нажатии на эту кнопку KPPP пошлет модему запрос на идентификацию. При успешной обработке запроса результат будет отображен в диалоге. В зависимости от модели модема опрос может содержать ценные сведения.

5) Терминал

Нажатие на кнопку Терминал вызывает окно мини-терминала. Вы можете использовать мини-терминал для тестирования модема и экспериментирования с протоколами установки ppp-соединения с вашим Интернет-провайдером. Вам не понадобятся такие терминальные программы как minicom или Seyon.

Вкладка График

Здесь вы можете установить цвета, которые KPPP использует для графиков. Вы можете установить разные цвета для Фона, Текста, Входящих байт и Исходящих байт.

Вкладка Разное

Приведенные здесь опции не относятся к входящим в этот раздел, тем не менее, они могут оказаться весьма полезными.

1) Версия демона ррр

Номер версии демона ppp в вашей системе

2) Таймаут демона

KPPP будет ожидать заданное количество времени после выполнения скрипта и запуска демона ppp до установки демоном ppp ppp-соединения; если таковое не было установлено, процесс демона ppp будет прекращен.

3) Встроить в панель при установлении соединения

Если эта опция выбрана, KPPP будет встроен в панель и отображен маленькой иконкой. Щелчок левой кнопкой мыши по иконке восстановит окно KPPP. Щелчок правой кнопкой мыши вызовет всплывающее меню со следующим выбором: восстановить окно, показать статистику или разъединиться. Эта опция отменяет опцию Свернуть окно при соединении.

4) Автодозвон при разъединении

Если эта опция выбрана, то в случае разъединения KPPP постарается соединиться заново.

5) Показывать время в строке заголовка

KPPP будет отображать время длительности соединения в строке заголовка окна KPPP в течение всего сеанса связи.

6) Разъединиться при остановке X-сервера

Выбор этой опции указывает KPPP по порядку завершить ppp-соединение, разъединить модем и завершить учет при останове X-сервера. Это может оказаться полезным, если вы забудете о том, что находитесь в Интернете, когда остановите процесс X-сервера или если не хотите завершать сеанс связи вручную. Если вы не хотите, чтобы KPPP указывал модему повесить трубку при остановке X-сервера, оставьте эту опцию неотмеченной. Если у вас включен режим учета и вы не включили эту опцию, в таком случае ведение учета продолжается с момента останова X-сервера до завершения работы KPPP.

7) Выход при разъединении

Указывает, будет ли KPPP завершать работу при разъединении с провайдером.

8) Свернуть окно при соединении

Если эта опция отмечена, при установлении соединения окно KPPP будет свернуто. Время соединения будет отображено в панели задач.

Вкладка О программе

Вкладка О программесодержит информацию о версии, лицензии и авторе программы KPPP.

KPPP и безопасность

В основном этот раздел предназначен для суперпользователей (root), людей с высокими потребностями в безопасности и тех, кто просто интересуется безопасностью. Нет необходимости в прочтении этого материала тем, кто использует Linux? дома, тем не менее, кое-какие знания можно почерпнуть и отсюда.

Запрет доступа к KPPP

Системный администратор может ограничить доступ на использование KPPP. Существует два способа для достижения этого.

1) Разрешение доступа на уровне привилегий группы

Создайте новую группу (назовите её, к примеру, dialout или как-нибудь в этом роде) и добавляйте в неё тех пользователей, кому разрешено использовать KPPP. Затем наберите в командной строке:

  1. chown root.dialout /opt/kde/bin/kppp
  1. chmod 4750 /opt/kde/bin/kppp

Здесь подразумевается, что KDE установлена в каталог /opt/kde/ и что новая группа называется dialout.

2) Запрет доступа с непосредственным использованием KPPP

С самого начала KPPP проверяет, существует ли файл /etc/kppp.allow. Если такой файл существует, только перечисленные в нем пользователи могут использовать программу. Этот файл должен быть открыт для всех на чтение (но, конечно, НЕ на запись.) Распознаваемыми являются только имена пользователей, вы не можете использовать UID в этом файле. Короткий пример:

# /etc/kppp.allow # строки комментариев игнорируются, # как и пустые строки fred karl daisy

В приведённом примере только пользователи fred, karl и daisy могут использовать программу, а также пользователи с UID 0 (нет необходимости добавлять суперпользователя в этот файл).

У KPPP присутствует SUID-бит. А безопасность?

Представляется невозможным написать программу дозвона без использования SUID-бита, безопасную и простую в использовании неопытными пользователями. В плане безопасности KPPP использует следующую стратегию.

Процессы программы KPPP разветвляются в самом начале выполнения программы. Основной процесс, ответственный за операции с GUI (например, взаимодействие с пользователем), теряет бит SUID после разветвления и выполняется с привилегиями обычного пользователя. Порождённый процесс сохраняет привилегии и отвечает за все действия, которым нужны привилегии суперпользователя. Для обеспечения безопасности этой части в ней не используются вызовы библиотек KDE и Qt?, а только вызовы обычных библиотек. Исходный код этого процесса короток (около 500 строк) и хорошо документирован, его легко проверить на наличие дыр в безопасности.

Головной и порождённый процессы взаимодействуют согласно стандартному IPC (взаимодействие процессов) ОС UNIX?.

PAP и CHAP

Начиная с номера версии 0.9.1, KPPP поддерживает наиболее распространенную форму авторизации - PAP.

PAP в KPPP

Существуют два различных способа использования PAP.

1) Авторизация клиента

Этот способ используется многими коммерческими Интернет-провайдерами. Это означает, что вы (ваш компьютер) должен представиться PPP-серверу Интернет-провайдера. PPP-сервер не должен представляться вашему компьютеру. К вопросам безопасности это не относится, так как вы должны знать, куда происходит подключение.

Если ваш Интернет-провайдер, назначая вам имя пользователя и пароль, просит вас использовать PAP-авторизацию, вы должны использовать именно этот способ.

2) Двусторонняя авторизация

Аналогичен выше приведенному, но в этом случае ваш компьютер запрашивает PPP-сервер Интернет-провайдера представиться. Для осуществления соединения вы должны выбрать метод авторизации На основе скрипта, а не PAP, а также вручную отредактировать файл /etc/ppp/pap-secrets. Несмотря на то, что у KPPP нет встроенной поддержки этого способа, установить соединение легко.

Подготовка KPPP для использования PAP

- Убедитесь, что файл /etc/ppp/options (и ~/.ppprc, если таковой существует) НЕ содержит ни одного из ниже перечисленных аргументов:

+pap -pap papcrypt +chap -chap +ua remotename

Маловероятно, что какая-нибудь из приведенных опций будет включена, но на всякий случай проверьте.

Если каждый раз при соединении вы не хотите набирать пароль заново, то выберите Сохранить пароль. Этим вы сохраните пароль в файле, поэтому убедитесь, что никто кроме вас не использует ваш доступ в систему.

Вот и все. Закройте все диалоги, наберите имя пользователя и пароль, назначенные вам Интернет-провайдером, и нажмите кнопку Соединиться.

Существует альтернативный метод использования PAP и CHAP в программе KPPP.

Поясним работу KPPP с обычным PAP или CHAP соединениями. Если ваш Интернет-провайдер присвоил вам имя пользователя и пароль для соединения, то можете пропустить этот раздел и использовать инструкции, приведенные выше.

На первый взгляд PAP кажется сложнее, чем на самом деле. Сервер (компьютер, к которому происходит подключение) указывает клиенту (вашему компьютеру) идентифицировать себя с использованием PAP. Клиент (демон ppp) ищет в специальном файле запись с указанием соответствующего имени сервера и имени клиента для этого соединения, а затем отправляет найденный там же пароль. Вот и все!

Как же это осуществить? Предположительно, у вас установлен демон ppp версии 2.2.x или выше; установка стандартная, файлы конфигурации находятся в каталоге /etc/ppp.

К примеру, вы пользуетесь услугами Интернет-провайдера glob.net, ваше имя пользователя userbaz, а ваш пароль – foobar.

Для начала вам необходимо добавить нижеследующее к файлу /etc/ppp/pap-secrets. Формат записи таков:

USERNAME (имя пользователя) SERVERNAME (имя сервера) PASSWORD (пароль)

Добавьте следующую строку к файлу /etc/ppp/pap-secrets и сохраните файл :

userbaz glob foobar

Замечание

Вы можете указать любое имя сервера, так как вы используете то же самое имя в аргументах демона ppp, как вы вскоре увидите. В примере мы указали сокращенное имя glob, которое используется для определения правильного пароля.

Далее вам нужно настроить соединение в KPPP. Это делается точно так же, как и любое другое соединение, поэтому вдаваться в детали мы не будем, разве что оговорим, что файл /etc/ppp/options пуст и вам не нужно создавать скрипт подключения.

В диалоге настройки KPPP, внизу на вкладке Дозвон есть кнопка аргументы демона ррр. Нажатие вызовет диалог редактирования. Вы можете указать значения, которые будут отправлены демону ppp в виде аргументов командной строки, а в случае аргументов множественных значений каждое значение должно быть указано отдельно от других, в необходимом порядке.

Сперва задайте аргументы, которые вы используете. Затем добавьте аргументы, которые демон ppp использует для осуществления PAP-авторизации. В этом примере мы добавим user, userbaz, remotename и glob по порядку. Опция user указывает демону ppp, какое имя пользователя из файла pap-secrets следует отправить серверу. Имя удаленного компьютера задается демону ppp для соответствия с записью в файле pap-secrets, таким образом, вы можете задать любое значение с условием его совпадения с записью в файле pap-secrets.

Вот и все, теперь вы настроили соединение с сервером, использующим PAP-авторизацию. CHAP-авторизация не сильно отличаеся. В Linux? Network Administrators Guide вы найдете описания формата файла chap-secrets и используемых аргументов демона ppp, а все остальное окажется простым.

Настройка KPPP на режим обратного звонка

В этом разделе рассказывается об обратном звонке в ОС UNIX? (Linux?) и о том, как KPPP должна быть настроена для соединения с сервером обратного звонка под управлением ОС UNIX?, особое внимание уделяется ОС Linux? и ее серверу обратного звонка на основе скриптов.

Что такое Обратный звонок

Для использования Обратного звонка есть несколько причин. Вот некоторые из них:

  1. увеличение безопасности вашей локальной сети;
  2. сокращение расходов ваших сотрудников, звонящих извне;
  3. контроль стоимости телефонных звонков, по статье организационных расходов.

Представьте себе, что некто дозвонился на ваш сервер входящих звонков и взломал пароль доступа. Зачем же, в таком случае, конфигурировать брандмауэр для вашей сети, если можно таким простым способом получить к ней доступ?

Программное обеспечение обратного звонка запрашивает ваше имя, а затем разъединяется. Далее производится звонок по вашему номеру, который хранится в базе данных на сервере. Клиент поднимает трубку и продолжается процедура установления соединения, если не возникло сбоев. Сервер запрашивает ваше имя пользователя и пароль, зная, что звонили вы (согласно вашему звонку), или же зная, откуда вы звонили. Устанавливается соединение и запускается демон ppp.

Вопрос: как указать клиенту поднять трубку, когда сервер перезванивает ему. Нужна ли специальная программа типа mgetty? Ответ: нет, вам не понадобится специальная программа. В общем, любой клиент может быть использован при соединении с обратным звонком, вы можете использовать даже обыкновенную терминальную программу: minicom, например.

Вам только надо отдать модему команду Ответить автоматически на телефонный звонок при поступлении сигнала RING. Для этого задайте модему следующую команду:

AT&SO=1

Эта команда указывает модему поднять трубку после одного звонка (RING).

Подобно большинству других программ-клиентов, KPPP проверяет, не прекращено ли соединение сервером, а затем закрывает текущую сессию, если определен сигнал NO CARRIER. Это является настоящей проблемой при настройке обратного звонка. Сигнал NO CARRIER, конечно, будет получен в момент прекращения соединения сервером обратного звонка. Некоторые серверы используют специальные программы регистрации. Так как решить эту проблему? Укажите модему всегда показывать CARRIER UP (это не вызовет проблем при указании клиенту повесить трубку). Вы можете осуществить это следующей командой модему:

AT&C0

Если вам хочется проверить, как все это работает, используйте обыкновенную терминальную программу, например, minicom, позвоните на ваш сервер обратного звонка и посмотрите, что произойдет.

Настройка KPPP

Теперь, когда вы увидели применение теории на практике, как настроить KPPP для осуществления соединения?

Как показано, процедура весьма несложная.

Сперва укажите модему принимать входящие соединения, а не прерывать сессию установки соединения при разъединении с сервером обратного звонка при первом звонке. Обе эти опции можно добавить на вкладке Модем в настройках KPPP, добавив в опцию Строка дозвонаследующее: AT&C0S0=1DT.

Более никаких изменений в KPPP не потребуется. Если у вас возникнут проблемы с инициализацией и сбросом установок модема, обратитесь к разделу Устранение неисправностей для получения более детальных сведений.

Не забудьте о сервере. Помните, что ОС UNIX, Windows и Macintosh по-разному обрабатывают концы строк в текстовых файлах и, таким образом, и в процедурах регистрации. Если вы подключаетесь к серверу под управлением ОС Windows, используйте CR/LF, для сервера под управлением ОС UNIX используйте CR, а при подключении к серверу Macintosh используйте LF.

Следующие инструкции применимы к случаю дозвона на сервер обратного звонка под управлением ОС Linux? с использованием обычной авторизации (не PAP или ей подобной).

Установите стиль Авторизация во вкладке Дозвон в конфигурации соединения в положение На основе скрипта.

Сейчас вам надо создать скрипт регистрации. Редактирование этого скрипта является одной из наиболее приятных функций программы KPPP. Эта опция доступна на вкладке Скрипт подключения в диалоге Редактирование соединения.

В этом примере пользователь userxyz должен вызвать следующий скрипт. Серверу обратного звонка уже задана таблица имен и соответствующие телефонные номера, в целях безопасности создать псевдоним для соответствующего вам номера телефона.

Для каждой строки выберите критерий из раскрывающегося списка в левой стороне диалога и введите действие в поле справа. Нажмите на кнопку Добавить для добавления строки в скрипт. Кнопкой Вставить добавляйте строки в середину скрипта, а кнопкой Удалить удаляйте строку, если в ней допущена ошибка.

Полностью скрипт будет выглядеть примерно так (без комментариев, начинающихся здесь с символа #)

Expect login: # помните, что это обыкновенный теминальный логин ID "" # kppp отправляет имя пользователя, установленное в главном экране Expect for userxyz: # отображается список доступных номеров, пользователь должен выбрать Send userxyz-home # пользователь хочет, чтобы ему перезвонили по домашнему номеру Expect login: # выполняется процесс обратного дозвона, новое соединение и новый логин ID Expect password: # отправить пароль Expect > # ожидать приглашения (оно может отличаться) Send start_ppp # эта команда запускает демон ppp

После появления запроса на вход пользователь отправляет свое имя пользователя и ожидает появления списка доступных этому пользователю телефонных номеров. Затем он указывает серверу, по какому из предложенных номеров нужно произвести звонок. Для этого KPPP может создать диалог, если вы часто переезжаете, к примеру, если вы являетесь агентом по продажам и переезжаете из гостиницы в гостиницу. Теперь сервер ожидает имя пользователя и пароль для авторизации, тем временем, сервер прерывает соединение и перезванивает пользователю. Данные для авторизации отправлены, KPPP ожидает приглашения системы и запускает небольшой скрипт (здесь start_ppp), который запускает демон ppp на сервере.

Скрипт start_ppp выглядит примерно так, как показано ниже:

#!/bin/sh stty -echo exec /usr/sbin/pppd -detach silent modem

Все остальные настройки, такие как настройка демона ppp или настройки IP-протокола, будут работать нормально, и для дозвона вам не понадобятся другие программы.

Замечание

Обратный звонок в KPPP и другие программы типа mgetty или же faxgetty могут выполняться на одном последовательном порте. Проблем с дозвоном быть не должно, так как KPPP создает файл блокировки и указывает программе getty, что другое приложение (в этом случае KPPP) использует порт.

Устранение неисправностей

Известные проблемы с программой KPPP, работающей в режиме обратного звонка:

  1. Так как вы инициализируете модем для ответов на звонок, после разъединения нужно сбросить установки модема в начальное состояние. Иначе модем продолжит отвечать на звонки, что не так уж и хорошо, если рассмотренная телефонная линия является основной для вас.
  2. У KPPP есть мелкие недостатки, когда она использует одну линию наряду с другой программой, такой как mgetty. Если mgetty в процессе выполнения использует ту же линию, то KPPP не может правильно инициализировать модем.
  3. KPPP не в состоянии запросить некоторый тип ввода во время регистрации на основе скрипта. К сожалению, при использовании примера скрипта, приведенного выше, KPPP также запрашивает имя пользователя второй раз, при запросе сервера обратного звонка. От этого можно избавиться, если прописать ваше имя пользователя в скрипт регистрации.