Next: Диалоговый скрипт для связи
Up: Сети на основе телефонных
Previous: Работа с PPP-серверомиспользующим
Программа RAS в операционной системе Microsoft Windows NT
может быть установлена так, что в ней будет использоваться
модификация протокола CHAP. Среди исходных текстов программ PPP
можно найти файл README.MSCHAP80, в котором обсуждается этот
вопрос. Узнать о том, использует ли сервер для опознавания этот
протокол, можно, установив опцию поиска ошибок (debugging)
программы pppd. Если сервер использует протокол MS CHAP,
то на экране будет примерно такая строка:
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
Индикатором здесь является строка auth chap 80.
Для того, чтобы использовать MS CHAP, надо будет заново откомпилировать
программу pppd, чтобы включить туда поддержку этого протокола.
Инструкции для компилирования и использования такой версии программы
pppd можно также найти в файле README.MSCHAP80.
Если используется опознавание протоколом PAP или CHAP,
то нужно создать файлы с секретными ключами (secrets file).
Их имена будут соответственно
/etc/ppp/pap-secrets и /etc/ppp/chap-secrets, принадлежность
пользователю root, группе root с правами доступа 740.
Первое, что нужно знать о протоколах PAP и CHAP, это что
они созданы для опознавания хостов, а не пользователей.
Другими словами, после того, как компьютер совершил PPP-соединение
с сервером, любой пользователь на этом компьютере сможет
использовать это соединение.
Протокол PAP может, а протокол CHAP должен потребовать двустороннего
опознавания, т.е. имя и ключ потребуются с каждой стороны.
Однако большинство PPP-серверов, использующих PAP, этого
не требуют.
Предоставляя услуги, провайдер обычно дает клиенту имя и пароль
для входа в систему,
и не интересуется тем, какое имя компьютера
установлено в операционной системе на клиентском компьютере.
Поэтому при соединении с сервером надо использовать имя пользователя,
данное провайдером.
Для этого используется опция name программы pppd.
В файл /etc/ppp/options надо добавить строку
name \cparam{your}\_\cparam{user name}\_\cparam{at}\_\cparam{your}\_\cparam{ISP}
(первый аргумент -- "локальное" имя пользователя,
второй -- имя на сервере).
С технической точки зрения, на самом деле надо использовать команду
user your_user name_at_your_ISP
для PAP,
однако программа pppd может использовать это имя в качестве
имени пользователя, если оно требуется для PAP. Преимущество использования
опции name в том, что она применима и к протоколу CHAP.
Поскольку протокол PAP предназначен для опознавания компьютеров, с
технической точки зрения требуется также указать имя удаленного
компьютера. Однако, поскольку в большинстве случаев используется один
сервер, в файле с секретным ключом можно использовать для имени
удаленного компьютера шаблон "*".
Файл /etc/ppp/pap-secrets устроен следующим образом:
# Секретные ключи для опознавания протоколом PAP
# клиент сервер ключ приемлемые_IP-адреса_клиента
Четыре поля в файле разделены пробелами; последнее поле может
быть пустым (для динамического и, возможно, статического назначения
IP-адреса сервером).
Пусть провайдер предоставил имя пользователя fred и пароль
flintstone. Значение fred для опции name будет занесено в файл
/etc/ppp/options, а файл /etc/ppp/pap-secrets будет
выглядеть так:
# Секретные ключи для опознавания протоколом PAP
# клиент сервер ключ приемлемые_IP-адреса_клиента
fred * flintstone
В данном файле указывается, что клиентский компьютер по имени
fred (это имя будет использоваться программой pppd,
хотя настоящее имя компьютера может быть иным) с каждым
сервером будет использовать пароль (секретный ключ)
flintstone.
Заметим, что указывать IP-адрес клиента не требуется, если только
сервер не требует, чтобы статический IP-адрес клиента обязательно
указывался. Иначе, даже если адрес будет указан, для большинства PPP-серверов
это не будет работать, так как они (по соображениям безопасности)
не позволяют клиентам указывает те IP-адреса, которые им будут даны.
Процедура требует, чтобы опознавание было двусторонним, т.е.\
чтобы не только сервер опознавал клиента, но и клиент опознавал сервер.
Допустим, что имя клиентского компьютера -- fred,
а имя сервера -- barney. Тогда клиент
в файле /etc/ppp/options.ttySx должен указать значение
опций name и remotename соответственно
fred и barney, а сервер -- наоборот,
barney и fred.
На компьютере fred файл /etc/chap-secrets
будет выглядеть так:
# Секретные ключи для опознавания протоколом PAP
# клиент сервер ключ приемлемые_IP-адреса_клиента
fred barney flintstone
barney fred wilma
а на компьютере barney:
# Секретные ключи для опознавания протоколом PAP
# клиент сервер ключ приемлемые_IP-адреса_клиента
barney fred flintstone
fred barney wilma
Заметим в частности, что для двустороннего опознавания
эти файлы для обоих компьютеров должны иметь строки,
соответствующие опознаванию клиентом сервера и сервером клиента.
Next: Диалоговый скрипт для связи
Up: Сети на основе телефонных
Previous: Работа с PPP-серверомиспользующим
root
Sun Aug 29 12:01:30 MSD 1999