{"id":144,"date":"2024-12-12T14:14:04","date_gmt":"2024-12-12T12:14:04","guid":{"rendered":"https:\/\/rogaleskoo.ddns.net\/?p=144"},"modified":"2024-12-12T16:13:13","modified_gmt":"2024-12-12T14:13:13","slug":"zdalne-odpalanie-hosta","status":"publish","type":"post","link":"https:\/\/rogaleskoo.ddns.net\/index.php\/2024\/12\/12\/zdalne-odpalanie-hosta\/","title":{"rendered":"Zdalne odpalanie hosta."},"content":{"rendered":"\n<p>Czasem mamy tak\u0105 sytuacj\u0119, \u017ce musimy uruchomi\u0107 maszyn\u0119 znajduj\u0105c\u0105 si\u0119 w sieci LAN a nie mamy nikogo kto by j\u0105 w\u0142\u0105czy\u0142. Z rozwi\u0105zaniem tego problemu pomagaj\u0105 nam mo\u017cliwo\u015bci urz\u0105dze\u0144 firmy Mikrotik<\/p>\n\n\n\n<p>Jak to zrobi\u0107?<br>Komputer musi mie\u0107 uruchomion\u0105 w BIOS i przetestowan\u0105 obs\u0142ug\u0119 WoL (Wake on Lan). Jak to nam dzia\u0142a to ju\u017c z g\u00f3rki.<br>Mikrotik obs\u0142uguje wysy\u0142anie magic pakiet\u00f3w i jest to odr\u0119bne narzedzie w \/tool, kt\u00f3re mo\u017cemy wykorzysta\u0107 w skrypcie, kt\u00f3ry mo\u017cna wrzuci\u0107 do schedulera wi\u0119c mamy automatyzacj\u0119 odpalania.<br>Pozostaje zbudowanie wyzwalacza i zabezpieczenie go przed przypadkowym uruchomieniem.<br>Routery Mikrotika pozwalaj\u0105 przy pomocy regu\u0142 firewalla na dodawanie adres\u00f3w, kt\u00f3re &#8222;pukaj\u0105&#8221; do naszego urz\u0105dzenia, do list adres\u00f3w a te z kolei mo\u017cna wykorzystywa\u0107 w regu\u0142ach firewall.<br>Na tych funkcjonalno\u015bciach zbudujemy spust i &#8222;bezpieczniki&#8221;.<\/p>\n\n\n\n<p>Zaczynamy!<br><br>Na samym pocz\u0105tku dodajemy do FW wpis tworz\u0105cy list\u0119 adres\u00f3w ip, kt\u00f3re zapuka\u0142y na konkretny port i konkretnym protoko\u0142em.<\/p>\n\n\n\n<p>\/ip firewall filter add action=add-src-to-address-list address-list=666 address-list-timeout=\\<br>5m chain=input dst-port=666 protocol=tcp<\/p>\n\n\n\n<p>\/ip firewall filter add action=add-src-to-address-list address-list=666 &#8211; tworzy adress list\u0119 o nazwie 666<br>address-list-timeout=5m &#8211; ustawia czas \u017cycia addres listy na 5 minut. Jest to wazne aby po jakim\u015b czasie lista znikn\u0119\u0142a co zabezpiecza nam drugi etap. Czym krotszy jest czas \u017cycia pierwszej listy tym bezpieczniej.<br>chain=input &#8211; okre\u015bla kierunek sk\u0105d przychodz\u0105 akceptowane zapytania<br>dst-port=666 &#8211; okre\u015bla port na jaki maj\u0105 przychodzi\u0107 zapytania<br>protocol=tcp &#8211; okre\u015bla protok\u00f3\u0142<\/p>\n\n\n\n<p>Nast\u0119pnie dodajemy regu\u0142\u0119 tworzac\u0105 drugi poziom wyzwolenia<\/p>\n\n\n\n<p>\/ip firewall filter add action=add-src-to-address-list address-list=777 address-list-timeout=\\<br>5m chain=input dst-port=777 protocol=tcp src-address-list=666<\/p>\n\n\n\n<p>\/ip firewall filter add action=add-src-to-address-list address-list=777 &#8211; tworzy adress list\u0119 o nazwie 777<br>address-list-timeout=5m &#8211; ustawia czas \u017cycia addres listy na 5 minut.<br>chain=input &#8211; okre\u015bla kierunek sk\u0105d przychodz\u0105 akceptowane zapytania<br>dst-port=777 &#8211; okre\u015bla port na jaki maj\u0105 przychodzi\u0107 zapytania<br>protocol=tcp &#8211; okre\u015bla protok\u00f3\u0142<br>src-address-list=666 &#8211; okre\u015bla \u017ce adres ju\u017c musi znajdowa\u0107 si\u0119 na li\u015bcie 666 a nie z dowolnego adresu.<\/p>\n\n\n\n<p>Ten etap mo\u017cna powieli\u0107 ale my poprzestaniemy na dw\u00f3ch poziomach zabezpiecze\u0144.<\/p>\n\n\n\n<p>Czas na &#8222;spust&#8221; czyli skrypt wyzwalaj\u0105cy. Nazwijmy go WOL.<\/p>\n\n\n\n<p>:local trigger [\/ip firewall address-list find list=777];<br>:if ($trigger) do={<br>\/tool wol interface=etherx mac=xx:xx:xx:xx:xx:xx<br>}<\/p>\n\n\n\n<p>jak to dzia\u0142a?<br>linia :local trigger [\/ip firewall address-list find list=777]; sprawdza czy istnieje address lista o nazwie 777 (dlatego jest wa\u017cne aby po zadanycm czasie by\u0142a kasowana)<br>linia :if ($trigger) do={ jest testem logicznym &#8211; jezeli $trigger zwraca prawd\u0119 czyli istnieje lista o nazwie 777 to wykona si\u0119 kolejna linia czyli<br>\/tool wol interface=etherx mac=xx:xx:xx:xx:xx:xx} zostanie wys\u0142any magic pakiet na wskazany interface i okre\u015blony MAC ADDRESS.<\/p>\n\n\n\n<p>W wypadki kiedy zmienna $trigger zwr\u00f3ci fa\u0142sz skrypt zako\u0144czy si\u0119 w tym miejscu.<\/p>\n\n\n\n<p>czas doda\u0107 skrypt do schedulera.<\/p>\n\n\n\n<p>\/system scheduler add interval=5m name=schedule3 on-event=&#8221;\/system script run WOL&#8221; policy=\\<br>ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \\<br>start-date=2024-12-11 start-time=11:33:10<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/system scheduler add - dodanie skryptu\ninterval=5m - ustawienie interwa\u0142u wykonania (co 5 minut)\nname=schedule3 - nazwa schedulera\non-event=\"\/system script run WOL\" - co ma wykona\u0107 czyli scrypt o nazwie WOL\npolicy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon - warunki\nstart-date=2024-12-11 - od kiedy ma zacz\u0105\u0107 dzia\u0142a\u0107 scheduler (data)\nstart-time=11:33:10 - od kiedy ma zacz\u0105\u0107 dzia\u0142a\u0107 scheduler (czas)<\/code><\/pre>\n\n\n\n<p>Generalnie mo\u017cna ten pomys\u0142 rozijac dodaj\u0105c np. list\u0119 adres\u00f3w o d\u0142uzszym czasie \u017cycia odblokowuj\u0105c\u0105 regu\u0142\u0119 zdalnego dost\u0119u do RDP.<br>W wyapdku kiedy pracujemy z danego adresu IP i odpalimy zdalnie hosta to z tego samego adresu IP b\u0119dziemy robi\u0107 po\u0142\u0105czenie via RDP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czasem mamy tak\u0105 sytuacj\u0119, \u017ce musimy uruchomi\u0107 maszyn\u0119 znajduj\u0105c\u0105 si\u0119 w sieci LAN a nie mamy nikogo kto by j\u0105&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-zmagania-z-it"],"_links":{"self":[{"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":3,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"predecessor-version":[{"id":147,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/144\/revisions\/147"}],"wp:attachment":[{"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rogaleskoo.ddns.net\/index.php\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}