ГЛАВА 22. СОЕДИНЕНИЕ LINUX С INTERNET

1. Глава 22. Соединение Linux с Internet

 

Глава 22 . Соединение Linux с Internet

  • Что такое РРР
  • Требования к аппаратному и программному обеспечению
  • РРР-соединение с графическим интерфейсом
  • РРР-соединение со строчным интерфейсом
  • Автоматизация соединения с Internet

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

Но для многих пользователей задача упрощается, поскольку для установления первого соединения из Linux они используют среду X Windows.

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

 

2. Что такое РРР

 

Что такое РРР

Большинству пользователей Internet, вероятно, сокращение РРР знакомо просто потому, что именно этот тип соединения обеспечивает их ISP. В действительности, многие пользователи не понимают, что же скрывается за РРР.

РРР обозначает Point-to-Point Protocol (Протокол точка-точка). Разработан для работы ТСРЯР с соединениями, которые поддерживаются аналоговыми модемами. Таким образом, при подключении к Internet с использованием РРР вы становитесь частью сети вашего ISP, действующим компьютером Internet, и получаете свой IP-адрес.

Традиционно удаленный доступ к Internet реализуется с использованием программного обеспечения терминала. В качестве центрального сервера предполагается система, работающая под управлением Unix. В такой среде программное обеспечение терминала на системе-клиенте выполняет исключительно поддержку дисплея для сервера, и только сервер реально существует как узел Internet. Такое соединение отличается от сегодняшней реализации РРР-соединения, приближающего Internet прямо к модему пользователя.

Значительная гибкость технологий связи с Internet приводит к большому разнообразию типов РРР-соединений. РРР-соединение может устанавливаться с выделением постоянного IP-адреса или с динамическим назначением IP-адреса. Соединения могут использовать специальные протоколы аутентификации, например PAP (Password Authentication Protocol), или стандартные текстовые механизмы запрос-ответ. Соединения устанавливаются вручную или, если необходимо, автоматически.

В главе рассмотрен наиболее общий сценарий связи с Internet: соединение посредством модема с провайдером ISP, на основе РРР-соединения с динамическим выделением IP-адреса.

Примечание

Термины "РРР" и "ISP-подключения" в этой главе рассматриваются как синонимы. Хотя возможности РРР-подключения и не ограничиваются подключением к Интернету через провайдеров ISP. Фактически РРР также представляет собой стандартный способ подключения к корпоративной сети или сети учебного заведения.

 

3. Требования к аппаратному и программному обеспечению

 

Требования к аппаратному и программному обеспечению

Для правильной работы РРР необходимы некоторые приготовления. До установки РРР-сое-динения необходимо настроить аппаратное и программное обеспечение:

  • проинсталлировать и сконфигурировать модем;
  • ядро Linux должно поддерживать РРР;
  • проинсталлировать программное обеспечение РРР.

 

4. Модем

 

Модем

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

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

Для конфигурирования РРР необходимо знать скорость модемного соединения и устройство в Linux, которое использует модем (возможно, /dev/modem или /dev/ttyS0, а может быть /dev/ttyS3).

 

5. РРР в ядре

 

РРР в ядре

Ядро Linux в высшей степени гибкое. Оно может обеспечивать (или исключать) поддержку ряда технологий: от стандартной мыши до возможностей работы в сети, например РРР.

Чтобы осуществить РРР-соединение, необходимо включить в ядро Linux поддержку РРР. Чтобы узнать, поддерживает ли ядро Linux РРР-соединение, обратите внимание на сообщения, которые выдаются при загрузке системы. Если имеется ряд строк, наподобие следующих:

РРР generic driver version 2.4.0

РРР Deflate Compression module registered

PPP BSD Compression module registered

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

$ dmesg | more

Примечание

Если вы обнаружите, что для поддержки РРР необходимо перекомпилировать ядро, то обратитесь к гл. 20, в которой рассмотрена рекомпиляция ядра.

 

6. Инсталляция программного обеспечения РРР

 

Инсталляция программного обеспечения РРР

Red Hat Linux 7.1 инсталлирует программное обеспечение РРР при полной инсталляции или инсталляции по умолчанию.

Для установки РРР-соединения используются две программы: /usr/sbin/pppd и /usr/sbin/chat. В Red Hat Linux 7.1 входит часть пакета ррр-2 .4. 0-2. Чтобы убедиться в его установке, используйте команду rpm:

$ rpm -q ppp

ррр-2.4.0-2

Для использования pppd или chat надо проинсталлировать дополнительный набор программного обеспечения РРР.

Прежде всего, необходимо монтировать Red Hat CD-ROM (например, /mnt/cdrom) и инсталлировать пакет ppp-2 . 4 . 0-2 .1386 .rpm.

$ rpm -i /pnt/cdrom/RedHat/RPMS/ppp-2.4.0-2.i386.rpm

Можно также загрузить последнюю версию РРР с домашней страницы pppd зеркала загрузочного сайта Samba по адресу ftp: //ftp.samba.org/pub/ppp/. Там доступна версия РРР 2.4.1 в файле ррр-2.4.1. tar. gz.

Для распаковки архива используется команда

$ tar xzvf ррр-2.4.1.tar.gz.

Полезно прочитать файл README. linux. Инсталляция нового пакета РРР подразумевает не только компилирование программного обеспечения, но и обновление ядра Linux и его рекомпи-ляцию для соответствующей версии программного обеспечения РРР.

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

Примечание

Обширные архивы загружаемого программного обеспечения для Linux можно найти на многих веб-сайтах, как принадлежащих фирмам-изготовителям вашего дистрибутива, так и на узле Tucows, расположенном по адресу http://www.tucows.com . Если вы предпочитаете работать с rpm-пакетами, то сможете найти большой архив таких пакетов

ПО адресу http: //www.rpmfind.net.

 

7. РРР-соединение с графическим интерфейсом

 

РРР-соединение с графическим интерфейсом

В Linux существует два инструмента, .которые могут помочь установить РРР-соединение вашего компьютера с Internet: RP3 для GNOME и КРРР для KDE. RP3 в системе Red Hat Linux 7.1 исповедует принцип предельного упрощения пользовательского интерфейса. КРРР дает возможность сконфигурировать все компоненты Internet-подключения.

Ниже рассмотрены базовые подключения к Internet, в рамках которых специальные настройки почти не понадобятся. Следует, однако, помнить, что некоторые провайдеры ISP требуют установки ряда специальных параметров соединения. Как RP3, так и КРРР допускают необходимую настройку и выполнение диагностических операций. Дополнительные сведения о такой настройке приведены ниже в разделах, посвященных pppd и minicom.

 

8. RP3

 

RP3

RP3 представляет собой графический инструмент управления РРР в системе Red Hat. Если вы работаете с провайдером ISP, способным поддерживать Linux-подключения, то процедура установки и подключения к Internet сведется для вас к трем простым шагам. Более тонкую настройку можно будет выполнить позже; можно даже установить терминал для упрощения диагностики и устранения проблем, возникающих при соединении. Но главное преимущество RP3 состоит в простоте. Конфигурирование этой утилиты выполняется из режима корневого пользователя, что дает в дальнейшем возможность любому штатному пользователю системы подключиться к Internet.

 

Конфигурирование RP3

По умолчанию, доступ к средствам конфигурирования возможен с рабочего стола. Для запуска RP3 выполните двойной щелчок на значке Dialup Configuration (Конфигурирование коммутируемого доступа), расположенном на рабочем столе, или просто выполните команду /usr/bin/rрЗ -config в окне терминала X Window.

Dialup Configuration


Введите пароль корневого пользователя, если необходимо. Если вы запускаете RP3 впервые, то стартует мастер создания нового Internet-подключения Add New Internet Connection Wizard. Щелкните на кнопке Next для продолжения. Если модем еще не сконфигурирован, на экране появится диалоговое окно Select Modem (Выбор модема). Подключите модем к телефонной линии. Щелкните на кнопке Next для продолжения. На рис. 22.1 показано, как затем RP3 проверяет каждое из устройств, которое может быть одключено к модему.


Рис. 22.1. Поиск модемов

Совет

Если окно мастера создания нового Internet-подключения Add New Internet Connection Wizard не появилось, но появилось окно internet Connections (Internet-подключения), щелкните на кнопке Add (Добавить). Если и это окно отсутствует, то, вероятно, пакет RP3 просто не установлен.

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

Если ни один модем не найден. В этом окне можно задать ряд параметров, которые помогут системе Linux найти и использовать модем. Даже если модем обнаружен системой самостоятельно, доступ к этому окно можно получить, выбрав опцию Modify This Modem Manually... (Модифицировать этот модем вручную...) в окне.

Примечание

Приведенная в таблице скорость в бит/с (baud) не равна скорости обмена модема. Она должна быть приблизительно в четыре раза больше скорости обмена, вплоть до 115,200 бит/с. Но можно установить и меньшую скорость для уменьшения потерь данных от внешних помех и шумов.

Сконфигурировав модем, щелкните на кнопке Next. Следующий шаг посвящен установке основных параметров Internet-соединения, как показано на рис. 22.2.

  • Account Name (Имя счета) - представляет имя вашего провайдера ISP.
  • Prefix (Префикс) - это номер, набираемый на вашем телефоне для выхода в городскую сеть. Это поле можно оставить пустым, если префикс не нужен.
  • Area/Country Code (Код страны/региона) - номер, необходимый для получения доступа к локальному телефонному номеру провайдера ISP. Если ваш провайдер доступен по городской телефонной сети, то в зависимости от настройки вашей местной телефонной компании, это поле может остаться пустым.

Phone Number (Номер) - местный телефонный номер провайдера ISP.


Рис. 22.2. Конфигурирование модема вручную


Рис. 22.3. Параметры доступа к провайдеру ISP

Щелкните на кнопке Next, введите ваше регистрационное имя и пароль, необходимые для доступа к провайдеру ISP и еще раз щелкните на кнопке Next. В окне Other Options (Прочие параметры) выберите Normal ISP (Обычный провайдер) или AT&T Global Network Services (Глобальная сетевая служба AT&T) и щелкните на кнопке Next. После щелчка на кнопке Finish в следующем окне, все готово к подключению.

Использование RP3

После того, как РРР-соединение сконфигурировано, любой штатный пользователь вашей системы может обратиться к нему. Из кнопки главного меню GNOME Main Menu выберите Programs/Internet/RH PPP Dialer (Программы/Интернет/Номеронабиратель RH РРР). Открывается окно Choose (Выбор), показанное на рис. 22.4. Выберите имя, заданное для провайдера ISP при конфигурировании, щелкните на кнопке ОК, и Linux подключится к Internet через вашего провайдера ISP.

Рис. 22.4. Выбор провайдера ISP

 

22.1.gif

Изображение: 

22.3.gif

Изображение: 

22.4.gif

Изображение: 

22.5.gif

Изображение: 

9. КРРР

 

КРРР

Другая утилита Linux с графическим интерфейсом, обеспечивающая доступ в Internet, называется КРРР - номеронабиратель KDE РРР. Если вы находитесь на рабочем столе КDЕ, щелкните на кнопке вызова главного меню KDE Main Menu, а затем выберите Internetflnternet Dialer (Internet/ Номеронабиратель Internet). На другом рабочем столе, например, GNOME, откройте окно командной строки и введите команду /usr/bin/kppp. В результате откроется окно КРРР, показанное на рис. 22.5.

Рис. 22.5. Инструментарий настройки утилиты КОЕ РРР

Щелкните на кнопке Setup (Установить) в этом окне. В появившемся окне КРРР Configuration (Конфигурирование КГГР) выберите, если необходимо, вкладку Accounts (Счета) и щелкните на кнопке New (Новый). В результате откроется окно Create A New Account... (Создание нового счета), ориентированное преимущественно на европейских провайдеров ISP. Если подходящего провайдера ISP в Европе или Новой Зеландии нет, щелкните на Dialog Setup (Диалог установки).

На экран выводится окно New Account (Новый счет), показанное на рис. 22.6. В этом окне вы можете задать параметры подключения к вашему провайдеру ISP. В большинстве случаев необходимо задать только параметры, показанные на рис. 22.6.

Рис. 22.6. Установка параметров провайдера ISP

Если при соединении с провайдером возникают проблемы, вернитесь в это окно. Здесь можно сконфигурировать ряд опций, расположенных на нескольких вкладках, показанных на рис. 22.7:

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

IP (IP-адрес). Если ваш провайдер ISP выделяет вам статический IP-адрес, укажите этот адрес здесь.

Gateway (Шлюз). Если ваш провайдер ISP не устанавливает для вас в своей сети шлюз в Internet автоматически, можете задать соответствующий IР-адрес шлюза здесь. DNS (Служба имен доменов). Если ваш провайдер ISP не предоставляет вам автоматически услуги своих серверов имен (DNS-серверов), можете задать соответствующий IP-адрес DNS-сервера здесь.

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

Execute (Выполнить). Здесь можно указать программы и команды, подлежащие выполнению на различных этапах подключения.

Accounting (Оплата). Если вы платите за местные телефонные переговоры в соответствии с повременным тарифом, можете задать здесь правила для подсчета подлежащих выплате сумм.

После того, как конфигурирование выполнено, щелкните на кнопке ОК, чтобы вернуться в окно КРРР Configuration, показанное на рис. 22.7.

Примечание

Для читателей в США непривычным является часто применяемый в других странах режим повременной оплаты местных телефонных звонков. Такой режим оплаты порождает другие стратегии выбора провайдера.

Рис. 22.7. Опции конфигурации КРРР

Если возникают проблемы установки модема, то вернитесь в это окно. На его вкладках доступно множество полезных инструментов:

Accounts (Счета). Кроме имени вашего счета у провайдера ISP, на этой вкладке предусмотрены средства доступа к файлам протоколов, которые зачастую содержат ценные сообщения, упрощающие диагностику причин неудачных соединений. Device (Устройство). Здесь задаются параметры аппаратуры, имеющие отношение к модему,

Modem (Модем). С помощью этой вкладки можно тестировать или наблюдать модем различными способами.

Misc (Прочие). Определяет поведение РРР-демона в момент подключения, отключения и выключения X Window.

Если необходимо разрешить доступ штатным пользователям, можно задать suid-разрешения, которые позволят всем штатным пользователям запускать любые программы без предоставления кому бы то ни было полного доступа. Если вы измените разрешения файла /usr/sbin/kppp следующим образом

# chmod u+s /usr/sbin/kppp

то все штатные пользователи смогут выполнять команду /usr/sbin/kppp для вызова данной утилиты.

 

22.6.gif

Изображение: 

22.7.gif

Изображение: 

22.8.gif

Изображение: 

10. РРР-соединение со строчным интерфейсом

 

РРР-соединение со строчным интерфейсом

Утилиты RP3 и КРРР предоставляют достаточный для большинства пользователей сервис. Но если у вас возникают проблемы при подключении или появляется желание понять внутреннюю механику РРР-подключений в Linux, то следует разобраться в том, как работает РРР-демон (pppd) и прочие связные утилиты.

В Linux РРР-соединение выполняется и поддерживается командой pppd. Но pppd начинает работать, когда соединение между модемом пользователя и модемом, ISP уже существует, необходимая регистрация выполнена, и система ISP пытается установить РРР-соединение с использованием этого же модемного соединения.

Практически у всех провайдеров процесс соединения одинаков и состоит из следующих этапов.

  1. Установка модемного соединения.
  2. Выполнение регистрации пользователя.
  3. Установка РРР-соединения (после аутентификации пользователя) с попыткой выделения пользователю IP-адреса.

Программа pppd требует обязательного выполнения пунктов 1 и 2 перед пунктом 3. Таким образом, необходимо установить соединение модемов до выполнения программы pppd. При наличии соединения модемов РРР-соединение устанавливается с использованием pppd.

 

11. Создание РРР-соединения

 

Создание РРР-соединения

К счастью, программное обеспечение pppd спроектировано так, что позволяет объединить

все операции - и работу с программой chat, и обработку всего процесса соединения. Перед попыткой установить соединение необходимо собрать некоторую информацию.

  • Будет ли IP-адрес назначаться при каждом соединении или IP-адрес будет постоянным? Поскольку работа большинства провайдеров Internet основана на динамическом выделении IP-адреса для каждого соединения, возможно, вы так и будете работать.
  • Как происходит, регистрация у провайдера Internet? Иногда используется простой текстовый запрос-ответ, иногда - специальный протокол аутентификации, называемый РАР. Изредка применяется аутентификационный протокол CHAP. Если для дозвона к ISP используется программное обеспечение терминала наподобие minicom, а для представления - один из видов регистрационной подсказки, то регистрация происходит с простой текстовой подсказки. Если на экране после соединения отображаются произвольные символы или, символов нет вообще, то, возможно, используется РАР или CHAP аутентификация.

Примечание

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

Совет

Сведения об используемых IP-адресах и аутентификационных протоколах также могут помочь вам сконфигурировать RP3 или КРРР. Обратитесь к своему провайдеру ISP, если у вас нет достоверных сведений в этой области.

Соединение с обычной текстовой подсказкой

Начнем с обычных текстовых подсказок - наиболее простых в использовании.

Так как pppd может брать управление модемом, но не может установить удаленное соединение или зарегистрироваться, необходим способ задания модему команд и обеспечения необходимой регистрационной информацией. Для установки соединения и регистрации используется программа chat. Она предназначена для организации обмена информацией в диалоговом режиме.

Обычно процесс удаленной связи на модеме запускается редактором терминала и в пустом окне терминала печатает команду набора номера, например ATDT12345678. В ответ выдается строка соединения, такая, как CONNECT 115 200, на которую пользователь не отвечает.

Примечание

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

Этот обмен можно преобразовать в простой сценарий chat.

"" ATDT1234567 CONNECT ""

Данный сценарий состоит из двух пар строк вида "ожидать-ответить": "" ATDT1234567 и CONNECT "". Пара "ожидать-ответить" содержит две порции информации, разделенных пробелом. В первой паре сценария программе chat указывается, что не следует ничего "ожидать", а в ответ необходимо отослать строку ATDT123 45 67. Как только сценарий запустит процесс, первое действие - отправка строки дозвона. Когда выполняется вторая пара, chat указывается необходимость ожидать строку CONNECT, а в ответ не отсылать ничего. Если на этом сценарий завершен, работа chat будет окончена.

Конечно, сценарий chat должен быть длиннее. Для полного сценария chat необходимо точно знать, что представляет собой регистрационная сессия в данном конкретном случае. Можно сформировать такой сценарий, используя для регистрации программное обеспечение терминала, такое как minicom.

Строка подсказки у большинства провайдеров Internet имеет следующий вид:

Username: Password:

или

Login: Password:

или даже

ogin: ssword:

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

Примечание

Возможно, необходимо удалить первую букву подсказки в задании сценария. Это обусловлено тем, что различные операционные системы обращаются с первой буквой по-разному, и при работе с некоторыми ISP неизвестно, какая операционная система выдает подсказку при регистрации. При ожидании ogin: или as sword: сценарии работают, не воспринимая первую букву подсказки.

Итак, какова же следующая пара "ожидать-ответить"? После соединения пользователь представляется с помощью подсказки Username:, в ответ на которую вводится имя пользователя (пусть имя пользователя будет "testuser"). Пара "ожидать-ответить" для такого взаимодействия будет Username: testuser.

Когда имя пользователя определено, выводится подсказка Password:, в ответ на которую надо ввести пароль (предположим, "testpas sword"). Получается пара "ожидать-ответить": Password: testpassword.

Для большинства провайдеров Internet этого достаточно: РРР запускается на системе провайде-ра после корректного ввода пароля. Существует незначительное количество разновидностей систем ISP, которые при представлении пользователя выводят на экран подсказку, в которой следует напечатать команду для запуска РРР. В таком случае в сценарии необходимо создать дополнительную пару.

Для этого примера полный сценарий chat выглядит следующим образом:

"" ATDT1234567 CONNECT " " Username: testuser Password: testpassword

Для использования этого сценария с программой chat (которая обычно находится в /usr/ sbin) достаточно задать сценарий как параметр chat.

/usr/sbin/chat ' " ATDT1234567 CONNECT " " Username: testuser Password: tes tpassword

При отсутствии интеграции с программой pppd и доступа к модему chat пытается устано вить диалог посредством консоли. Это можно использовать для проверки сценария. Просто вве дите команду в командной <строке. Когда на экране появится ATDT1234567, напечатайте

CONNECT и введите Username: В ответ на экран должно быть выведено testuser. Затем напечатайте Password: и в ответ должно появиться testpassword.

Примечание

Если необходимо исправить ошибки в сценарии chat, добавьте ключ -v к команде chat. Результат выполнения сценария записывается в системный файл протокола, который позже можно проанализировать для выявления ошибок.

После того, как сценарий написан, необходимо соединить его с pppd. Для этого можно исполь-зовать некоторые параметры pppd (приложение pppd имеет много дополнительных параметров, о которых можно узнать в руководстве по pppd). Мы будем использовать следующие параметры.

connect. Применяется для определения программы или команды, при помощи которой устанавливается соединение по обычной линии связи. Данная опция определяет программу chat и ее сценарий.

noipdefault. Работа pppd го-умолчанию - это определение IP-адреса локального компьютера на основании его имени. Но если ISP выделяет IP-адрес динамически, то noipdefault используется для сообщения pppd о том, что надо получить IP-адрес от удаленного компьютера, с которым осуществлено соединение.

defaultroute. Эта опция сообщает pppd о необходимости добавить маршрут по умолчанию в системную маршрутную таблицу, используя удаленную систему как шлюз по умолчанию. Запись удаляется при разрыве соединения.

Команда pppd имеет следующую структуру.

$ pppd device-name device-speed options

Если модем имеет максимальную скорость передачи сжатой информации 115200bps (модем 56Kbps), то при соединении с устройством /dev/modem для соединения с использованием chat сценария используется следующая команда:

$ pppd /dev/modem 115200 connect '/usr/sbin/chat "" ATDT1234567 CONNECT "

Username: testuser Password: testpassword' noipdefault defaultroute

При вводе данной команды модем начнет звонить, а после установления связи пользователь будет аутентифицирован и установится РРР-соединение. Если этот процесс пройдет успешно, будет выполнено следующее:

Во-первых, вызов команды /sbin/if conf ig без ключей и параметров вернет список интерфейсов, в том числе РРР интерфейс. Этот список выглядит примерно так:

ррр0 Link encap:Point-to-Point Protocol

inet addr:194.209.60.101 P-t-P:194.209.60.97

Mask:255.255.255 UP POINTOPOINT RUNNING MTU:1500 Metric:!

RX packets:10 errors:0 dropped:0 overruns:0 TX packets:11 errors:0 dropped:0 overruns:0

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

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

dul.paus.ch * 255-. 255.255,255 UH 0 00 ppp0

default dul.paus.ch 0 UG 0 0 0 ppp0

В этом примере dul .paus .ch - удаленный компьютер в РРР-соединении, назначенный шлюзом по умолчанию.

Соединение с аутентификацией РАР

Соединение с аутентификацией РАР основано на тех же принципах, что и соединение с текстовой подсказкой, но метод подачи имени пользователя и пароля отличаются.

Первое основное отличие в том, что имя пользователя и пароль не вводятся с командной строки как часть РАР сценария. Имя пользователя и пароль хранятся в специальном файле secrets, который используется при аутентификации РАР. В Red Hat Linux 7.1 это файл /etc/ppp/pap-secrets.

Доступ к данному файлу для чтения и записи имеет только пользователь root. У других пользователей нет права на чтение содержимого файла.

Формат записи файла secrets:

username servername password

При подключении к серверу через модем и телефонную линию второй параметр не нужен Например, при использовании имени пользователя и пароля из предыдущего параграфа, запись должна иметь вид:

testuser * testpassword

Символ * обозначает, что этот пароль можно использовать для соединения с любым интерфейсом.

Когда имя пользователя и пароль записаны в файл, необходимо создать новый сценарий chat Для большинства провайдеров, как только модемное соединение устанавливается, начинается, аутентификация РАР. Поэтому сценарий chat прост:

"" ATDT12345678 CONNECT ""

Данный сценарий звонит ISP и убеждается, что сообщение connect получено перед окончанием работы программы chat и началом аутентификации.

В завершение необходимо ввести еще один параметр для pppd: user. Этот параметр указывает, какой пользователь РАР из файла pap-secrets аутентифицируется. В результате получаем следующую команду pppd:

$ pppd /dev/modem 115200 connect /usr/sbin/chat ""

ATDT1234567 CONNECT noipdefault defaultroute user testuser

Как и в предыдущем примере с текстовой регистрацией, можно проверить, все ли в порядке при помощи команд if conf ig и route.

 

12. Соединение установлено

 

Соединение установлено

Если соединение установлено, необходимо убедиться в наличии полного доступа к Internet. Для этого надо проверить правильно ли DNS-сервер указывает на сервер имен ISP.

Такая проверка выполняется для двух файлов: /etc/host .conf и /etc/resolv.conf (гл. 28). В этом параграфе даны основные понятия вышеназванных файлов для того, чтобы чита-тель мог быстро приступить к работе. .

Файл /etc /host. conf должен содержать следующие две строки.

order hosts,bind multi on

Эти две строки существуют по умолчанию.

Файл /etc/resolv. conf должен содержать следующие две строки.

search

nameserver 100.100.100.100

Пользователю необходимо заменить IP-адрес 100.100.100.100 IP-адресом сервера имен сво-ег о провайдера Internet. Эту информацию предоставляет ISP. Если провайдер имеет более одного сервера имен, необходимо создать отдельную строку для каждого сервера, используя следующий шаблон:

search

nameserver 100.100.100.100

nameserver 200.200.200.200

После настройки DNS-сервера можно считать, что доступ к Internet получен. Далее необходимо запустить специальные программы: Netscape и FTP (гл. 23).

 

13. Завершение связи

 

Завершение связи

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

Прежде всего, надо выяснить ID процесса, который запущен программой pppd. Для этого пользователь root использует команду ps.

$ ps x | grep pppd

Информация о pppd выглядит на экране следующим образом:

1316 ttyS0 S 0:00 /usr/sbin/pppd' /dev/modem 115200 connect /usr/sbin/chat "" AT

Первый номер - это ID процесса. Теперь можно уничтожить процесс командой kill.

$ kill 1316

После уничтожения pppd модем вешает трубку.

 

14. Автоматизация соединения с Internet

 

Автоматизация соединения с Internet

Если РРР-соединения с Internet используются часто, то необходимость ввода длинных команд pppd для каждого соединения будет ограничивать практическое использование Linux для связи с Internet.

Чтобы исключить необходимость ввода длинных команд, можно создать два сценария: для дозвона и для окончания связи. Эти сценарии называются dial и hangup. Соответствующие файлы надо поместить в каталог пользователя, например /usr / local /bin.

Ниже приведено краткое описание сценариев dial и hangup. Оно позволит вам использовать их в дальнейшем на любом компьютере пользователя. Эти сценарии можно создать в любом текстовом редакторе. Важно, чтобы строки, которые выглядят как одна строка, оставались одной строкой и в файле пользователя.

Для сценария dial предполагаем, что при соединении с Internet используется РАР, пример которого рассмотрен ранее в главе.

Если сценарии dial и hangup созданы, их выполнение обеспечивается командой chmod.

$ chmod 700 dial hangup

Параметр 700 позволяет считывать, записывать и выполнять сценарий только пользователю root. Все будет работать прекрасно, но выполнять эту команду должен только пользователь root при установлении РРР-соединения. Если вы хотите разрешить использование сценария всем пользователям в вашей группе, задайте 750 вместо 700. Если вы хотите разрешить использование сценария всем пользователям, имеющим доступ к вашей системе Linux, задайте 755 вместо 700.

Совет

Создавать эти сценарии целиком своими руками нет необходимости. Если в Red Hat Linux 7.1 установлен пакет ррр rpm, то уже сконфигурированные сценарии доступны в каталоге /usr/share/doc/ppp-2.4.0/scripts. Например, можете настроить сценарии ррр-on и ppp-of f так же, как и описанные ниже dial и hangup.

 

15. Сценарий Dial

 

Сценарий Dial

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

#!/bin/sh

/usr/sbin/pppd /dev/modem 115200 connect \ ' /usr/sbin/chat "" ATDT1234567 CONNECT' \ noipdefault defaultroute user testuser

Первая строка указывает Linux обрабатывать сценарий с использованием оболочки Bourne Shell, которая находится в /bin/sh. Остальные строки обсуждались ранее. Не забудьте задать вместо произвольного номера 1234567 реальный номер вашего провайдера ISP. При необходимости задайте имя вашего файла устройства модема вместо /dev/modem и скорость обмена вместо 115200.

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

 

16. Сценарий Hangup

 

Сценарий Hangup

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

#!/bin/sh

kill `cat /var/run/ppp0.pid"

Как ы в случае сценария dial, n наняле укячыпяетея, что сценарий должен обрабатываться оболочкой Bourne Shell. Далее процесс уничтожается способом, немного отличным от описанного ранее.

Предположим, что процесс pppd записывает свой Ш процесса в файл, который в большинстве современных систем Linux находится в /var/run. Имя файла состоит из имени устройства и следующего за ним расширения .pid. Если имеется только один модем и одно активное соединение РРР, то модем считается устройством ррр0 и в сценарии следует указать /var/run/pppO. pid.

Команда cat просто выводит содержимое файла ррр0 .pid на стандартное устройство вывода. Команда cat заключается в обратные апострофы для того, чтобы передать результат ее выполнения (который является ID процесса pppd) команде kill.

Примечание

Обратная одинарная кавычка (обратный апостроф) на стандартной американской клавиатуре (С кириллицей) расположена в левом верхнем углу на клавише с тильдой (~).

Как поступать в случае множества РРР интерфейсов, если необходимо завершать каждый из них отдельно? Изменим сценарий hangup следующим образом.

#!/bin/ph

kill `cat /var/run/$l.pid

Здесь ррр 0 заменили $1. $1 указывает, что здесь должно находиться значение первого параметра сценария. Теперь можно передавать имя интерфейса как параметр сценария. Команда

$ hangup pppl

повесит трубку модема, использующего интерфейс pppl. Помните, что первый модем имеет имя ррр0, поэтому вместо приведенной может потребоваться команда hangup ррр0.

 

17. Что дальше

 

Что дальше

Материал этой главы имеет большое значение, для установки РРР-соединения с внешним миром системы под управлением Linux.

В следующей главе показаны преимущества такого соединения. Мы рассмотрим Netscape Communicator в качестве одного из лучших Web-браузеров и клиентов Internet для платформ, работающих под управлением Linux.

В гл. 24 дан обзор разнообразного программного обеспечения для электронной почты, доступного при работе в Linux. Пользователь сможет выбрать лучший инструментарий поддержки собственного стиля работы с e-mail.