From : Roman Y. Bogdanov http://peps37.ktk.ru/
Subj : Выделенная линия между сервером клиента с Windows NT4 и FreeBSD.
-------------------------------------------------------------------------------
УСТАНОВКА И ПОДКЛЮЧЕНИЕ К INTERNET КОММУНИКАЦИОННОГО СЕРВЕРА НА БАЗЕ
WINDOWS NT и FREEBSD 4.1
Revision 0.2a от 00:45:43, суббота, 14 Октября 2000 г.
Задание: Необходимо сделать выделенную линию между сервером клиента,
под управлением Windows NT4 Server и сервером провайдера, под
управлением операционной системы FreeBSD. Нужно организовать
автоматически восстанавливаемый линк, при обрыве связи, без
вмешательства операторов.
О сути связки "модем-выделенная линия", которая будет рассмотренна в
данной статье я например, представляю такую конструкцию в виде просто
очень длинного коммуникационного кабеля, где модемы исполняют роль
усилителей. Конечно, на самом деле, это не так - еще происходит
модуляция-демодуляция цифрового сигнала, но для упрощенного
представления можно остановиться и на этом.
Подключение: ИСПОЛЬЗОВАНИЕ СЕТИ X.25 ДЛЯ ОРГАНИЗАЦИИ СРЕДЫ ПЕРЕДАЧИ
ДАННЫХ МЕЖДУ КЛИЕНТОМ И ПРОВАЙДЕРОМ
При этом мы используем протокол Х.25 для инкапсуляции в него протокола
TCP/IP. При наличии соответствующего оборудования (см. ниже) этот
способ представляется мне самым легким для установки/настройки.
Оборудование и программное обеспечение, необходимое для работы:
1. Специальный пад-файл (см. Ниже) описывающий модем как Х25
устройсто.
2. Собственно, сама выделенная линия.
3. Компьютер провайдера, выбранный на роль коммуникционного сервера.
4. Windows NT Server + SP6a
5. Программное обеспечение, прилагающееся к пад-файлу для
восстановления линка в случае его обрыва.
В работе было использовано следующее оборудование и ПО:
Два модема "US Robotics Courier 33600 ext" стоимостью ~$200
Программа "Somar ReDial - NT RAS autodialer" стоимостью ~$20
Порядок установки:
1. Протягиваем выделенную линию (двухпроводную или четырехпроводную)
до "места инсталляции" коммуникационного сервера (напр., в
серверную комнату). Подключаем модемы к выделенной линии.
2. Настраиваем модемы (в соответствии с руководством пользователя
модема. Смотреть страницу Ф-18 и проверить соответствие скорости
модема и скорости порта). На модеме провайдера DIP переключателем
включить модем в режим автоответа, на модеме клиента, со стороны вин
нт, переключить модем в режим включенного DTR.
3. Подключить модемы к интерфейсам.
4. Настраиваем FreeBSD. Проделываем все необходимые действия (настройки
роутинга, днс записей и т.д.)
5. Прописываем в /etc/ttys нашу консоль, как:
ttyda "/usr/sbin/pppd" unknown on
6. Выбираем порт для pppd и настраеваем его для работы без авторизации
на 11 коммуникационном порту (смотрите файл-приложение в конце)
7. Инсталлируем WindowsNT. Проделываем все необходимые действия
(региональные установки, сетевые протоколы)
8. Настраиваем порт компьютера (Control Panel -> Ports -> COM2 ->
[Properties]) на скорость, например, 38400. FlowControl - Hardware
(RTS/CTS).
9. Применяем Service Pack 6a (на момент написания статьи это самый
последний, целостный и протестированный Service Pack)
10. Устанавливаем наш модем как Х25 устройство. (Смотрите
файл-приложение в конце) Перед этим winntsystem32ras заменим
pad.inf на новый pad.inf. Обязательно исправте скорость, на которой
будет работать ваша выделенная линия. Затем в появившемся меню
выбираем Install X25 Pad, далее подтверждаем все, что можно не забыв
сказать, что данное устройство работает только на dial out и по
протоколу TCP/IP.
После перезагрузки NT4SERVER можно тестировать соединение с
провайдером. Так как мы имеем выделенную линию и подключены к
"провайдерскому" маршрутизатору, то, естественно, мы имеем выделенный
реальный IP-адрес. В соотвествии с этим и настраиваем "коннекцию" в
Интернет (в Dial-up Networking). В качестве номера телефона можно
оставить пустую строку (помните: звонить ни куда не надо!). Еще: так
как мы, опять же, подключены непосредственно к порту маршрутизатора,
то никакой аутентификации нам не требуется (кто ж еще к этому порту
подцепится? Это ж не dial-up'ное соединение!). Соотвественно, никаких
скриптов подключения нам писать/настраивать не нужно и в поля ввода
имени пользователя и пароля можно ничего не вводить.
Если все заработало быстро топаем в павилион за газировкой и радуемся.
Но радоваться нам придется не долго, т.к. наибольшую проблему в
соединениии с провайдером представляет ситуация, когда "наш" модем по
каким либо причинам был реинициализирован. Например, пропадало питание
или оборвалась связь из-за помех в линии), а провайдерская "Циська",
или FreeBSD, об этом и не подозревает, а продолжает думать что
протокол "поднят", т.е. нужно настаивать на более глубокой
конфигурации порта при которой провайдерский маршрутизатор будет время
от времени проверять соединение по какому-либо признаку (отсутсвие
траффика, либо какого-нить сигнала от модема) с приемлемой
периодичностью... Ведь получается, что инициатором в данном случае
выступает провайдер., мы же просто ждем "признака установления связи"
со своего порта.
Что бы решить проблему "зависания канала" скачиваем с Somar Software,
http://www.somar.com программу Somar ReDial - NT RAS autodialer.
Разворачиваем, запускаем, настраиваем, запускаем ее сервисом. (Прим:
пароль и имя пользователя можно задать любой, например 123, он не
будет использован).
Принцип работы этой программы очень простой. Она по таймауту пытается
поднять протокол ppp со стороны Windows NT server, в не зависимости от
состояния модемов (смотрите мое понимание выделенной лини в начале
статьи). Например, модемы разорвались от помех в линии, разорвалось и
ppp соединение, а т.к. на модеме клиента поднят сигнал DTR, то модемы
начинают, в это время, устанавливать соединение заново. Если в это
время, когда модемы еще устанавливают связь, "Somar ReDial" вдруг
решит, что пора начать ppp сессию он ее начнет, но увидев, что пакетов
нет снова ее прекратит. А в это время наши модемы продолжают
устанавливать связь (смотрите мое понимание выделенной лини).
Установили физически. После этого "Somar ReDial" повисев немного по
timeout ppp сессии, заново начнет попытку установить ppp сессию, а тут
и канал на месте и он с успехом ее восстановит. Ну а теперь снова идем
в павилион за газировкой, а потом едем домой спать.
Если вы хотите запретить разрыв RAS соединения при выходе из системы,
то следуйте этой инструкции:
Regedt32.exe
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion |
Winlogon cоздайте новый ключ KeepRasConnections типа REG_SZ.
Установите значение 1