1. Неправильность настроек на удаленной машине.
2. Неисправность сетевого оборудования.
3. Удаленная машина просто выключена…
7.2. Подключение модема
Модем подключается очень просто — вам достаточно вставить плату модема в корпус компьютера или подключить внешний модем, и система автоматически определит и установит его. В случае, если у вас старый дистрибутив, например, Red Hat Linux версии 6 и ниже, то вам самим придется создать ссылку /dev /modem на устройство /dev/ttySn, где n — это номер последовательного порта. Напомню, что устройство /dev/ttyS0 соответствует порту СОМ1 в DOS. В принципе, создавать ссылку даже не обязательно, потому что в любой коммуникационной программе можно указать устройство, с которым она будет работать. Устройство /dev/modem используется большинством программ по умолчанию.
Для проверки работоспособности модема можно использовать программу minicom. Это обычная терминальная программа. Перед ее запуском необходимо установить параметры программы. Это можно сделать командой minicom –s (см. рис. 7.5). При этом нужно изменить только устройство, которое будет использоваться в качестве модема.
Рис. 7.5. Программа настройки minicom
Для тестирования модема обычно используются стандартные АТ-команды. Инициализировать модем можно командой ATZ, поднять и положить трубку — АТН1 и АТН0 соответственно, а набрать номер — АТВРномер, используя импульсную систему набора номера, и АТВТномер, используя тональную систему.
Ссылку можно также создать программой modemtool в RedHat, а в Linux Mandrake нужно воспользоваться все тем же конфигуратором DrakConf.
Будет справедливо отметить, что Linux не работает с программными модемами для Windows (win-модемы). А вот модемы, которые подключаются к шине USB, в ОС Linux использовать можно. Только для этого нужно включить в ядро поддержку шины USB и USB-модемов.
В последнее время некоторые производители программных модемов (например, Lucent) обратили внимание и на Linux-пользователей. Компания Lucent выпустила драйверы под Linux для своего модема. Данные драйверы находятся на компакт-диске, поставляемым с модемом. Однако я не рекомендую использовать программные модемы на сервере, так как это снизит производительность системы.
7.3. Подключение к Интернет
Рассмотрим, как можно подключить Linux к Интернет. Подключение Linux к Интернет имеет больший смысл, нежели Windows, так как Linux намного лучше и, что самое главное, быстрее работает с сетевыми устройствами. Лично у меня соединение с моим провайдером при использовании Linux работает где-то в два раза быстрее и не простаивает, как при работе в Windows.
Для настройки подключения можно пойти по пути наименьшего сопротивления и использовать все тот же конфигуратор или же программу kppp, но здесь я эти варианты рассматривать не буду. Попробуйте настроить все самостоятельно, как это делали все нормальные люди до создания KDE. Впрочем, на втором варианте можно было бы и остановиться. Программа кррр (см. рис. 7.6) входит в состав KDE и является стандартным дайлером, то есть программой, которая устанавливает соединение.
Рис. 7.6. Программа kppp
Как и любой другой дайлер, kppp выполняет следующие функции:
1. Устанавливает соединение с провайдером.
2. Регистрирует пользователя в удаленной системе.
3. Инициализирует РРР-соединение.
Интерфейс программы предельно прост. Однако, хотелось бы дать несколько рекомендаций по работе с этой программой:
1. Вам нужно изменить имя устройства, которое будет использовано kppp, то есть имя модема и установить его скорость. Но не подумайте только, что если вы установите скорость 56700, то ваш модем на 9600 заработает с большей скоростью.
2. Измените команду набора номера в окне «Команды модема» (см. рис. 7.7). По умолчанию используется тональный набор (команда ATDT). Для работы с импульсной системой набора номера используйте команду ATDP (рис. 7.8). 3. Нужно изменить права доступа к демону /usr/sbin/pppd, позволяющие пользователю его запускать. В противном случае запускать программу kppp вам придется так:
su –с kppp
Рис. 7.7. Вкладка «Модем»
Рис. 7.8. Команды модема
Вот собственно и все, что касается программы kppp.
Обычно соединение с провайдером устанавливается по протоколу РРР (Point to Point Protocol), и только в очень редких случаях по устаревшему протоколу SLIP (Serial Line Internet Protocol), поэтому протокол SLIP в этой книге рассматриваться не будет.
PPP — протокол «точка-точка» (Point-to-Point Protocol). Используется для обмена данными между компьютерами и удаленными локальными сетями.
Протокол РРР является составным, то есть он объединяет в себе сразу несколько протоколов. Основными из них являются:
• IPCP (IP Control Protocol) — внутренний протокол, обеспечивающий возможность сжатия данных и динамическое назначение IP-адреса удаленному пользователю.
• HDLC (High level Data Link Control) — протокол, осуществляющий кодирование данных перед отправкой их на линию.
• LCP (Link Control Protocol) — протокол, предоставляющий средства по настройке, созданию и тестированию удаленного соединения.
• NCP (Network Control Protocol) — протокол, осуществляющий настройку протоколов сетевого уровня, вкладываемых в РРР.
В Linux РРР-соединение обеспечивается демоном pppd, конфигурационным файлом которого является файл /etc/ppp/options. Описание используемых в этом файле опций приведено далее.
Соединение по протоколу РРР, как правило, происходит по обычным телефонным линиям и может быть как с использованием аутентификации или без нее. Без аутентификации обычно устанавливаются соединения по выделенным линиям, о которых поговорим в следующей главе. Что касается аутентификации, то ее существует несколько способов:
1. Терминальный. Представляет собой интерактивный вход в сеть с использованием имени пользователя и пароля, передаваемых открытым текстом. Данный способ подразумевает создание сценария для автоматической регистрации.
2. PAP (Password Authentication Protocol) — протокол аутентификации по паролю. Протоколом РАР реализуется двухэтапный метод подтверждения прав доступа одного компьютера к другому (клиента к серверу). На первом этапе клиент посылает серверу запрос, в котором указывается имя пользователя и пароль. На втором этапе сервер обрабатывает эту информацию и отсылает ответ, в котором указывается удостоверен клиент или нет. Хотя РАР-аутентификация является лучше терминальной, но также пересылает пароль открытым текстом, что делает ее доступной для злоумышленников.
3. CHAP (Challenge Handshake Authentication Protocol) — протокол аутентификации по запросу/ответу. Этот протокол предоставляет более безопасный механизм аутентификации. При этом проверка права доступа осуществляется в три этапа:
• на первом этапе аутентификации сервер посылает клиенту специальный запрос;
• на втором этапе клиент с помощью специальной функции MD5 вычисляет и отсылает серверу ответ. При формировании ответа учитываются имя пользователя, пароль и присланный сервером запрос;
• на третьем этапе сервер сравнивает полученный от клиента ответ с предполагаемым и выдает соответствующий ответ, разрешая или запрещая доступ пользователю.
7.3.1. Терминальный способ
Не будем вдаваться в технические подробности, а опишем настройку соединения каждым способом. Начнем с самого простого терминального метода. Может быть, вы когда-нибудь подключались к провайдеру из-под Windows, устанавливая режим «Открыть окно терминала после набора номера»? Так вот это как раз этот способ аутентификации. Итак, рассмотрим подключение к одному из моих местных провайдеров, использующему как раз терминальный способ. Для этого потребуется следующая информация, которую можно узнать у провайдера, а жители города Кировограда могут использовать данный пример без изменений (см. табл. 7.1).
Параметры подключения к провайдеру Таблица 7.1
Параметр Значение Телефон для доступа 083 Имя пользователя для входа в сеть dialup Имя пользователя для доступа к серверу POP (почта) name Пароль для доступа в сеть PassWord Ваш IP-адрес 0.0.0.0 IP-адрес сервера DNS 194.183.166.3 Шлюз по умолчанию 194.183.166.3 Домен frk.kr.ua (или host.kr.ua) Прокси:порт proxy.frk.kr.ua:8080
Пока ничего не забыл, нужно сделать несколько небольших замечаний.
Во-первых, имя пользователя для входа в сеть и для доступа к почтовику могут быть одинаковыми, а могут и отличаться. Все зависит от вашего провайдера. С точки зрения безопасности лучше иметь два различных имени и два разных пароля. Как вы видите, в данном случае используются два разных имени. В гл. 17 будут рассмотрены оба способа конфигурирования сервера входящих звонков.
Во-вторых, пароль я специально написал в таком виде: «PassWord». Этим я хочу показать, что при аутентификации учитывается регистр букв.
Далее, если у вас динамический IP-адрес (что скорее всего), то пишите 0.0.0.0 вместо нормального адреса. Кроме основного IP-адреса сервера DNS, может использоваться еще и вторичный сервер DNS. Этот адрес также лучше уточнить у провайдера. IP-адрес шлюза по умолчанию обычно совпадает с IP-адресом сервера DNS, так как обычно это один и тот же компьютер.
В свойствах браузера можно выбрать тип подключения прямой или через прокси-сервер. В данном случае нам все равно, потому что наш провайдер использует прозрачный прокси-сервер, а имя прокси-сервера я привел исключительно в демонстрационных целях.
Прежде чем приступить к настройке протокола РРР, установите необходимое программное обеспечение. Далее, я сначала опишу установку из RPM, а потом полностью компилирование pppd из исходников. Установить РРР вы можете с помощью команд:
# mount /mnt/cdrom
# rpm –ih /mnt/cdrom/Mandrake/RPMS/ppp*
Нужно также позаботиться о том, чтобы ядро поддерживало РРР. В большинстве случаев поддержка РРР уже встроена в ядро. Проверить наличие поддержки РРР можно с помощью команды:
dmesg | grep РРР.
Желающие могут установить РРР из исходников. Последнюю версию можно скачать по адресу ftp://ftp.linuxcare.com.au/pub/ppp/. Установку РРР при этом можно выполнить с помощью таких команд:
# ./configure
# make
# make install
Естественно, что до этого необходимо сначала перейти в каталог с распакованными исходными текстами ррр.
Далее, возвращаясь к рассматриваемому примеру, установите имя машины:
# hostname name.frk.kr.ua
Затем может потребоваться подправить файл /etc/hosts.conf (хоти в большинстве случаев этого делать не надо):
order hosts, bind
multi on
Первая строка означает, что сначала адрес узла сети будет просматриваться в локальной базе данных — в файле /etc/hosts, а затем будет произведено обращение к серверу DNS (если нужного адреса там нет). Вторая строка разрешает использовать сразу несколько IP-адресов. Теперь подправим файл /etc/hosts:
127.0.0.1 localhost.localdomain localhost
0.0.0.0 name.frk.kr.ua name
Сейчас необходимо указать системе, какими серверами DNS нужно пользоваться. Эта информация хранится в файле /etc/resolv.conf
domain frk.kr.ua
nameserver 194.183.166.3
Можно также добавить еще и адрес вторичного сервера (добавив еще одну директиву nameserver). Всего можно указать четыре адреса.
Как уже отмечалось выше, процесс подключения состоит из нескольких этапов:
1. Соединение с сервером провайдера.
2. Регистрация.
3. Инициализация РРР-соединения.
Программы-дайлеры выполняют все эти функции, но в нашем случае эти функции выполняют следующий набор файлов:
демон pppd
/usr/sbin/ppp-on
/usr/sbin/ppp-off
/etc/ppp/ppp-on-dialer
/etc/ppp/options
Скрипт ррр-on предназначен для инициализации РРР-соединения, ppp-off — для выхода из сети. Далее приведен пример сценария ррр-оn (листинг 7.1).
Листинг 7.1. Пример файла ррр-оп#!/bin/sh
PHONE=083
ACCOUNT=mylogin
PASSWORD=mypassword
LOCAL_IP=0.0.0.0 # если не динамический, то укажите
# нужный адрес
REMOTE_IP=0.0.0.0 # обычно 0.0.0.0
NETMASK=255.255.255.0
export PHONE ACCOUNT PASSWORD
DIALER=/etc/ppp/pp-on-dialer # полное имя сценария набора номера
exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS2 38400 \
asyncmap 20AOOOO escape FF kdebug 0 $LOCAL_IP: $REMOTE_IP \
noipdefault netmask $NETMASK defaultroute connect $DIALER
Обратите внимание, что в рассматриваемом примере модем подключен к порту COM3, то есть к устройству /dev/ttys2, максимальная скорость работы для которого — 38400 бит/с. Следующий файл: ppp-on-dialer (см. листинг 7.2).
Листинг 7.2. Пример файл аppp-on-dialer#!/bin/sh
exec chat –v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
'ОK-+++\с-ОК' АТН0 \
TIMEOUT 30 \
OK ATDP$PHONE \
CONNECT '' \
name:-name: $ACCOUNT \
password: $PASSWORD
Обратите внимание на выделенную строку: если у вас тональный набор номера, измените ее на OK ATDSPHONE. На этом практически все! Осталось только немножко подправить файл /etc/ppp/options (см. листинг 7.3).
Листинг 7.3. Пример файла/etc/ppp/options# Первые две строки являются обязательными,
# хотя опцию domain вы можете
# использовать на свое усмотрение
lock
domain frk.kr.ua
# Оптимизация работы демона pppd
# Чтобы демон не уходил в фоновый режим
-detach
# Использовать линии управления модемом
modem
# Управление потоком данных
crtscts
# Устанавливает маршрут по умолчанию
defaultroute
asyncmap 0
# использовать максимальный размер передаваемого пакета в 552 байт
mtu 552
# использовать максимальный размер принимаемого пакета в 552 байт
mru 552
Теперь можно устанавливать соединение:
ppp-on
Можно также пропинговать провайдера:
ping 194.184.166.3
Для отключения введите
ppp-off.
7.3.2. PAP- и СНАР-аутентификация
Большинство провайдеров и корпоративных РРР-серверов используют протокол РАР. Если используется протокол РАР, то вместо того, чтобы регистрироваться на таком сервере, используя имя пользователя и пароль, когда их ввод запрошен сервером, РРР-сервер, использующий РАР, не требует обычного ввода имени и пароля для входа в систему. Вместо этого информация установления подлинности пользователя идет как часть протокола управления связи (LCP), который является первым шагом установления связи РРР.
Если ваш провайдер использует протокол РАР или CHAP, внесите следующие изменения в файл /etc/ppp/options:
имя_пользователя логин
# Если вы используете протокол РАР
+рар
-chap
# Если вы используете CHAP
#+chap
#-рар
В зависимости от протокола аутентификации вам потребуется изменить файлы /etc/ppp/pap-secrets или /etc/ppp/chap-secrets. Файл /etc/ppp/pap-secrets в рассматриваемом случае должен выглядеть примерно так:
# Secrets for authentication using PAP
# client server secret acceptable local IP addresses
user * Password
Последнее поле остается пустым, так как используется динамический IP-адрес.
Протокол CHAP требует, чтобы не только вас опознала удаленная машина, но и вы опознали ее. Поэтому в файле /etc/ppp/chap-secrets нужно указать имя сервера в поле «server». Это имя вы можете уточнить у провайдера.
Примечание. Настроить Интернет-соединение можно также с помощью конфигуратора DrakConf в Linux Mandrake (см.рис. 7.9).
Рис. 7.9. Настройка соединения с помощью конфигуратора DrakConf
7.4. Настройка DSL-соединения