Выделенная линия между сервером клиента с Windows NT4 и 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