div.main {margin-left: 20pt; margin-right: 20pt}
Виртуальные частные
сети на базе Microsoft Windows NT 4.0Новиков Кирилл,
Начальник отдела ЛиРС ООО "ЛиТИС"
В одном из
предыдущих номеров Компьютер Пресс была опубликована статья, в некоторой
степени посвященная виртуальным частным сетям (VPN). Вдохновленный этой идеей
я попытался, используя готовые технические решения Microsoft, представленные
базовыми компонентами Windows NT 4.0 создать такую сеть для организации
взаимодействия между центральным офисом и удаленными филиалами своего
предприятия (Закрытое акционерное общество “Каланча”, поставки
противопожарного оборудования, 141300, Сергиев Посад, тел. (095) 742-78-38,
kalancha@tsinet.ru, www.tsinet.ru/~kalancha). Опыт, полученный в процессе
работы над этой задачей, я выношу на суд читателей.
Исходные условия для работы в центральном офисе
были таковы:
Сервер: |
|
расположение
|
г. Сергиев Посад, Московская
область; |
оборудование
|
Pentium 200 MMX, 64 Mb RAM, 4.3
Gb HDD, |
|
модем US Robotics Courier
V.34; |
программное обеспечение
|
Windows NT Server 4.0 + Service
Pack 3; |
подключение к Internet
|
коммутируемое соединение с
провайдером по протоколу PPP на скорости 33 600 bps, постоянный
IP; |
локальная сеть
|
Ethernet, протоколы TCP/IP
(имеется IP сеть класса C),
NetBIOS. |
В филиале:
Клиент:
|
|
расположение
|
г. Москва; |
оборудование
|
Pentium 166 MMX, 32 Mb RAM, 2.1
Gb HDD, |
|
модем US Robotics
Sportster; |
программное обеспечение
|
Windows NT Workstation 4.0 +
Service Pack 3; |
подключение к Internet
|
коммутируемое соединение с
провайдером по протоколу PPP на скорости 33 600 bps, постоянный
IP; |
Доступ |
клиент сконфигурирован для
работы в рабочей группе с именем, аналогичным имени домена, имя
пользователя и пароль соответствовали имени и паролю администратора
домена. |
Рекомендованное решение для создания
виртуальной сети - использование протокола PPTP. К моему большому огорчению, в
фирменной документации Windows NT этому протоколу уделено не слишком много
внимания. Прочая техническая и околотехническая литература практически ничего
к этому не прибавила, что, кстати, и повлияло на мое решение написать эту
статью.
Еще несколько слов о литературе.
Некоторые образчики подобного творчества, кажется, просто слово в слово
переписаны с документации, ну а те вопросы, о которых в документации нет ни
слова, авторы стыдливо умалчивают или ограничиваются ссылкой - мол, и так вся
понятно. Вы можете представить, какое раздражение вызвали во мне эти
руководства "Для профессионалов".
Но вернемся к нашим проблемам.
Внимательно изучив все упоминания о протоколе PPTP устанавливаю, что во первых
- необходимо установить непосредственно PPTP, во вторых - установить
соединение с провайдером, в третьих - соединиться с сервером. Если первые два
действия достаточно ясны и прекрасно описаны, за исключением весьма
существенного момента, о котором я расскажу ниже, то третье вызвало у меня ряд
вопросов. Впрочем, подумал я, будем делать все по порядку, и решение должно
быть найдено.
Прежде всего устанавливаем и
конфигурируем TCP/IP и RAS сервера и клиента. Моя IP сеть разбита на четыре
подсети (NetMask 255.255.255.192). Для настройки IP адресов рабочих станций
используется DHCP-сервер, сконфигурированный на раздачу адресов из первой
подсети. Для определения имен используется DNS сервер и WINS. Сетевой адаптер
RAS сервера имеет статический адрес из моей сети, первая подсеть. Модем RAS
сервера имеет статический адрес из сети провайдера и настроен на работу с его
DNS сервером. Для динамической маршрутизации IP установлен протокол RIP. RAS
клиента сконфигурирован на динамическое получение IP адреса от своего
провайдера.
Добавляем на сервер с дистрибутивного диска
протокол PPTP.
и устанавливаем количество частных сетей на
10
RAS просит указать адаптер, к которому будет
привязан протокол. Вот тут сомнений у меня нет, конечно, это модем
Теперь надо разрешить
пользователям домена использовать удаленный доступ
.
Для ускорения
соединения, согласно рекомендациям Microsoft, запрещаю удаленным пользователям
использовать загружаемый профиль (загружаемый пользовательский профиль создает
излишний трафик сети, а при скоростях коммутируемого соединения это может
сильно замедлить работу).
Ну вот, с сервером
вроде все. На роль клиента, не ездить же каждые десять минут в Москву,
выбираем Notebook, не подключенный к локальной сети офиса, с параметрами,
аналогичными параметрам клиента. Добавляем на компьютер – клиент PPTP,
выставляем количество частных сетей, привязываем PPTP к модему. Соединяюсь с
провайдером, вроде все, оба компьютера в Интернете. Что дальше? Дальше
проблема. Как набрать номер сервера? Чем набираются телефонные номера я знаю,
это естественно Dial-Up Networking, но чем набрать номер сервера и что это за
номер - мне пока непонятно. И уж совсем не верится, что все это делается
автоматически. Модем уже используется, какое же устройство способно набирать
номера?
Я твердо знаю, что все, что набирает и
соединяет, конфигурируется в RAS. Более внимательно осматриваю настройки RAS и
с удивлением обнаруживаю, что при попытке добавить адаптер, у меня на сервере
обнаружился целый список сетевых "плат", созданных PPTP с названиями от VPN1
до VPN10
Так вот оно что! Оказывается
виртуальные сети требуют виртуальных адаптеров! Добавляю по порядку все 10 VPN
на сервер (много – не мало, лишние всегда убрать можно) и VPN1 на
клиента
Конфигурирую VPN1 сервера на прием
звонков,
а VPN1 клиента на
исходящие звонки.
Конфигурирую протокол
TCP/IP RAS сервера на раздачу ряда адресов из своей внутренней IP сети, вторая
подсеть. Возможно, впрочем, что для этого можно использовать и адреса из пула,
предназначенного для локальных сетей, так как, по идее, в Интернете эти адреса
появляться не будут. NetBIOS в конфигурации не нуждается
,
указываю клиенту используемые
протоколы . Попутно обнаруживаю неприятную вещь: желая использовать NetBIOS
только для PPTP, вижу, что эта настройка появилась и в моей конфигурации к
модему, небольшой эксперимент показывает - либо везде, либо нигде. На мой
взгляд это потенциальная “дыра” в защите, но пока делать нечего на время
эксперимента NetBIOS я оставлю, поскольку отпадут проблемы с маршрутизацией, а
для реальной работы его придется убрать. Взамен этого получаю, что настроив
один VPN, автоматически настраиваются все остальные.
В разделе безопасность конфигурации протоколов RAS
на сервере устанавливаю шифрование паролей
.
Далее настраиваю
параметры подключения клиента к серверу, используя Dial-Up Networking клиента.
Устанавливаю в качестве устройства VPN1, а в поле номера указываю, как
подсказывает логика, IP адрес модема сервера.
Настраиваю TCP/IP клиента на получение IP адреса от сервера
,
при наличии серверов DNS и WINS можно указать и их
адреса.
Устанавливаю параметры безопасности на
шифрование паролей .
Указываю, что для входя в мой
локальный домен необходимо использовать текущее имя и пароль (если этого не
указывать, то при запуске соединения система запросит у вас имя, пароль и
домен для подключения). Перезагружаю сервер и клиент.
Подключаюсь к Internet с сервера
и клиента стандартным способом. RAS Admin сервера показывает готовность
принимать подключения .
В RAS Admin
устанавливаю параметр Low Speed Connection. Устанавливаю соединение с
сервером, используя подготовленную запись клиента. Соединение
устанавливается.
Dial-Up монитор
клиента показывает соединения по двум устройствам, модем работает по протоколу
TCP/IP с адресом, установленным провайдером, VPN1 работает по протоколу TCP/IP
с адресом из пула моей локальной сети и по протоколу NetBIOS. Просмотр таблицы
маршрутизации сервера показывает, что маршрут для второй моей подсети, к
которой будут относится все удаленные клиенты, добавился корректно. Пакеты
удаленного клиента к моей локальной сети проходят только через один
маршрутизатор, мой сервер, что подтверждает наличие в Интернете PPTP тоннеля и
правильность работы VPN.
Теперь собственно
говоря то, ради чего все и затевалось. Использовать Интранет технологии для
работы с филиалами не составляет никаких проблем. Но мне то нужно, что бы
работа удаленных клиентов не отличалась от работы локальных, хотя бы внешне.
Сетевое окружение показывает доступные компьютеры моей локальной сети. Для
тестирования копирую несколько файлов с клиента на сервер и наоборот. Работа
на удаленном клиенте не отличима от работы в локальной сети, только скорость,
конечно, значительно меньше. Устанавливаю на клиенте сетевой принтер из моей
локальной сети (как вы знаете, в Windows NT 4.0 драйвер принтера я получаю
прямо от принт-сервера, и печатаю тестовую страницу. Никаких отличий в работе,
за исключением упомянутых выше нет, тестовая страница печатается прекрасно.
Теперь вполне можно перевести клиента из рабочей группы в домен, хотя это при
правильной настройке имен и паролей клиента не обязательно.
Осталось
проверить, как влияет виртуальная сеть на работу остальных сервисов Интернета,
глупо было бы от них отказываться. Пробую соединиться с первым же сервером WWW
(это, естественно, www.microsoft.com), сервис доступен в полном объеме и с
клиента и с сервера. Тестирую оставшиеся основные сервисы Internet (FPT, SMTP,
POP3, telnet), все они доступны в полном объеме. Влияние тоннеля никакого
влияния на них не оказывает.
Более того! Все
пользователи моей локальной сети могут подключиться к ресурсам удаленного
клиента. В то же время они могут работать и с Интернет через Proxy сервер (MS
Proxy 2.0).
Проверка работы сети из удаленного
филиала подтвердила этот факт.
Таким образом
настройка VPN на базе Windows NT 4.0 при наличии доступа к Интернету, исключая
“личные” особенности моей сети, сводится к нескольким простым и понятным
шагам:
Установка протокола PPTP и количества
виртуальных частных сетей;
Настройка сервера RAS на нужные протоколы,
адреса, меры безопасности;
Настройка Удаленного доступа клиента на связь с
выбранным VPN сервера по IP адресу сервера, согласно протоколам, разрешенным
адресам и мерам безопасности сервера;
Настройка прав пользователей для удаленной
работы.
Легко заметить,
что единственное условие, которое не зависит от Вашего желания, это IP адрес
сервера в Интернете. Выделение постоянного IP адреса целиком и полностью
зависит от Вашего провайдера. Впрочем, зная адреса, которые провайдер выделяет
для своих клиентов легко указать их в качестве альтернативных номеров для
набора, и в таком случае набор номера Вашего сервера просто немного
затянется.
В ближайшем
будущем, на мой взгляд, виртуальные сети станут основной технологией
соединения удаленных подразделений предприятий. С развитием коммуникационных
технологий, ростом скоростей соединения, станет значительно выгодней
подключаться к Internet и использовать виртуальные технологии построения сети,
чем создавать дорогостоящие, быстро устаревающие, тяжелые в обслуживании
собственные системы коммуникаций. Использование шифрования не только паролей,
но и данных в виртуальном тоннеле, позволяет без особых финансовых затрат и в
короткий срок построить сколь угодно разветвленную, территориально удаленную,
безопасную сеть, удовлетворяющую практически всем запросам современного
бизнеса. Новиков Кирилл,
Начальник отдела ЛиРС ООО "ЛиТИС"
|