Рейтинг@Mail.ru

Наши друзья и партнеры

UnixForum
Альтернативная энергия




Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Глава 14. Интернет и электронная почта

Предыдущий раздел Оглавление Следующий раздел

14.3. Программа kppp

kppp — одна из очень удобных утилит KDE позволяющая легко установить подключение к Интернету и легко его модифицировать. Она включает функции настройки PPP-интерфейса, обеспечивает "дозвон" по телефонной линии и совместно с демоном pppd (Point-to-Point Protocol daemon) устанавливает и поддерживает соединение с сервером провайдера.

Чтобы запустить kppp, можно воспользоваться командой меню Главное Меню KDE/Интернет/Kppp. Если вы хотите запускать программу kppp от имени обычного пользователя, надо установить suid-бит на исполняемый файл /usr/bin/kppp. В противном случае при запуске пользователем этой программы будет появляться сообщение, изображенное на рис 14.1.

Самоучитель Linux для пользователя, рис.14-01

Рис. 14.1. Сообщение о невозможности запуска kppp

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

Самоучитель Linux для пользователя, рис.14-02

Рис. 14.2. Главное окно программы kppp

14.3.1 Конфигурирование kppp

Чтобы начать конфигурирование, нажмите кнопку Настройка. Откроется диалоговое окно конфигурации kppp (рис. 14.3).

Самоучитель Linux для пользователя, рис.14-03

Рис. 14.3. Окно настройки kppp

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

Самоучитель Linux для пользователя, рис.14-04

Рис. 14.4. Выбор варианта создания нового соединения

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

Самоучитель Linux для пользователя, рис.14-05

Рис. 14.5. Диалоги, представляемые в варианте "Мастер настройки"

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

Самоучитель Linux для пользователя, рис.14-06

Рис. 14.6. Вкладка Дозвон

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

  • Имя соединения — название, которое вы хотите дать учетной записи (например, название вашего провайдера). Имя нужно только потому, что вы можете иметь возможность выхода в Интернет через разных провайдеров и тогда имя необходимо для выбора варианта соединения;
  • Номер телефона — номер телефона (или телефонов), по которому вы будете выходить на модемный пул провайдера. Для добавления номера в список надо сначала щелкнуть по клавише Добавить. В номерах телефонов можно использовать дефисы (для облегчения чтения номеров). Если несколько номеров перечислены один за другим через двоеточие (1111111:2222222:3333333), kppp будет набирать эти номера один за другим, если получит в ответ сигнал занятости. Кнопка Удалить используется для удаления из списка подсвеченного номера, а кнопки со стрелками применяются для изменения порядка номеров в списке.
  • Авторизация — в этом раскрывающемся списке вы можете выбрать один из следующих способов аутентификации: Сценарии, PAP, Терминал или CHAP. Это методы проверки Вашего имени пользователя и пароля. Вам, возможно, придется выяснить у вашего провайдера, какой способ идентификации следует использовать (чаще всего применяется PAP);
  • Сохранить пароль — установите этот переключатель во включенное состояние, если не хотите вводить пароль при каждом соединении. Правда, если вас заботят вопросы безопасности, то лучше этого не делать!

Вы можете также указать параметры, которые нужно передать pppd, нажав кнопку Настройка аргументов pppd. При этом откроется отдельное окно Настройка аргументов pppd (рис. 14.7). Задаваемые в этом окне аргументы kppp передаст демону pppd. Допустимые значения аргументов вы можете найти на man-странице pppd.

Самоучитель Linux для пользователя, рис.14-07

Рис. 14.7. Окно Настройка аргументов pppd

На вкладке IP-адрес (рис. 14.8) либо введите постоянный IP-адрес, если провайдер выделил вам его, либо укажите, что вы будете использовать динамическое выделение IP-адреса.

На этой же вкладке находится переключатель Автоконфигурация DNS-имени машины по данному IP-адресу. Руководство по программе kppp рекомендует быть осторожным при задании этой опции и включать ее только в том случае, когда вы абсолютно уверены в необходимости этого.

Если включить автоконфигурацию, то kppp, после успешного установления соединения с сервером, будет запрашивать имя домена и имя, назначаемое вашему компьютеру, у сервера DNS (см. описание вкладки "DNS-серверы" ниже). При этом сервер DNS определяет указанные имена по IP-адресу, который назначен данному сеансу связи по протоколу PPP. Исходное имя машины (hostname) и имя домена, введенное на вкладке DNS-серверы, при задании этой опции игнорируются. Они будут восстановлены после завершения сеанса связи по протоколу PPP.

Самоучитель Linux для пользователя, рис.14-08

Рис. 14.8. Вкладка IP-адрес

Эта опция полезна в случаях, когда вы хотите использовать такие протоколы, как talk, для которых требуется, чтобы имя машины совпадало с именем, соответствующим IP-адресу машины. Но если вы хотите соединиться с Интернетом только для обычного просмотра WWW-страниц, обмена почтовыми сообщениями или использования chat, то включать опцию не следует. Дело в том, что у нее есть побочный эффект, заключающийся в невозможности новых подключений к X-серверу. Другими словами, вы не сможете запускать какие-то приложения в графическом режиме, пока не завершите сеанс связи.

Самоучитель Linux для пользователя, рис.14-09

Рис. 14.9. Вкладка Шлюз

На вкладке Шлюз (рис. 14.9) выберите либо Шлюз по умолчанию, либо, если провайдер сообщил вам IP-адрес статического шлюза, введите его в поле Статический шлюз. Нужно только отметить, что по мнению разработчиков программы kppp, опция "Назначить данный адрес шлюзом по умолчанию" должна быть включена в подавляющем большинстве случаев.

Настройка службы имен (вкладка DNS-серверы, рис. 14.10) может производиться автоматически (тогда провайдер сам задает адреса серверов DNS, когда начинается сеанс связи) или в ручном режиме. Но в любом случае вы должны ввести имя домена (например, demos.online.ru) и хотя бы один IP-адрес сервера DNS для того, чтобы иметь возможность использовать ориентированные на человеческое восприятие Интернет-имена, такие, например, как ftp.kde.org. Адреса DNS-серверов должны указываться в численной форме, например: 212.24.32.192. Эти адреса будут добавлены во время исполнения команды в файл /etc/resolv.conf. После завершения сеанса связи файл /etc/resolv.conf будет возвращен в исходное состояние.

Самоучитель Linux для пользователя, рис.14-10

Рис. 14.10. Вкладка DNS-серверы

Когда вы введете цифры, нажмите кнопку Добавить, и они попадут в Список адресов серверов DNS. (Вы не сможете нажать кнопку Добавить, пока не введете полный IP-адрес сервера DNS в поле IP-адреса.)

Если переключатель Закрыть доступ к существующим серверам DNS на время соединения установлен во включенное состояние, то на время сеанса связи будет "отключен" список адресов DNS, заданный в файле /etc/resolv.conf.

Вкладка Скрипт подключения (рис. 14.11) позволяет создать сценарий регистрации, который будет выполняться при установлении соединения, если вы выберете вход по сценарию в поле Аутентификация на вкладке Дозвон. Не все провайдеры требуют использования сценария регистрации; вам необходимо выяснить у своего провайдера, надо ли выполнять какие-либо особенные рекомендации при установке соединения.

Самоучитель Linux для пользователя, рис.14-11

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

Сценарий регистрации строится по принципу "вопрос-ответ". Ваш компьютер посылает информационную строку или запрос серверу, а затем ожидает получения информационной строки или запроса от сервера провайдера. Кроме команд посылки и ожидания строк в сценариях можно использовать еще некоторые команды. Вот перечень возможных команд:

  • Expect : kppp ожидает получения указанной строки;
  • Send : kppp будет посылать указанную строку серверу;
  • Scan : kppp будет просматривать входной поток символов в ожидании указанной строки. После получения этой строки все поступающие символы до первого символа "конец строки" будут сохранены во внутреннем буфере. Пробелы в начале и конце строки игнорируются;
  • Save : Сохранить полученную строку в указанном регистре. Пока что может использоваться единственный регистр "password";
  • Pause : Пауза на указанное число секунд;
  • Hangup : Послать модему сигнал "повесить трубку";
  • Answer : Перевести модем в режим ожидания ответа;
  • Timeout : Изменить заданное по умолчанию значение паузы и установить его в указанное значение (в секундах). Вы можете изменять это значение в скрипте несколько раз, если это необходимо;
  • Prompt : Выдать пользователю строку запроса, причем в заголовке окна запроса будет приведена подсказка, которую вы указали при задании этой команды. Если в строке подсказки вы вставили ##, эти символы будут заменены на текущее содержимое внутреннего буфера (см. выше команду Scan). Вводимые пользователем в ответ на запрос символы будут отображаться в строке ввода;
  • PWPrompt : Как и в предыдущей команде пользователю будет выдана строка запроса, однако вводимые им символы не будут отображаться (точнее, будут заменены звездочками). Используется для ввода паролей;
  • ID : Послать серверу имя пользователя, введенное в главном окне kppp (рис. 14.2). Если имя в главном окне не указано, будет выдан запрос на ввод имени. В качестве заголовка запроса выводится введенная вместе с этой командой строка. Вводимые пользователем символы отображаются на экране. Если запрос имени пользователя встречается в скрипте второй раз, то введенное в первом запросе имя пользователя сразу же выводится на экран, независимо от того, был ли он указан в главном окне программы;
  • Password : Послать серверу пароль, введенный в главном окне kppp. Если пароль в главном окне не задан, будет выдан запрос на его ввод. Заголовком запроса служит введенная в правом поле строка. Вводимые пользователем символы пароля отображаются в виде звездочек;
  • LoopStart : kppp будет ожидать получения указанной строки. Строка запоминается для использования в команде LoopEnd;
  • LoopEnd : kppp будет ожидать получения указанной строки для выхода из цикла. Если первой получена строка, заданная в соответствующей команде LoopStart, будет осуществлен переход к строке, следующей за командой LoopStart, т. е. возврат к первой строке цикла.

Сценарии регистрации составляются следующим образом.

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

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

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

Таблица 14.1. Пример сценария входа

Команда

Параметр команды

Назначение

Prompt

Нажмите клавишу <Enter>

Отправляет серверу символ конца строки

Expect

Username:

Ожидание приглашения сервера на ввод имя пользователя

ID


Передать имя пользователя из учетной записи

Expect

Password:

Ожидание приглашения с сервера ввести пароль

Password


Передать пароль из учетной записи

Expect

Welcome

Ожидание приветственного сообщения сервера

Pause

3

Устанавливает длительность паузы в 3 секунды.

В общем случае использовать процедуру входа по сценарию не обязательно; это зависит от требований провайдера. В некоторых случаях достаточно использования PAP или CHAP. Тем не менее, проконсультируйтесь с вашим провайдером.

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

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

На вкладке Учет (рис. 14.14) вы можете указать, где и как kppp будет следить за вашей работой в Интернете. Если вы хотите, чтобы программа вела учет стоимости телефонного соединения, проставьте отметку возле надписи "Включить учет". Дальше необходимо выбрать правила учета. Скорее всего вы не найдете подходящего правила среди тех вариантов, которые предлагаются программой. Но такие правила можно задать самостоятельно. Образец их задания приведен в подсказке к программе. Файл с правилами учета можно проверить на синтаксическую правильность с помощью команды kppp –r rule_file, а затем этот файл надо поместить в каталог ${KDEDIR}/share/apps/kppp/Rules или в каталог ${HOME}/.kde/share/apps/kppp/Rules, после чего вы получите возможность выбрать заданное вами правило на данной вкладке.

Самоучитель Linux для пользователя, рис.14-12

Рис. 14.12. Вкладка Выполнить

Самоучитель Linux для пользователя, рис.14-13

Рис. 14.13. Вкладка Учет

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

После того, как вы закончили создание учетной записи, нажмите на кнопку OK. Теперь в окне Настройка kppp появится новая учетная запись. Если вы хотите ее модифицировать, выделите ее одним щелчком мыши, потом нажмите кнопку Изменить в окне Настройка соединения.

Теперь самое время предоставить системе информацию о типе подключения и скорости Вашего модема на вкладке Устройство (рис. 14.14).

Самоучитель Linux для пользователя, рис.14-14

Рис. 14.14. Вкладка Устройство

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

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

Ниже приведен список соответствия названий последовательных портов в MS-DOS (и Windows) и Linux. Если вы знаете, что ваш модем присоединен, например, к порту COM2 в Windows, то в Linux это будет соответственно /dev/ttyS1.

  • COM1 = /dev/ttyS0
  • COM2 = /dev/ttyS1
  • COM3 = /dev/ttyS2
  • COM4 = /dev/ttyS3

В некоторых дистрибутивах Linux имеется символическая ссылка /dev/modem, которая указывает на файл реального устройства. В документации по kppp не рекомендуется использовать эту ссылку вместо указания на реальное устройство.

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

Следующее поле, Окончание строки, позволяет установить корректное значение этого параметра для вашего модема. Для большинства модемов подходит значение CR/LF. Если же у вас возникают трудности с опросом модема, попробуйте поменять установку этого параметра.

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

Самоучитель Linux для пользователя, рис.14-15

Рис. 14.15. Вкладка Модем

Переключатель Использовать lock-файл (файл блокировки) по умолчанию установлен во включенное состояние. Это значит, что kppp будет блокировать устройство при работе в режиме "он-лайн", предотвращая, таким образом, доступ к модему. Если задана опция "Использовать lock-файл" для kppp, то не должна использоваться аналогичная опция для pppd. В противном случае pppd не сможет запуститься и kppp выдаст сообщение об ошибке.

В поле Таймаут модема указывается время в секундах, в течение которого kppp ожидает ответа CONNECT после набора номера. В руководстве к программе kppp рекомендуется установить здесь значение, равное 30 секундам.

На вкладке Модем (рис. 14.15) задаются настройки для модема.

Самым важным элементом на этой вкладке является, пожалуй, кнопка Команды модема. При нажатии этой кнопки появится диалоговое окно Редактирование команд модема (рис. 14.16), позволяющее изменять процесс набора номера, установки соединения и другие настройки модема. Если ваш модем является Hayes-совместимым, то вам, скорее всего, не требуется ничего здесь менять.

Внимание!

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

Самоучитель Linux для пользователя, рис.14-16

Рис. 14.16. Диалоговое окно Редактирование команд модема

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

При нажатии кнопки Терминал kppp откроет мини-терминал, с помощью которого можно проверить конфигурацию модема (но надо знать соответствующие команды).

Перемещая движок Громкость динамика модема, вы можете изменять громкость динамика модема во время набора номера и установки соединения.

Вкладка График позволяет изменить цвета на графике, отображающем количество байт, проходящих между вашим компьютеров и провайдером в режиме "он-лайн". Этот график выводится в отдельном окне Монитор подключения, которое открывается, если установлена соответствующая опция в главном окне программы (см. рис. 14.2).

Самоучитель Linux для пользователя, рис.14-17

Рис. 14.17. Вкладка Разное

На вкладке Разное (рис. 14.17) вы можете задать значение следующих опций:

  • Таймаут pppd — определяет интервал времени между запуском скрипта и стартом pppd, в течение которого kppp будет ожидать установления устойчивого соединения по протоколу PPP. Если соединение не установлено, то по истечении этого времени связь будет прервана и процесс pppd остановлен;
  • Встроить в панель KDE при соединении — установите этот переключатель во включенное состояние, чтобы после установки связи kppp отображалась значком в Панели. (Эта опция перекрывает действие переключателя Свернуть окно при соединении);
  • Автодозвон при разъединении — установите этот переключатель во включенное состояние, если хотите, чтобы kppp мгновенно восстанавливало соединения при разрыве связи;
  • Показывать время в строке заголовка — включите этот режим, чтобы видеть время соединения;
  • Разъединить при остановке X-сервера — если вы выберете эту опцию, kppp будет корректно завершать сеанс связи при выключении Xсервера. Это полезная опция, если вы не хотите терять время на разрыв соединения при выходе;
  • Выход при разъединении — когда вы разрываете соединение с провайдером, kppp автоматически закрывается. В противном случае, вы вернетесь к исходному окну kppp;
  • Свернуть окно при соединении — сворачивание окна kppp в панель задач при установке соединения.

Ну, и наконец, на вкладке О программе представлена некоторая информация о kppp, такая как сведения об авторах, авторских правах и лицензионном соглашении.

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

14.3.2 Установка связи с помощью kppp

Для запуска kppp надо выбрать в Главном меню KDE команду Интернет и щелкнуть на kppp. Можно (и это проще) воспользоваться комбинацией клавиш <Alt>+<F2>, ввести в появившейся строке ввода (рис. 14.18) имя программы и щелкнуть по клавише Выполнить:

Самоучитель Linux для пользователя, рис.14-18

 Рис. 14.18. Строка ввода команды оболочки KDE

Можно также запустить окно консоли и выполнять в нем команду

[user1]$ kppp &

В появившемся главном окне kppp (рис. 14.2), выберите вариант соединения, введите имя пользователя и пароль учетной записи для доступа в Интернет.

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

Чтобы начать сеанс, нажмите на кнопку Соединить. Появятся два окна. В одном из них (рис. 14.19) показан статус соединения, например, так:

Самоучитель Linux для пользователя, рис.14-19

Рис. 14.19. Статус соединения

Второе окно (Монитор подключения) отображает команды инициализации модема и процесс обмена данными с сервером провайдера. Если вы не сделали этого раньше, вы можете открыть окно Монитора, воспользовавшись кнопкой Журнал в окне статуса, изображенном на рис. 14.19.

После установления соединения с провайдером kppp свернется в кнопку или иконку на Панели задач в зависимости от того, какие значения опций вы задали на вкладке PPP (см. выше). Окно монитора тоже закрывается.

Чтобы просмотреть статистику соединения, например, пропускную способность или IP-адреса, откройте окно статуса kppp (рис. 14.20)

Самоучитель Linux для пользователя, рис.14-20

Рис. 14.20. Окно статуса после запуска kppp

и нажмите на кнопку Подробности. Появится окно статистики соединения (рис. 14.21).

Несмотря на то, что kppp вроде бы работает, давайте займемся проверкой того, что все настроено правильно. Первым делом введите (от имени пользователя root) команду

[root]# /sbin/ifconfig

По этой команде должны быть показаны все работающие ("поднятые") сетевые интерфейсы. Среди них должен быть "кольцевой интерфейс" (Local Loopback) и ppp0, причем для ppp0 в информации, выводимой по этой команде, можно найти присвоенный вам IP-адрес и адрес сервера, с которым вы соединились (эта же информация имеется и в окне статистики, изображенном на рис. 14.21).

Самоучитель Linux для пользователя, рис.14-21

Рис. 14.21. Окно статистики соединения.

Вот пример вывода команды /sbin/ifconfig:

lo Link encap Local Loopback

inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0

UP LOOPBACK RUNNING MTU 2000 Metric 1

RX packets 0 errors 0 dropped 0 overrun 0

TX packets 0 errors 0 dropped 0 overrun 0

ppp0 Link encap Point-to-Point Protocol

inet addr 192.168.17.1 P-t-P 192.168.18.1 Mask 255.255.255.0

UP POINTOPOINT RUNNING MTU 1500 Metric 1

RX packets 33 errors 0 dropped 0 overrun 0

TX packets 42 errors 0 dropped 0 overrun 0

Если Вы, в частности, не обнаружите в выводе информации о "кольцевом интерфейсе", то вернитесь к разд. 13.2, где об этом говорится, и настройте локальный интерфейс.

Теперь дайте команду

[root]# ping z.z.z.z,

где z.z.z.z — IP-адрес сервера DNS (этот адрес вы должны были получить у провайдера и приписать в настройках kppp). Если все корректно работает, то вы увидите строки следующего вида:

[root]# ping 212.22.66.70

PING 212.22.66.70 (212.22.66.70): 56 data bytes

64 bytes from 212.22.66.70: icmp_seq=0 ttl=255 time=268 ms

64 bytes from 212.22.66.70: icmp_seq=1 ttl=255 time=247 ms

64 bytes from 212.22.66.70: icmp_seq=2 ttl=255 time=266 ms

^C

--- 212.22.66.70 ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 247/260/268 ms

(Для того, чтобы прервать работу команды ping, надо нажать комбинацию клавиш <Ctrl>+<C>.)

Следующий этап проверки состоит в запуске команды

[root]# netstat -nr

Я в этом случае увидел всего три строки, включая строку заголовка (хотя у вас может оказаться и больше):

Kernel IP routing table

Destination    Gateway     Genmask           Flags   MSS  Window  irtt  Iface

192.168.14.1   0.0.0.0     255.255.255.255   UH       0     0     0     ppp0

0.0.0.0     192.168.14.1   0.0.0.0           UG       0     0     0     ppp0

Если вывод команды выглядит подобным образом, но не содержит строки, в которой в графе Destination стоят 4 нуля (0.0.0.0) (она указывает на маршрут, используемый для соединений по умолчанию), то вы, вероятно, не включили переключатель "Присвоить данному шлюзу маршрут по умолчанию" на вкладке Настройка соединения | Шлюз.

Далее вы можете попытаться установить соединение с сервером провайдера по одному из протоколов telnet, ftp, finger, используя известные вам цифровые IP-адреса.

Если все эти проверки завершились успешно, вы можете запустить любой Интернет-браузер (а в KDE и запускать дополнительно ничего не надо — используйте Konqueror), задать имя (URL) ресурса и отправиться в путешествие по виртуальному миру. Если запустить почтового клиента, то можно получать и отправлять электронную почту. Подробнее о том, как это сделать, будет сказано в разд. 14.4 и разд. 14.5, где кратко описаны браузеры и почтовые клиенты для Linux.

Правда, не всегда все проходит так гладко. Если вам не удается после установления соединения получить выход в WWW, прочитайте ниже разд. 14.3.3, где рассмотрены возможные затруднения.

Чтобы разорвать соединение, если приложение прикреплено к Панели, щелкните один раз по его значку. В открывшемся окне статуса соединения нажмите на кнопку Разъединить.

Если вы выбрали режим сворачивания в Панель задач, разверните приложение и тоже нажмите кнопку Разъединить.

14.3.3 Проблемы с настройкой соединения

Если вам не удается установить соединение с провайдером, то надо, естественно, искать причину. Попробую дать несколько советов, как действовать в такой ситуации.

Первый совет, который на этот случай дают "классики": смотрите протоколы (лог-файлы)!

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

Во-вторых, надо запустить kppp так, чтобы он как можно подробнее протоколировал свои действия. Для этого снова войдите в окно настроек соединения kppp и задайте опцию запуска "debug" на вкладке Дозвон.

Кроме того, впишите следующие две строки в файл /etc/syslog.conf:

daemon.*     /dev/console

daemon.*     /var/log/kppp.log

(обратите внимание на то, что между двумя частями записи в каждой строке должен быть хотя бы один символ табуляции). После внесения изменений в файл /etc/syslog.conf выполните команду kill -HUP <pid>, где <pid> — идентификатор запущенного в это время процесса syslogd. По этой команде syslogd перечитает свой конфигурационный файл. Следствием выполненных вами действий будет то, что pppd будет выдавать сообщения о своих действиях на консоль и записывать эти же сообщения в файл /var/log/kppp.log. Его и смотрите!

Искать в этом файле надо сообщения, начинающиеся на:

  • "pppd[NNN]: Connected..." — означает, что скрипт соединения завершился успешно.
  • "pppd[NNN]: sent [LCP ConfReq"... — сообщение о том, что pppd пытался начать диалог с удаленным сервером.
  • "pppd[NNN]: rcvd [LCP ConfReq"... — сообщение о том, что pppd получил ответ (negotiation frame) от удаленного сервера.
  • "pppd[NNN]: ipcp up" — означает, что pppd дошел до той точки, где, по его мнению, соединение готово для передачи по нему IP-трафика.

Если вы не находите строки с сообщением "rcvd", то у вас серьезные проблемы с установлением соединения (например, по каналу не передаются все 8 бит). В этом случае может оказаться полезным записывать в файл протокола весь поток байтов, передаваемых между Вашим компьютером и удаленным сервером. Для этого измените две упоминавшиеся выше строки в файле syslog.conf следующим образом:

daemon.*,kern.*     /dev/console

daemon.*,kern.*     /var/log/kppp.log

и снова перезагрузите демон syslog, как это было сказано выше. Затем запустите pppd с опцией "kdebug 25". Теперь все символы, передаваемые по каналу PPP-соединения, будут записываться в файл протокола.

Просмотрите этот файл в поисках сообщений, похожих на следующее:

ppp_toss: tossing frame, reason = 4

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

На начальном этапе установления соединения вы можете увидеть одно или несколько сообщений, содержащих строку "bad fcs". Это говорит об ошибках в контрольной сумме получаемых PPP-пакетов, и обычно случается в начале сессии, когда удаленная система посылает сообщения типа "hello this is the XYZ company". Если такие сообщения продолжают появляться тогда, когда соединение уже установлено, это говорит о шуме в телефонной линии и сбоях в передаче пакетов.

Может оказаться, что на сервере провайдера установлен Remout Access Server (RAS), который настроен на использование алгоритма аутентификации MS CHAP 80. Вы можете определить, запрашивает ли сервер установление подлинности, используя этот алгоритм, при анализе файла протокола pppd. Если сервер запрашивает установление подлинности по MS CHAP, то вы увидите строки типа:

rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]

Если все равно не работает (куда обратиться за помощью)

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

  • версию используемого вами ядра;
  • версию используемого вами пакета PPP;
  • какими командами вы запускаете PPP-сессию;
  • файл протокола сессии, запускавшейся с опцией "debug";
  • тип ПО PPP, установленного на сервере провайдера.

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

Теперь еще пара советов в стиле "вопрос-ответ", заимствованных в списке рассылки blackcat-list@geon.donetsk.ua:

  • Вопрос:

    При подъеме ppp в /var/log/messages появляются такие строчки:

    modprobe: Can't locate module ppp-compress-21

    modprobe: Can't locate module ppp-compress-24

    modprobe: Can't locate module ppp-compress-26

  • Ответ:

    Добавьте в /etc/conf.modules:

    alias ppp-compress-21 bsd_comp

    alias ppp-compress-24 ppp_deflate

    alias ppp-compress-26 ppp_deflate

  • Вопрос:

    кррр звонит, отдает имя, пароль и сразу отваливается, в протоколах пишет следующее:

    Sep 12 18:10:34 dimon pppd[1410]: By default the remote system is required to authenticate itself

    Sep 12 18:10:34 dimon pppd[1410]: (because this system has a default route to the internet)

    Sep 12 18:10:34 dimon pppd[1410]: but I couldn't find any suitable secret (password) for it to use to do so.

    Sep 12 18:10:34 dimon pppd[1410]: (None of the available passwords would let it use an IP address.)

    Кто виноват и что делать?

  • Ответ:

    Проверьте правильность заполнения имени и пароля.

    Попробуйте в /etc/ppp/options добавить параметр noauth.

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


Предыдущий раздел Оглавление Следующий раздел

Поделиться: