Собственные инструменты управления Windows
постоянно совершенствуются, и большинство сетевых служб можно
контролировать с рабочей станции администратора. Даже администраторы
Windows NT, в которой нет универсальной консоли Microsoft Management
Console (MMC) Windows 2000, могут управлять удаленными DNS, DHCP,
WINS и другими службами со своих настольных ПК. Но, несмотря на
активное развитие технологий Microsoft, выполнить некоторые задачи
(например, установить оперативные исправления, перезапустить сервер,
управлять файлами) можно только с консоли сервера.
Проблема решается с помощью инструментов дистанционного управления.
Они незаменимы для работы с серверами в удаленных филиалах и для
решения вопросов, возникающих в неурочные часы, из удобного
домашнего офиса. В наше неспокойное время они позволят запереть
серверы в безопасном помещении и управлять ими на расстоянии.
Дистанционное управление против
дистанционного администрирования
Инструменты дистанционного управления
входят в более обширную категорию инструментов дистанционного
администрирования. Последние, как видно из их названия, обеспечивают
выполнение административных задач на удаленных серверах. Например, с
помощью утилиты Shutdown (shutdown.exe) из комплекта Microsoft
Windows NT Server 4.0 Resource Kit можно остановить и перезапустить
сетевые серверы, а утилита rkill.exe позволяет завершить процессы,
выполняемые на удаленном сервере. Получив с помощью инструментов
управления контроль над рабочим столом сервера через сеть, можно
выполнять административные задачи дистанционно. Вместо того чтобы
воздействовать на сервер с помощью команд, запускаемых на
собственной рабочей станции, администратор выполняет команды на
самом сервере, даже находясь на расстоянии многих километров от его
монитора и клавиатуры.
С помощью нескольких полезных
инструментов дистанционного управления, многие из которых
распространяются бесплатно или за небольшую плату, можно выполнять
различные задачи администрирования сервера, не покидая своего
рабочего места. Я делю эти инструменты на две категории:
графические инструменты
дистанционного управления, такие, как Windows 2000 Server
Terminal Services и Virtual Network Computing (VNC), которые
переносят рабочий стол удаленного сервера на локальный
компьютер;
инструменты дистанционного
управления, запускаемые из командной строки, такие, как Remote
Command, telnet, Remote Shell и Remote Console, которые
обеспечивают выполнение текстовых команд на удаленном сервере.
Terminal Services
Первая встроенная технология
дистанционного управления от Microsoft, Terminal Services, появилась
в Windows 2000 Server. В прошлом Terminal Services можно было
получить только в специальной редакции NT под названием NT Server
4.0, Terminal Server Edition (WTS). Terminal Services предполагалось
использовать в основном в качестве технологии сервера приложений
(как и продукт Citrix WinFrame, предшественник Terminal Services).
Кроме того, в Terminal Services реализован режим дистанционного
администрирования, который позволяет двум администраторам
одновременно управлять консолью сервера через сетевое соединение.
По умолчанию Terminal Services не
устанавливается вместе с Windows 2000 Server, но владельцы базовой
лицензии на продукт могут инсталлировать и использовать службу в
режиме дистанционного администрирования (режим дистанционного
администрирования — стандартный компонент установки версии Windows .NET
Server, ранее известной как Whistler). Со времени появления Windows
2000 я рекомендовал администраторам запускать Terminal Services в
режиме дистанционного администрирования на каждой машине Windows
2000, за исключением случаев, о которых будет рассказано ниже, когда
лучше применить VNC. Установить Terminal Services просто. Достаточно
открыть приложение Add/Remove Programs панели управления и щелкнуть
на закладке Add/Remove Windows Components. Затем нужно установить
флажок Terminal Services и щелкнуть на кнопке Next. В ответ на
запрос мастера Windows Components Wizard о том, какой режим Terminal
Services следует использовать, необходимо выбрать вариант Remote
administration mode.
Однажды воспользовавшись Terminal
Services, от этой службы трудно отказаться. С помощью клиента
Terminal Services можно запустить несколько окон и одновременно
удаленно администрировать несколько серверов. Клиентская программа
Terminal Services совместима с большинством версий Windows, в том
числе с NT 3.51 и Windows 95. Независимые поставщики (например,
Citrix) предлагают клиентские программы для платформ, отличных от
Windows. Клиентскую программу можно развернуть на весь экран, и
настольный компьютер будет выглядеть как консоль сервера.
Virtual Network Computing (VNC)
VNC — один из малоизвестных, но
эффективных инструментов администратора: одни специалисты знают и
широко применяют его, другие никогда не слышали о VNC и не понимают
причины ажиотажа. В целом, VNC — кросс-платформенный инструмент
дистанционного администрирования, с помощью которого рабочий стол
сервера можно отобразить на дисплее своего компьютера, независимо от
серверной операционной системы. На Экране 1 показано соединение VNC
с удаленной машиной Windows 2000 Server.
Экран 1. Соединение VNC с
удаленной машиной Windows 2000 Server.
VNC разработан в лаборатории AT&T
Laboratories Cambridge, распространяется бесплатно при условиях
соблюдения лицензии GNU General Public License (информация о
лицензии GNU General Public License опубликована по адресу:
http://www.gnu.org/copyleft/gpl.html). Загрузить VNC можно
по адресу:
http://www.uk.research.att.com/vnc/index.html. На сайте
имеется документация, исходные тексты и другая информация. При
распаковывании загруженного дистрибутивного файла формируется две
папки:
для программы просмотра VNC -
единственного исполняемого файла размером менее 175 Кбайт;
для VNC-сервера - полного пакета
установки.
Запустить программу просмотра просто:
нужно дважды щелкнуть на ней и ввести имя сервера, с которым
необходимо установить связь. Если на удаленном сервере уже работает
серверная программа VNC, то через несколько секунд все будет готово
для дистанционного управления сервером.
Процедура инсталляции VNC-сервера
тоже не намного сложнее. Достаточно дважды щелкнуть на файле
setup.exe и следовать приглашениям мастера установки, чтобы
инсталлировать как сервер, так и программу просмотра. На данном
этапе сервер доступен только в интерактивном режиме, т. е. его можно
запустить лишь вручную. Ручной запуск для администрирования
удаленного сервера неудобен: VNC-сервер лучше запускать
автоматически. Для этого достаточно щелкнуть на значке Start Menu
программы VNC и настроить VNC for Windows (WinVNC) на работу в
качестве службы, с учетной записью Windows 2000 или NT 4.0
LocalSystem, автоматически запускаемой при старте сервера
(автоматический запуск — функция операционной системы; она работает
не на всех машинах: например, на Macintosh такой функции нет). После
перезапуска или (если служба используется в первый раз) ручного
запуска, служба VNC просит назначить пароль сеанса и другие
параметры конфигурации (см. Экран 2).
Экран 2. Параметры
конфигурирования службы WinVNC.
После этого новый сервер VNC готов к
работе. Нужно открыть программу просмотра VNC на рабочей станции,
ввести имя VNC-сервера и пароль сеанса и можно приступать к
дистанционному администрированию. По умолчанию разрешается
установить лишь одно удаленное соединение VNC с каждым сервером.
Если поступает запрос на новое соединение, VNC-сервер автоматически
разрывает текущий сеанс и организует новый. Это может вызвать
существенные неудобства, если администратор подключается к серверу в
середине сеанса, установленного другим администратором. Кроме того,
при разрыве соединения VNC не выполняет процедуру выхода для первого
администратора, и второй администратор видит все, что делал его
коллега. В документации VNC объясняется, как настроить VNC-сервер на
совместное использование соединений. В результате несколько
администраторов смогут одновременно подключиться к серверу, и всем
им будет представлен одинаковый удаленный рабочий стол.
В этой особенности состоит главное
различие между VNC и Terminal Services. С помощью Terminal Services
два администратора могут одновременно установить соединение с одним
сервером, и каждый из них будет работать с уникальным рабочим
столом. VNC обеспечивает одновременное подключение двух
администраторов, но им придется совместно пользоваться мышью и
клавиатурой одного рабочего стола.
Terminal Services или VNC?
Учитывая, что технология Terminal
Services встроена в Windows 2000, нуждаются ли администраторы сетей
Windows 2000 в VNC? Безусловно, да.
По-видимому, в однородной сети
Windows 2000 лучше всего использовать Terminal Services. Это
бесплатный продукт, поставляемый на одном компакт-диске с Windows
2000 Server, достаточно удобный для дистанционного
администрирования. Но в настоящее время лишь в очень немногих средах
применяется единственная операционная система. Главное преимущество
VNC — кросс-платформенная совместимость, благодаря которой с одного
удаленного клиента можно администрировать серверы, работающие на
Windows 2000, NT, Linux и многочисленных разновидностях Unix. Такой
многофункциональный и в то же время бесплатный продукт трудно
превзойти.
Применение VNC и Terminal Services не
приводит к значительному снижению производительности. Как правило,
эти инструменты потребляют лишь небольшую долю ресурсов процессора,
очень мало памяти и почти не увеличивают нагрузку на дисковую
подсистему ввода/вывода. В этом отношении они на голову выше
решений, в большей степени ориентированных на настольные компьютеры
(например, pcAnywhere компании Symantec). VNC обеспечивает надежную
информационную защиту благодаря использованию протокола
аутентификации с квитированием, имеющего много общего с Microsoft
Challenge Handshake Authentication Protocol (MSCHAP), собственным
протоколом аутентификации NT. Кроме того, как VNC, так и Terminal
Services располагают клиентом на базе Windows CE, предоставляющим
возможности истинно дистанционного администрирования.
Тем не менее между VNC и Terminal
Services существует несколько важных различий. Эти различия
относятся к управлению удаленным рабочим столом, технической
поддержке продуктов, ограничениям операционной системы и
быстродействию.
Управление удаленным рабочим
столом. Как отмечалось выше, VNC предоставляет лишь один
дистанционно управляемый рабочий стол, независимо от числа
разрешенных соединений. Terminal Services позволяет двум
администраторам одновременно подключиться к серверу и предоставляет
каждому из них собственный рабочий стол.
Техническая поддержка. В
отличие от производителя Terminal Services, пользователи которой
получают поддержку от Microsoft, ни одна компания технологию VNC не
поддерживает. Однако пользователи могут загрузить исходный текст VNC
и настроить инструмент на конкретное применение. Получить исходный
текст Terminal Services значительно труднее.
Ограничения операционной системы.
Серверная программа Terminal Services поставляется только в составе
Windows 2000 Server и более поздних версий. Но клиентские программы
работают почти на любой 16- и 32-разрядной платформе. Программа
просмотра и сервер VNC совместимы почти со всеми 32-разрядными
операционными системами Windows, в том числе NT Server 4.0, NT
Workstation 4.0 и Windows 9.x. Программа просмотра и сервер работают
и на NT 3.51 (в режиме с ограниченной функциональностью). Мне
удалось успешно запустить сервер VNC даже на третьей бета-версии .NET
Server. Программа просмотра и сервер VNC также работают на системах
Linux и Unix.
Скорость. Процедуры
дистанционного администрирования VNC чуть медленнее, чем Terminal
Services. Иногда приходится ждать, когда VNC обновит удаленный
дисплей.
Remote Command
Некоторое время назад разработчики
Microsoft дополнили набор ресурсов Windows Server программой Remote
Command (rcmd.exe). Утилиту Remote Command можно рассматривать как
вариант Terminal Services или VNC, запускаемый из командной строки:
она позволяет выполнять команды на удаленном сервере. Remote Command,
несомненно, понравится тем администраторам, которые предпочитают
пользоваться командой Net Use вместо графического интерфейса, чтобы
подключиться к удаленному диску. Кроме того, небольшие операции,
запускаемые из командной строки, гораздо быстрее выполняются с
помощью Remote Command, нежели с использованием графического
интерфейса.
Remote Command состоит из двух
компонентов: rcmd.exe (клиентский компонент) и rcmdsvc.exe
(серверный компонент). С помощью этих двух компонентов администратор
может получить доступ к командной строке удаленного сервера,
выполнить команды и завершить сеанс. Он также может инициировать
однокомандный сеанс с автоматической регистрацией, выполнением одной
команды и завершением связи. Например, команда
rcmd.exe \\server1 net share
maryj$=d:\users\maryj
обеспечивает регистрацию на Server1 и
предоставляет в общее пользование каталог D:\users\maryj под именем
MaryJ$. Remote Command можно использовать в сценариях. С помощью
сценариев, запускаемых на рабочей станции, можно администрировать
один или несколько серверов. В большинстве продуктов Microsoft
наряду
с графическим интерфейсом
предусмотрена и командная строка, поэтому основные задачи можно
выполнить с помощью Remote Command.
Механизм защиты Remote Command
довольно прост. Чтобы зарегистрироваться на удаленной машине,
пользователи вводят те же учетные данные, что и для регистрации на
локальном компьютере. Пользователи должны иметь право интерактивной
регистрации на удаленной машине, и все действия производятся в
соответствии с их полномочиями. По умолчанию Remote Command работает
на сервере от имени учетной записи LocalSystem. Remote Command
обслуживает 10 соединений одновременно, обеспечивая уникальную и
независимую оболочку командной строки для каждого соединения.
Remote Command работает на сервере
под учетной записью LocalSystem, поэтому с помощью данной утилиты
сложно выполнить команды, требующие подключения к другому серверу.
Например, чтобы корректно выполнить команду Net Use и сделать диск
общим сетевым ресурсом, необходимо указать для Net Use
альтернативные учетные данные.
Telnet
Корни telnet — в мире Unix, где
утилита считается стандартным административным инструментом. По
принципу работы telnet очень похожа на Remote Command, она также
обеспечивает доступ к удаленному серверу из командной строки. Но в
отличие от утилиты Remote Command, ориентированной на сети Microsoft,
telnet основана на открытых стандартах. Существуют клиенты telnet
для Palm PDA, устройств Windows CE и почти любых TCP/IP-совместимых
машин; Remote Command работает только с Windows XP, Windows 2000 и
NT.
Администраторы сетей с
маршрутизаторами и коммутаторами, вероятно, знакомы с telnet,
поскольку данная утилита — основной инструмент управления такими
устройствами (хотя многие изготовители начинают встраивать в свои
сетевые устройства административные интерфейсы на базе Web).
Администраторам, которые привыкли работать с telnet, будет приятно
узнать, что эту службу можно запустить и на серверах Windows.
В действительности, Windows 2000
располагает встроенной службой telnet. В целях безопасности службу
требуется запускать вручную. Систему можно настроить на
автоматический запуск службы или запускать вручную в случае
необходимости.
Служба telnet Windows 2000
обеспечивает работу двух соединений. Как правило, для дистанционного
администрирования этого достаточно. Для дополнительных соединений
можно использовать продукт Microsoft Windows Services for UNIX (SFU),
который располагает более мощной службой telnet и может быть
лицензирован для обслуживания большего числа соединений. Microsoft
также выпустила утилиту командной строки telnet Server
Administration для настройки режима аутентификации службы, порта TCP
и других параметров. Значок утилиты расположен в разделе
Administrative Tools панели управления. Microsoft не выпускает
серверной программы telnet для NT, но в Internet нетрудно найти
бесплатные и недорогие NT-совместимые серверы telnet.
Telnet — почти идеальный инструмент
для смешанной операционной среды, так как, скорее всего, служба уже
работает на серверах, отличных от Windows. Но следует помнить, что
telnet была разработана на ранних стадиях развития Internet, когда
проблема безопасности не была столь актуальной. В telnet нет
механизма шифрования — все данные пересылаются в текстовом формате.
По умолчанию в службе Microsoft
telnet используется достаточно надежный метод аутентификации MSCHAP.
Но его можно настроить на прием чисто текстовых паролей — совершенно
незащищенный, но необходимый способ при обращении к telnet с
компьютера, не совместимого с MSCHAP, например с настольной машины
Unix. Telnet подходит для внутренних серверов, но мало кто рискнет
использовать данную службу для серверов, подключенных к Internet.
Это связано, прежде всего, с тем, что стандартный TCP-порт telnet
(23) — первый порт, который атакует большинство взломщиков.
Remote Shell
Remote Shell — инструмент удаленного
управления, запускаемый из командной строки, очень похожий на Remote
Command и telnet. Remote Shell состоит из двух компонентов:
серверного (rshsvc.exe) и клиентского (rsh.exe). Оба компонента
входят в состав Microsoft Windows 2000 Server Resource Kit и набор
ресурсов NT Server 4.0.
Remote Shell — кросс-платформенный
инструмент. Многие серверы Unix совместимы с Remote Shell, а
большинство операционных систем с поддержкой TCP/IP располагает
клиентом Remote Shell. Благодаря такой поддержке Remote Shell может
быть альтернативой для Remote Command в гетерогенных средах. Однако
Remote Shell защищена хуже, чем Remote Command и telnet.
В папке \%systemroot%\system32\drivers\etc
необходимо создать файл с именем RHOSTS для хранения списка
компьютеров, на которых может работать rsh.exe, и имен
пользователей, имеющих право запускать rsh.exe на конкретной машине.
При попытке пользователя установить связь Rshsvc.exe выполняет поиск
в этом файле в обратном порядке. Программа разрешит соединение
только после того, как обнаружит имя компьютера и пользователя. Для
обращения к Remote Shell пароля не требуется.
Из-за слабых встроенных функций
защиты Remote Shell многие администраторы предпочитают более
надежные варианты инструмента производства независимых компаний. В
частности, широко распространен пакет Secure Shell компании SSH
Communications.
Remote Console
Функционально близкая к telnet
утилита Remote Console отличается тем, что она не просто
перенаправляет командную строку с сервера на компьютер, а позволяет
управлять видеопамятью удаленного сервера и запускать такие
полноэкранные приложения командной строки, как MS-DOS Edit. По
умолчанию, утилитой могут пользоваться только члены группы
Administrators сервера. Это ограничение можно снять, разрешив и
другим пользователям подключаться к службе. Программное обеспечение
и документацию Remote Console можно получить вместе с комплектом
ресурсов Windows 2000 Server или NT Server 4.0.
Как выбрать инструмент?
Подбирая подходящий инструмент,
следует тщательно взвесить потребности компании, а если
вычислительная среда состоит из нескольких серверных операционных
систем, отличных от Windows или дополняющих Windows 2000 и NT,
необходимо учесть и возможность кросс-платформенного дистанционного
администрирования.
Рекомендуется использовать по крайней
мере один графический инструмент дистанционного администрирования,
такой, как Terminal Services или VNC. Во врезке «Большой выбор»
приведена информация об особенностях других графических решений.
Кроме того, следует выбрать один из
инструментов дистанционного администрирования с командной строкой. В
средах Unix повсюду применяется telnet. Выбор telnet оправдан в тех
организациях, где уже работают с Unix.
С помощью Remote Command можно
выполнять команды администрирования по одной. Эта утилита удобна для
использования в сценариях и автоматических процедурах. Remote Shell
совместима с различными платформами, хотя настройка режима
безопасности на отдельных серверах может отнимать много времени.
Remote Console позволяет дистанционно запускать приложения MS-DOS на
полном экране.
Независимо от выбранного решения,
необходимо проверить, подходит ли клиентское программное
обеспечение, установив клиенты на управляющей рабочей станции как
дома, так и в офисе. Записав программы установки различных клиентов
на компакт-диск, их можно распространить среди администраторов
предприятия или взять с собой в командировку (на всякий случай).
Правильно подобранный набор инструментов дистанционного
администрирования поможет в любое время устранить неполадки и
обслуживать сервер из любого места, где бы ни находился
администратор.
Дон Джонс — автор,
специализирующийся на технической тематике. Учредитель компании
BrainCore.Net. С ним можно связаться по электронной почте по адресу:
donj@braincore.net.
В распоряжении администраторов
Windows всегда был богатый набор графических инструментов
дистанционного администрирования. Прошло немало времени с момента
появления Virtual Network Computing (VNC), а многие организации
по-прежнему используют программу pcAnywhere компании Symantec вместо
встроенных терминальных служб Windows 2000 Server.
Эффективность дистанционного
администрирования очевидна, но выбрать оптимальный инструмент
нелегко. Вот несколько советов.
Избегайте решений, связанных с
высокой нагрузкой на процессор. В частности, во время сеанса
pcAnywhere нагрузка на процессор может возрасти на 20%.
Выбирайте клиентскую программу
дистанционного администрирования, с помощью которой можно
одновременно управлять несколькими серверами с настольного
компьютера. Такая возможность предусмотрена как в службе VNC,
так и в Terminal Services.
Выбирайте компактную клиентскую
программу. Клиент VNC, как и Terminal Services, легко умещается
на дискете.
Выбирайте решение, которое
позволяет администрировать все серверы с помощью одного клиента.
В смешанной операционной среде предпочтительна
кросс-платформенная служба VNC.
Исходя из безусловного права личности на собственную безопасность всем предоставляется
право свободного копирования, распространения
и издания этих материалов, как в полном объеме, так и по частям в любых комбинациях!