Сказка — ложь, да в ней намек.

Добрым молодцам урок!

(c) А.С. Пушкин

 

Собственно сказка

 

Жил Иван тихо-мирно, службу справлял исправно, апгрейды вовремя проводил, о резервных копиях не забывал, за что и был царем жалован неоднократно подарками дорогими, заморскими. Но однажды приснился ночью Ивану сон — будто бы никакой он не сисадмин, а самый что ни на есть настоящий Иван-царевич. И что пришлось ему отправиться в путь неблизкий, за тридевять земель, в тридесятое царство за спящей красавицей. Пригорюнился Иван, да делать нечего — все мануалы прочел с дополнениями, мудрецов поспрошал и отправился, повеселев изрядно,— не такой уж и страшной задача показалась. Дорогу обьяснили, о препятствиях предупредили, да и царь-отец не оплошал — меч-кладенец, доспех воинский да коня доброго выдал, а что принцессу будить — так и вообще просто оказалось — поцеловать, и всех делов.

 

Долго ли, коротко — добрался до цели Иван. Через леса дремучие прорубался, с пришельцами космическими воевал, реки да горы на пути вставали — преодолел он все преграды. В замок вошел, а там все как и положено — гроб хрустальный на цепях, а в нем девица красоты неописуемой (ну, сон все-таки!) лежит. Заклятье Иван как следует произнес, не зря мудрецы царские хлеб свой ели, научили правильно, крышка открылась, и с трепетом душевным Иван приступил к финальной части — смущаясь до красноты, поцеловал красавицу... а она не проснулась. Иван повторил. Ноль на выходе. Не просыпается — и все тут! И понял Иван, что не обьяснили ему, как надо было целовать, и куда тоже не просветили. И начал целовать ее Иван-царевич неистово и куда попало и тут проснулся в холодном поту...

 

“Да уж,— подумал Иван,— вот что значат мелочи в нашей работе!. Слава Торвальдсу, что это был всего лишь сон!”. И собрался уж было на службу идти, да не тут-то было! В дверь, не постучав, вломились стрельцы царские с дьяком думным во главе. “Велено тебе, Ванюша, сей же час предстать пред светлы царевы очи, а коли добром не явишься — силою вести приказано. О чем и указ царский есть о семи полосах штрих-коду, сам видишь!” — молвит дьяк со значением. Провел Иван сканером по пергаменту царскому, убедился, что верно все, и пошел, пригорюнясь. “И что царю-батюшке вновь пригрезилось? Уж не вирус ли какой на царев компьютер пробраться сумел? Али враги заморские, в онлайн-чайхане сидючи, скопом думный сервер взломали, мою защиту порушив?” И уж совсем некстати вспомнилось Ивану, что намеднись Марфе, царевой дочке, интернет отключил за систематическую рассылку заморским принцам фотографий непотребных содержания прельстительного, за что Марфа извести его обещала...

 

Но все на свете имеет свое логическое завершение, и предстал-таки Иван пред очи царевы светлые, и бухнулся в ноги царю-батюшке, вопия: “Не вели казнить, отец родной, вели миловать — не знаю, в чем провина моя пред тобою, чист я, аки агнец невинный, а ежели навет на меня какой, так ты, батюшка, не верь тому клеветнику — видать, не угодил кому! А ежели проблема какая — живот положу, но вдругорядь не допущу!” А царь ему в ответ и говорит: “Не велика твоя вина, Ваня, но и малую вину видеть должно. А беда такая — жалуются бояре мои, что тяжко работать им стало. Мешаешь ты им своими профилактическими работами да антивирусными рейдами. Намеднись вот подсыла иноземного упустили, письмо отправить не могли на заставу государеву — ты, говорят, как раз фильтр какой-то к серверу почтовому прикручивал. Был грех?!” “Грешен, батюшка! Винюсь! Да как же было не прикручивать, когда вирусы злобные по сети так и рыщут, аки волки! Информацию ценную испортят — ты же с меня первого голову снимешь!” Призадумался царь, но ненадолго. “Дело-то хорошее, правильное, не спорю. А ты по ночам профилактику делай да по выходным дням, вот и дело с концом?” Иван чуть не в обморок падает: “Да как же так, государь-батюшка? Кто же меня, сирого да убогого, в думные палаты ночью пустит? Да меня стрельцы, что на охрану палат ночью ставлены, зарубят невзначай, за татя приняв нощного, да и сигнализация у них, мудрецами да волхвами твоими ставленная, неотключаема! Да я бы и удаленно то мог сделать, да бояре на ночь выключают все!” Нахмурился царь: “Не царское это дело, Ваня, сисадминов учить, как им работать, но придется, видно. Так знай же, что в земле заморской давно уже так делают. Компьютеры да серверы удаленно включают, делают, что надо, а потом выключают. Технология сия, Wake on LAN именуемая, нынче каждой современной сетевой картой поддержана, да и компьютеры наши давным-давно умеют с такими картами работать. Так что делай, чтоб не хуже, чем у заморских было! Сроку тебе на сие действо — три дня и три ночи. Справишься — награжу, не справишься — мой меч, твоя голова с плеч!”

 

Поклонился Иван царю в пояс и пошел работать. Три дня и три ночи пытался он разбудить компьютер. Ничего у него не получалось. Уж он и ping’ами его, и через браузер — и ни в какую! Пол-интернета обыскал, так ничего и не получилось. Понял тогда Иван, что сон его вещий был — а время-то на исходе, к царю с докладом пора идти. И пошел. А по дороге повстречал бабку старую, немощную: “Что, молодец, невесел? Али зазноба на тебя в обиде? Ты уж расскажи мне, милок, в чем горе твое, авось, помогу чем?”. Поведал ей Иван про беду свою, а бабка и говорит: “Не с того конца, милок, ты за дело брался — надо было тебе документацию читать нужную да с людьми знающими поговорить. Всего-то и дела тебе было — раздобыть Magic packet особый да програмку написать невеликую. Вот и всего-то!”

 

Поблагодарил бабку Иван и бегом к царю побежал. “Вот, мол, батюшка-царь, не обессудь — задачу не решил, да вразумили меня, что надо тут особый подход применять — магический! Заклинание особое надо, а где его искать, не знает никто!”

Задумался царь. Велел созвать мудрецов да бояр думных, у них спросил — да никто не знает. А тут, как на беду, гость заморский — в гости приехал. “Позвольте,— говорит,— какая-такая магия? Все просто!” И показал. Осерчал царь не на шутку. “Да что ж ты, такой-сякой непотребный, меня позоришь перед гостем заморским?! Царя обмануть решил, Иван?! А ну, палача ко мне!” И отрубил Ивану буйну голову...

 

А у гостя заморского за большие деньги нового сисадмина выписал да на дочке своей, Марфе, женил — чтоб от глупостей вылечил.

 

И это все? А дальше?

 

А дальше — разбор полетов. Ивана, конечно, жаль, но жизнь продолжается. Да и не рубят нынче головы нерадивым сисадминам, разве что с работы выгонят. А чтобы избежать таких неприятностей, предпримем попытку разобраться, что же, собственно, это такое — Wake on LAN — и с чем его едят. Самое интересное то, что большинство знакомых компьютерщиков моментально отмахиваются от этого вопроса. Мол, чего там сложного — элементарно. Пришел запрос по сетке, машинка и проснулась. Просьба показать, что именно надо делать, не находила отклика. Как выяснилось впоследствии, очень немногие сталкивались с этой технологией на практике. Пришлось разбираться “с нуля”.

 

И что же это такое?

 

Как оказалось, Wake on LAN есть не что иное, как возможность включения удаленного компьютера с помощью специального “магического” пакета, посланного на этот компьютер по сети. Разумеется, магии тут нет никакой — главное требование, чтобы в компьютере были установлены сетевая карта и материнская плата, совместимые с этой технологией. Как это работает? Да очень просто — в то время, когда компьютер выключен, сетевая плата продолжает оставаться под напряжением питания. Она продолжает “слушать” сеть в ожидании того самого магического пакета (magic packet). Этот пакет содержит весьма определенную специфическую последовательность байтов и может быть инкапсулирован (“завернут”) в пакет любого типа: IP, IPX или любого другого. Скажем, при использовании UDP пакет будет выглядеть:

 

 

Получив этот пакет, сетевая карта ничего не отвечает. Просто выдает сигнал, который включает компьютер.

 

С чего начать?

 

С “железа”. В обязательном порядке необходим Green PC — с биосом, поддерживающим опцию “Wake on LAN”. Как правило, для Award-bios она находится в разделе Power Management Setup. Кроме того, стоит убедиться, что шина PCI версии 2.2. Также необходимо наличие сетевой платы, оборудованной 3-контактным разъемом для подключения к материнской плате. Одна из таких плат — Intel EtherExpress Pro/100+, построенная на чипсете 82559. Стоит отметить, что “не все сетевые платы одинаково полезны” — несмотря на заявления продавцов о полной совместимости со стандартом, некоторые платы отказываются работать, в частности, некоторые клоны, построенные на чипсете 8139. Так что будьте внимательны при покупке.

 

И это все?

 

Как бы не так. Предположим, что все собрано, опции в БИОСе и у сетевой карты установлены, можно приступать к экспериментам. Как? Уже начали набирать ping?.. Ну-ну. И что? Бесполезно? Надо же... Почему? Хотя бы по той простой причине, что сетевая плата слыхом не слыхивала ни о каком TCP/IP. Равно как и о других протоколах, работа с адресами верхнего уровня — прерогатива отнюдь не железа, а исключительно драйверов операционной системы. А вот “железо” знает только один тип адреса: MAC-адрес. Который не имеет никакого отношения к протоколам, более того— этот аппаратный адрес уникален для каждой сетевой платы. Сам по себе он является 48-битной последовательностью, разбитой на 6 октетов. Как правило, записывается в шестнадцатеричной форме как шесть байт, разделенных двоеточием — например, 10:20:30:4A:FF:01. Первые три из них являются кодом производителя, что зачастую позволяет подтвердить подлинность изделия. Так вот: для того, чтобы начать “будить” машину удаленно, этот адрес надо знать обязательно. Пользователи операционной системы Линукс могут узнать его, набрав команду

 

# arping <-I имя_севого_устройства> <адрес TCP/IP>

 

Результат должен быть примерно таким:

 

# arping -I eth0 10.0.0.1

ARPING 10.0.0.1 from 10.0.0.2 eth0

Unicast reply from 10.0.0.1 [00:30:84:0A:08:00] 0.955ms

Unicast reply from 10.0.0.1 [00:30:84:0A:08:00] 0.765ms

Unicast reply from 10.0.0.1 [00:30:84:0A:08:00] 0.697ms

Sent 3 probes

Received 3 response(s)

 

Вуаля! В квадратных скобках имеем искомый адрес. Запишем его на ма-а-аленькую бумажку. Кстати — данный способ годится только в случае, когда удаленная машина включена и на ней поддержан протокол TCP/IP, так что будьте внимательны. Для получения аппаратного адреса своей персональной машины проще всего набрать

 

# ifconfig <адрес_устройства>

И получить в ответ что-то вроде

# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:30:84:0A:08:17

inet addr:10.0.0.2 Bcast:10.0.0.111 Mask:255.255.255.224

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:48268 errors:0 dropped:0 overruns:0 frame:0

TX packets:39435 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

Interrupt:11

 

В поле HWaddr обнаруживаем искомое значение и тихо радуемся. А вот пользователям DOS и Windows придется найти дискету с “родными” драйверами и запустить программу настройки/мониторинга сетевой платы.

 

 

В поле MAC — опять же знакомая последовательность. Кстати, многие “фирменные” сетевые платы идут с утилитами, которые позволяют просмотреть (и настроить!) многие параметры прямо под Windows. Заодно нелишним будет убедиться в том, что опция “Wake on LAN” включена — для некоторых сетевых плат значение по умолчанию: “Disabled” или “Off”.

 

Поступали сведения и о том, что в программах настройки сетевых плат некоторых производителей начисто отсутствует пункт меню, отвечающий за “Wake on LAN” — и при этом ничего не работает. В этом случае может спасти поход на сайт фирмы-производителя и выкачивание оттуда либо свежайшей версии утилиты, либо отдельной программки, которая и выполняет необходимые настройки. Если ничего не помогает — меняйте сетевую плату на “честную”. Не работающие 3COM и Intel пока еще не попадались.

 

Магическое отступление

 

Для тех, кто все-таки несмотря ни на что заинтересовался наличием магии в посылаемом пакете, сообщаем — нет там никакой магии. Ни черныя, ни белыя, ни серыя. А есть раз и навсегда определенная последовательность байт, получив которую, сетевая плата реагирует должным образом. Сама последовательность весьма проста — вначале идет так называемая “цепочка синхронизации”, состоящая из 6 байт FF, а затем — собственно адрес сетевой платы, повторенный 16 раз. То есть, если бы адрес платы выглядел как 01:02:03:04:05:06, то магический пакет оказался бы таким:

 

 

FFFFFFFFFFFF010203040506010203040506010203040506010203040506

010203040506010203040506010203040506010203040506010203040506

010203040506010203040506010203040506010203040506010203040506

010203040506010203040506

 

Вот и вся магия. Для программистов, в достаточной степени владеющих навыками написания приложений для работы с сетью, написать программку, посылающую данный пакет, не составит труда. А как быть тем, кто не хочет писать программу самостоятельно? Ничего сложного тоже не предвидится. Уже постарались...

Так где взять?

Для счастливых обладателей ОС Линукс есть возможность скачать из интернета простенькую программку, которая и выполняет требуемое. Именуется сия софтинка весьма прозаически — “wakeonlan”, доступна по адресу http://gsd.di.uminho.pt/jpo/software/wakeonlan/ и представляет собой скрипт, написанный на языке Perl. Распространяется свободно, в исходниках, так что можно даже разобраться, “как оно работает”. Для тех, кто в силу собственной оригинальности не любит Perl — рекомендую посетить страничку http://www.scyld.com/expert/wake-on-lan.html, где мало того, что предложены исходные тексты программы на языке С (ether-wake.c), но и дана подробная инструкция с описанием того, что и как работает.

Существуют и программы для Windows — в частности, Intel Landesk Management Suite (Intel), PCnet Magic Packet Utility (AMD Inc.), а также программка на Visual Basic, которую можно взять по адресу http://www.barcode-search.com/wakeonlan.zip.

 

Подробную инструкцию по настройке Win2K можно почитать на сайте Microsoft, а для тех, кто хочет углубить свои познания в данной области стоит посетить сайт создателей технологии Wake On Lan - Advanced Micro Devices, Inc. - www.amd.com.

 

 

Заключение

 

...Жила-была по соседству Василиса Премудрая, девица красная. И была у ней фирма собственная, аудиторская с бухгалтерским уклоном. Прослышала она про беду, что с Иваном приключилась, достала с полки сулею ведерную с живой водой и воскресила Ивана непутевого тайком от царя. А воскресив, сказала: “Иди, Ванюша, ко мне в мужья, а на фирму мою администратором системным. Будешь бухгалтерскую программу нашу осваивать, да за сетью присматривать. А компьютеров у меня пяток всего, да и технологии заморские ни к чему. Будем с тобой тихо-мирно жить-поживать, добра наживать да детишек растить”. Подумал Иван, да и согласился. Решил, что ни к чему ему, дураку, технологии сложные, заморские — лучше уж попроще, да понадежнее. Так что сидит он и по сей день в фирмочке маленькой, на великое не зарится да судьбу благодарит — за вразумление непутевого...

2004.04.14
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".