{"id":328,"date":"2012-08-09T14:19:43","date_gmt":"2012-08-09T17:19:43","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=328"},"modified":"2012-08-09T14:19:43","modified_gmt":"2012-08-09T17:19:43","slug":"etherwake-wake-on-coioti","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=328","title":{"rendered":"Etherwake + wake on coioti"},"content":{"rendered":"<p><strong>Apresenta\u00e7\u00e3o e M\u00e3o na Massa<\/strong><\/p>\n<div>Ol\u00e1 amigos do VOL! Este \u00e9 o meu primeiro artigo aqui no site e vou falar sobre uma tecnologia j\u00e1 antiga (1996) e que quase n\u00e3o se ouve falar dela, mas pode ser \u00fatil a muitos administradores de rede e usu\u00e1rios dom\u00e9sticos. Ela se chama <em>WOL<\/em> (Wake on Lan &#8211; Acordado pela rede).<\/p>\n<p>&#8211; Resumo:<\/p>\n<p>O conceito de Wake on Lan (WOL) foi desenvolvido pela AMD em 1996 com a finalidade de &#8220;acordar&#8221; computadores atrav\u00e9s de evento na placa de rede causado pelo envio de uma sequ\u00eancia especial de pacotes que tem como destino o endere\u00e7o MAC da placa de rede.<\/p>\n<p>&#8211; Pr\u00e9-requisitos:<\/p>\n<p>Para que esse procedimento seja realizado com sucesso, algumas configura\u00e7\u00f5es s\u00e3o necess\u00e1rias. O suporte ao WOL deve vir disponibilizado na placa m\u00e3e ou na placa de rede caso essa seja off-board. N\u00e3o \u00e9 poss\u00edvel integrar o suporte ao WOL em um equipamento que n\u00e3o tenha esse suporte nativo de f\u00e1brica.<\/p>\n<p>Para que seu equipamento mantenha a placa de rede ativa mesmo com o computador desligado \u00e9 preciso que voc\u00ea esteja usando uma placa-m\u00e3e ATX 20 ou 24 pinos com uma fonte tamb\u00e9m ATX capaz de prover ao menos 900mA de corrente, para que a BIOS seja ativada mesmo sem o start do sistema (acredito que todas as placas ATX de hoje tenham suporte nativo ao WOL e todas as fontes do mercado sejam capazes de prover 900mA \u00e0 placa-m\u00e3e).<\/p>\n<h1>M\u00e3o na massa<\/h1>\n<p>&#8211; Configurando a BIOS:<\/p>\n<p>As configura\u00e7\u00f5es da BIOS para ativar o WOL dependem de cada fabricante, mas geralmente est\u00e3o nas op\u00e7\u00f5es de energia da placa onde se pode habilitar o LAN Event ou PME Event como enable, disable ou last state.<\/p>\n<ul>\n<li>Enable &#8211; WOL habilitado para ligar a m\u00e1quina por eventos de rede;<\/li>\n<li>Disable &#8211; WOL desabilitado;<\/li>\n<li>Last state &#8211; WOL habilitado para ligar o computador caso esteja desligado e desligar caso esteja ligado. Mas para desligar o computador via WOL \u00e9 preciso tamb\u00e9m algumas configura\u00e7\u00f5es no sistema operacional.<\/li>\n<\/ul>\n<div><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bios-wake-on-lan-2.jpg\" alt=\"Linux: Etherwake + wake on coioti\" width=\"369\" height=\"304\" \/><\/div>\n<p>Feito isso, salve as configura\u00e7\u00f5es e reinicie a m\u00e1quina. Como as configura\u00e7\u00f5es s\u00e3o feitas diretamente na BIOS o WOL n\u00e3o depende de sistema operacional para ligar o computador mas depende do sistema caso deseje tamb\u00e9m poder desligar a maquina via WOL, nesse caso eu indico que procure como fazer essa configura\u00e7\u00e3o em seu sistema levando em conta que a gama de sistemas \u00e9 grande demais para abordarmos todos neste tutorial.<\/p>\n<p>&#8211; Configura\u00e7\u00e3o do sender:<\/p>\n<p>Vamos chamar a m\u00e1quina que vai enviar os pacotes de sender, ok? No meu caso eu uso <em>Ubuntu<\/em> mas o aplicativo que faz o envio dos pacotes \u00e9 compat\u00edvel com quase todas as distribui\u00e7\u00f5es que conhe\u00e7o. O pacote se chama <em>Etherwake<\/em> um aplicativo simples de usar e de instalar. Para quem usa Ubuntu:<\/p>\n<p><strong># apt-get install etherwake<\/strong><\/p>\n<p>Em outros sistemas pode ser instalado atrav\u00e9s do source dispon\u00edvel em: <a href=\"http:\/\/archive.debian.org\/debian\/pool\/main\/e\/etherwake\/etherwake_1.09.orig.tar.gz\">http:\/\/archive.debian.org\/debian\/pool\/main\/e\/etherwake\/etherwake_1.09.orig.tar.gz<\/a><\/p>\n<p>Descompacte o pacote usando o comando:<\/p>\n<p><strong>$ tar -zxvf etherwake_x.xx.orig.tar.gz<\/strong><\/p>\n<p>Entre no diret\u00f3rio descompactado:<\/p>\n<p><strong>$ cd etherwake_x.xx.orig<\/strong><\/p>\n<p>E compile o c\u00f3digo:<\/p>\n<p><strong># gcc ether-wake.c<\/strong><\/p>\n<p>Renomeie o execut\u00e1vel:<\/p>\n<p><strong># mv a.out etherwake<\/strong><\/p>\n<p>Feito isso \u00e9 s\u00f3 mover para o diret\u00f3rio \/bin para ficar dispon\u00edvel de qualquer lugar do sistema.<\/p>\n<\/div>\n<p><strong>Usando o aplicativo Etherwake e wake on coioti<\/strong><\/p>\n<p>Para enviarmos o pacote do sender para o alvo precisamos saber o endere\u00e7o MAC do alvo. Ent\u00e3o, digamos que o meu alvo tem uma placa com MAC 70-71-BC-4E-3A-DB e esteja ligado na mesma rede que meu sender e tamb\u00e9m esteja ligado \u00e0 rede el\u00e9trica.<\/p>\n<p>Ent\u00e3o o comando ficaria assim<\/p>\n<p><strong># etherwake 70:71:BC:4E:3A:DB<\/strong><\/p>\n<p>Assim o comando envia a sequ\u00eancia de pacotes ao alvo e a placa de rede aciona o start da placa-m\u00e3e atrav\u00e9s do evento que recebeu em seu endere\u00e7o MAC.<\/p>\n<p>O pacote etherwake ainda tem a op\u00e7\u00e3o -b de broadcast que envia o pacote de start para todas as m\u00e1quinas da rede:<\/p>\n<p><strong># etherwake -b<\/strong><\/p>\n<p>At\u00e9 aqui tudo bem, vou na m\u00e1quina alvo, pego o MAC da placa e habilito na BIOS, isso \u00e9 f\u00e1cil, mais e se eu tiver um parque com 400 m\u00e1quinas?<\/p>\n<p>Como fazer para gerenciar uma lista com todos os MACs de todas as placas ?<\/p>\n<p>Complicado n\u00e9? Foi com esse tipo de problema que me deparei quando comecei a implementar essa tecnologia em alguns clientes.<\/p>\n<p>Decorar o endere\u00e7o MAC de cada m\u00e1quina com 6 d\u00edgitos hexadecimais \u00e9 muito complicado, uma planilha eletr\u00f4nica ficaria muito extensa e mesmo com os filtros se tornaria chato ter que digitar o MAC para cada m\u00e1quina que pretendo enviar o comando do sender.<\/p>\n<p>&#8211; Interface Wake-on-coioti<\/p>\n<p>Por isso resolvi criar um mini aplicativo em shell script de c\u00f3digo aberto e licen\u00e7a GPL para simplificar a vida de quem deseja implementar esta solu\u00e7\u00e3o em sua rede. Eu chamei o aplicativo de <em>Wake-on-coioti<\/em> e est\u00e1 dispon\u00edvel neste link: <a href=\"https:\/\/docs.google.com\/folder\/d\/0B82H-j3D_YFvNDNRTkhoZzdYN1U\/edit\">https:\/\/docs.google.com\/folder\/d\/0B82H-j3D_YFvNDNRTkhoZzdYN1U\/edit<\/a><\/p>\n<p>Usando essa interface \u00e9 poss\u00edvel dar um &#8220;apelido&#8221; \u00e0s m\u00e1quinas, como por exemplo a m\u00e1quina do Diretor Geral da empresa que tem seu hostname como Dirgeral e endere\u00e7o MAC 70-71-BC-4E-3A-DB. Assim, pode ser adicionada ao banco do aplicativo com o apelido de <em>dirgeral<\/em> e na hora de acordar a m\u00e1quina usaremos o comando:<\/p>\n<p><strong># wake -i dirgeral<\/strong><\/p>\n<p>Sem se importar qual \u00e9 realmente o endere\u00e7o MAC da placa de rede.<\/p>\n<p>Al\u00e9m disso \u00e9 poss\u00edvel mandar os pacotes para todas as m\u00e1quinas cadastradas em seu banco usando o par\u00e2metro <em>-t<\/em> e fazer backup do banco de m\u00e1quinas cadastradas.<\/p>\n<p>&#8211; Instalando o Wake-on-coioti<\/p>\n<p>Depois de baixar o wake-on-coioti, basta descompactar:<\/p>\n<p><strong>$ tar -zxvf Wake_on_Coioti_Vx.x.tar.gz<\/strong><\/p>\n<p>Entrar no diret\u00f3rio que foi criado:<\/p>\n<p><strong>$ cd Wake_on_Coioti_Vx.x<\/strong><\/p>\n<p>Verifique as permiss\u00f5es do execut\u00e1vel install.sh e se por acaso n\u00e3o estiver com permiss\u00e3o de execu\u00e7\u00e3o use o comando abaixo para torn\u00e1-lo um execut\u00e1vel:<\/p>\n<p><strong>$ chmod -x install.sh<\/strong><\/p>\n<p>Dica: Leia o arquivo de README para obter todas as informa\u00e7\u00f5es sobre a vers\u00e3o e particularidades do aplicativo.<\/p>\n<p>Depois execute o instalador como root:<\/p>\n<p><strong># .\/install.sh<\/strong><\/p>\n<p>Depois de instalado o aplicativo fica dispon\u00edvel em <em>\/bin<\/em> e sua lista em <em>\/opt\/te<\/em>.<\/p>\n<p>Para chamar o aplicativo basta digitar como root o comando <em>wake<\/em> seguido do par\u00e2metro que deseja e o alvo. Use o paramento <em>&#8211;help<\/em> para obter todas as op\u00e7\u00f5es do aplicativo.<\/p>\n<p>Para cadastrar uma m\u00e1quina use o comando:<\/p>\n<p><strong># wake -c<\/strong><\/p>\n<p>Para dizer ao programa que voc\u00ea quer cadastrar um novo computador. Digite o apelido que voc\u00ea deseja dar a esse computador e caso ele ainda n\u00e3o esteja cadastrado ele vai pedir o endere\u00e7o MAC da m\u00e1quina que deve ser digitado usando &#8220;:&#8221; (dois pontos) para separar os caracteres hexadecimais.<\/p>\n<p>Com a m\u00e1quina cadastrada podemos usar o comando:<\/p>\n<p><strong># wake -i &lt;apelido&gt;<\/strong><\/p>\n<p>Para iniciar um computador ou:<\/p>\n<p><strong># wake -t<\/strong><\/p>\n<p>Para iniciar todos os computadores cadastrados.<\/p>\n<p>Existem outros comandos que fazem backup, apagam, listam e etc.<\/p>\n<p>Use o:<\/p>\n<p><strong># wake &#8211;help<\/strong><\/p>\n<p>Para visualizar todas as op\u00e7\u00f5es ou leia o README.txt que acompanha o pacote.<\/p>\n<p>Espero ter ajudado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apresenta\u00e7\u00e3o e M\u00e3o na Massa Ol\u00e1 amigos do VOL! Este \u00e9 o meu primeiro artigo aqui no site e vou falar sobre uma tecnologia j\u00e1 antiga (1996) e que quase n\u00e3o se ouve falar dela, mas pode ser \u00fatil a muitos administradores de rede e usu\u00e1rios dom\u00e9sticos. Ela se chama WOL (Wake on Lan &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51],"tags":[160,159],"class_list":["post-328","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-coioti","tag-wake"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=328"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/328\/revisions"}],"predecessor-version":[{"id":329,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/328\/revisions\/329"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}