Шрифт:
• ISO 3309–1979 – описывает структуру пакетов HDLC для использования в синхронных системах;
• ISO 3309:1984/PDAD1 – описывает предложения по изменениям в ISO 3309–1979, которые позволяют использовать асинхронные системы.
На рис. 31.1 изображен формат пакета протокола РРР.
Рис. 31.1. Структура пакета протокола РРР
Рассмотрим значения полей пакета протокола РРР:
• Флаг – один байт, обозначающий начало или конец пакета. Поле флага содержит двоичную последовательность: 01111110;
• Адрес – один байт, содержащий двоичную последовательность: 11111111, стандартный широковещательный адрес. РРР не поддерживает индивидуальную адресацию станций;
• Управление – один байт, содержащий двоичную последовательность: 00000011, который посылается для передачи пользовательских данных в неразделенных пакетах;
• Протокол – 2 байта определяют протокол, упакованный в пакете протокола РРР. Значения протоколов можно узнать в соответствующем RFC;
• Данные – 0 или больше байтов, составляющих датаграмму протокола, указанного в поле протокол. Конец информационного поля определяется нахождением заканчивающей последовательности и 2-байтной последовательности в поле контрольной суммы. По умолчанию максимальная длина поля данных 1500 байтов. Однако во время установления сеанса программы pppd могут договориться использовать другое значение поля данных;
• Контрольная сумма – обычно 16 битов. Однако при установлении соединения pppd могут договориться об использовании 32-битной контрольной суммы.
РРР-протокол управления соединением (LCP)
РРР-протокол управления соединением (LCP) предоставляет методы для установления, конфигурирования, поддержания и тестирования РРР-соединения. Протокол LCP выполняет функции, приведенные ниже:
• Конфигурирование и установление связи. Перед передачей какой-либо информации (к примеру, пакет IP) протокол LCP должен открыть соединение и произвести начальный обмен параметрами настройки. Этот этап заканчивается, когда пакет о подтверждении произведенной настройки будет послан и принят обратно.
• Определение качества связи. Протокол LCP позволяет (но эту возможность зачастую не используют) добавить фазу тестирования канала связи. Тестирование канала связи должно происходить сразу же за конфигурированием и установлением связи. Во время проверки качества связи определяется – способно ли соединение с достаточным качеством транспортировать какой-либо сетевой протокол.
• Установление настроек сетевого протокола. После того как протокол LCP закончит определение параметров связи, сетевые протоколы должны быть независимо друг от друга настроены соответствующими протоколами NCP, которыми могут в любой момент времени начать или прекратить пользоваться.
• Окончание связи. Протокол LCP может в любое время прервать установленную связь. Это может произойти по требованию пользователя или из-за какого-нибудь события, к примеру, потери несущей или истечению допустимого периода времени неиспользования канала.
Существуют три типа LCP-пакетов:
• пакеты установления – используются для установления и настройки связи;
• пакеты прерывания – используются для прерывания установленной связи;
• пакеты сохранения связи – используются для управления и диагностики связи.
Сокращения, используемые при описании протокола РРР
В табл. 31.2 приведены некоторые аббревиатуры, используемые при описании протокола РРР. Расшифровка содержит как английское значение, так и русский перевод.
Таблица 31.2. Аббревиатуры, используемые при описании протокола РРРСтандарты, описывающие протокол РРР
В табл. 31.3 приведены стандарты (RFC) протокола РРР.
Таблица 31.3. Стандарты протокола РРРНастройка сервера входящих звонков (dial-in)
В этом разделе мы перейдем к сугубо практическим действиям – настроим наш сервер для приема входящих звонков. Поскольку мы уже рассматривали в гл. 30, как настроить компьютер с операционной системой Linux таким образом, чтобы он выступал шлюзом для вашей локальной сети, – то в этой главе нам будет значительно проще.
Итак, мы умеем настраивать систему таким образом, чтобы она выступала в роли шлюза для вашей локальной сети. Но бывает нужно получить доступ к локальной сети организации, например из дома, в том числе так же из дома выйти в Интернет через корпоративную локальную сеть. Нет ничего проще. Настраивать РРР-соединение мы уже научились, осталось только установить программу, которая умеет "поднимать трубку" модема по входящему звонку и совершать некоторые дополнительные действия. Такой программой является mgetty – признанный фаворит в своей области, умеющий помимо всего прочего посылать и принимать факсы, а также с помощью голосового модема принимать и отправлять voice mail – голосовую почту.
Настройка mgetty
Обычно mgetty, как и ррр, входит в стандартную поставку дистрибутива. Единственное, что необходимо проверить, был ли пакет mgetty скомпилирован с опцией – dauto_ppp, и если нет, то пакет следует перекомпилировать с этой опцией (в дистрибутиве Red Hat mgetty скомпилирован требуемым нам образом).
После установки mgetty нам надо отредактировать конфигурационные файлы.
В файле /etc/mgetty+sendfax/login.config мы должны написать:/AutoPPP/ – а_ррр /usr/sbin/pppd auth refuse-chap require-pap login – /bin/login @
Эта строка говорит mgetty следующее:
• после установления входного соединения необходимо вызвать программу pppd;
• для пользователя требуется авторизация;
• аутентификацию по протоколу CHAP – отклонять и требовать авторизации по протоколу РАР.
После установления соединения mgetty анализирует данные, приходящие с модема, и в случае, когда приходит запрос на авторизацию по протоколу РАР, программа сразу же запускает pppd, который и проводит аутентификацию по протоколу РАР.
Далее, нам необходимо отредактировать файл /etc/mgetty+sendfax/mgetty.config приблизительно следующим образом:port ttyS1
speed 115200
data-only у
debug 3
init-chat "" ATZ OK
answer-chat "" ATA CONNECT \c \rКак видите, модем подключен ко второму последовательному порту, скорость обмена 115200, строка инициализации atz. Далее нужно добавить mgetty в файл inittab. Для этого достаточно дописать всего лишь одну строку:
S4:2345:respawn:/sbin/mgetty /dev/ttyS1
Перегрузив операционную систему, можно приступать к испытаниям – попробуйте позвонить на телефонный номер, где установлен ваш модем – если все настроено нормально – модем должен «поднять трубку».
Настройка pppd
С настройкой pppd вы уже ознакомились в гл. 30. Поэтому, чтобы не повторяться, просто приведем соответствующие конфигурационные файлы с небольшими комментариями.
Файл options.ttyS1 должен содержать следующие данные:# Устройство
lock
login
auth
modem
crtscts
–chap
+pap
# наш интерфейс: удаленный интерфейс
192.168.10.100:192.168.10.101
# маска подсети
netmask 255.255.255.0
# адрес сервера DNS для клиента Windows
ms-dns 192.168.10.100Файл /etc/ppp/pap-secrets должен содержать следующие данные:
user1 сервер. домен "" * user2 сервер. домен "" *
где:
• user1 – имя пользователя, причем он должен существовать в вашей системе, где установлен модем;
• user2 – сервер, на котором будет проводиться аутентификация; в нашем случае вместо сервер. домен необходимо поставить имя компьютера, где расположен модем;
• "" – отсутствие пароля указывает на то, что пароли необходимо брать из файла /etc/shadow;
• * – абонент может производить аутентификацию с любого IP-адреса.
Вот и все – вы стали микропровайдером, причем пользователям Windows сильно облегчили жизнь, поскольку IP-адрес и адрес DNS-сервера вы выдаете автоматически, кроме того, отпадает потребность в использовании скрипта для соединения.
Настройка callback-сервера
Итак, вы настроили свой dial-in-сервер, попользовались им какое-то время и захотели чего-то другого. Например, в вашем городе повременная оплата и часами работать в Интернете из дома не получается, но руководство вашей организации не возражает против того, чтобы вы работали за ее счет. Дело за малым – организовать ваш dial-in-сервер таким образом, чтобы не вы ему звонили, а он вам. В компьютерных документах такой сервер зовется callback-сервером. Функционирует он следующим образом.
Сначала клиент дозванивается через модем к callback-еерверу. Модем на сервере настроен на прием входящих звонков (установку и настройку dial-in-сервера мы только что рассмотрели). После установки соединения сервер предлагает клиенту пройти аутентификацию. Клиент подключается к нему как особый callback-пользователь. После этого модем на сервере обрывает связь и сам звонит клиенту по номеру, который закреплен за компьютером клиента. Модем на клиентском компьютере готов принять обратный звонок, и после установления соединения происходит повторная авторизация. По окончании аутентификации устанавливается РРР-соединение. Далее клиент работает обычным образом.
Конфигурация callback-сервера
После того как настройка dial-in-сервера завершена, необходимо настроить callback. Для этого надо выполнить следующие действия:
1. Создать нового пользователя back.
2. Создать пустой файл с именем callback.conf в /etc/mgetty/.
3. В файл /etc/mgetty/login.config добавить следующую строку:back – /usr/sbin/callback -S 1234567
После ключа -S указывается номер, по которому сервер должен сделать обратный звонок клиенту.
Конфигурация клиентов
Поскольку сервер мы уже сконфигурировали, необходимо сконфигурировать клиента и проверить, каким же образом работает callback. Начнем с операционной системы Linux.
Конфигурирование Linux-клиентаДля конфигурирования клиента Linux необходимо выполнить следующее:
1. Создать файл /etc/ppp/options, в котором должны быть такие строки:lock
defaultroute
noipdefault
modem
115200
crtscts
debug
passive2. Создать файл ppp-callback в /etc/ppp/peers/, в котором должны быть такие строки:
ttyS1 33600 crtscts
connect \'/usr/sbin/chat -v -f /etc/ррр/chat-callback\'
noauth3. Создать файл /etc/ppp/chat-callback, в котором должны быть такие строки:
ABORT BUSY
ABORT VOICE
ABORT "NO DIALTONE"
ABORT "NO ANSWER"
"" ATZ
OK ATDP7654321 # Телефонный номер сервера
CONNECT \d\d
ogin: \q\dback
TIMEOUT 90
RING AT&C0S0=1
ogin: \q\dvasya
assword: \q\dpasswordforvasyaВ файл chat-callback необходимо вписать телефон call back-сервера, имя и пароль пользователя. 4. Создать файл /usr/bin/pppcall, в котором должны быть такие строки:
#!/bin/bash /usr/sbin/pppd – detach call ppp-callback &
Сделать этот файл исполняемым.
Теперь для того, чтобы позвонить на ваш сервер, достаточно запустить скрипт pppcall.
Конфигурирование клиента MS Windows 98 Для Windows конфигурация производится по-другому. Выполните команду меню Пуск | Программы | Стандартные | Удаленный доступ к сети | Новое соединение . Укажите данные, необходимые для дозвона к серверу. Помимо этого, в настройках модема на вкладке Подключения нажмите кнопку Дополнительно и в строке инициализации модема укажите следующее: