Wake On LAN preko web servera?

poruka: 16
|
čitano: 10.182
|
moderatori: Lazarus Long, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Wake On LAN, ali sa web frontendom?

Pitanje:

Zna li netko postoji li neka gotova WOL kombinacija koja ima web frontend kroz koji bi se mogao definirati popis NIC-ova i odabrati onog kojeg se želi WOL-nuti? Ova kombinacija bi radila u LAN-u.

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Wake On LAN preko web servera?

jedino kaj mi pada na pamet je da sam digneš neki webserver na kojemu to izdefiniraš

 

 

 

Q-zake baš mora bit webserver?

kod mene normalno radi.....
Poruka je uređivana zadnji put pon 13.12.2010 15:54 (cekpi).
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
cekpi kaže...

jedino kaj mi pada na pamet je da sam digneš neki webserver na kojemu to izdefiniraš

 

 

 

Q-zake baš mora bit webserver?

 

Zato što je broadcast blockan ulazima/izlazima u DMZ, pa se kao logično rješenje nameće da se dođe do nekog malog web servera u DMZ-u koji će onda interno napraviti broadcast preko nekog WOL softvera.

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
15 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
vlad0 kaže...

 

Zato što je broadcast blockan ulazima/izlazima u DMZ, pa se kao logično rješenje nameće da se dođe do nekog malog web servera u DMZ-u koji će onda interno napraviti broadcast preko nekog WOL softvera.

Kod mene, server se automatski pali kad ima struje, na njem je app kojim budim one koji mi trebaju.

 

Na server se povezivam remote desktopom.

Imamo televune, radivone, televizije, lektrika, lektrika, sva čuda, raj na zemlji brajo... Samo nemamo pisme, ni ognjišta ni smija... E!
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
Smooth Operator kaže...
vlad0 kaže...

 

Zato što je broadcast blockan ulazima/izlazima u DMZ, pa se kao logično rješenje nameće da se dođe do nekog malog web servera u DMZ-u koji će onda interno napraviti broadcast preko nekog WOL softvera.

Kod mene, server se automatski pali kad ima struje, na njem je app kojim budim one koji mi trebaju.

 

Na server se povezivam remote desktopom.

 

Ma sve 5, ali ne treba mi to u ovoj situaciji. Stvar je sljedeća: imam par mašina koje moraju biti ugašene dok im se ručno ne kaže da se popale. Mogao bi to rješiti tako da se Remote Desktopom spojim na neku upaljenu i pokrenem neki klasični WOL program, ali to je daleko od elegantnog rješenja koje želim složiti = želim da to bude kroz 2 klika i 2 sec, a ne 8-9 klikova i 5 min čekanja da RDP zavergla. :]

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?

<%@ Import Namespace = "System.Net" %>
<%@ Import Namespace = "System.Net.Sockets" %>
<%@ Import Namespace = "System.Net.Dns"%>
<%@ Import Namespace = "System.Text"%>

<script language="vb" runat="server">

 Private Function InvertBinary(ByVal x As String) As String
        Dim ch As Char
        Dim len As Integer = CStr(x).Length
        For Each ch In CStr(x)
            If ch = "1" Then
                InvertBinary += "0"
            Else
                InvertBinary += "1"
            End If
        Next
    End Function

    Private Function OrIt(ByVal x As Long, ByVal y As Long) As String
        'Pad out
        Dim xx As String
        xx = CStr(x)
        While xx.Length < 8
            xx = "0" + xx
        End While

        Dim yy As String
        yy = CStr(y)
        While yy.Length < 8
            yy = "0" + yy
        End While
        For c As Integer = 0 To 7
            If xx.Chars(c) = "1" Or yy.Chars(c) = "1" Then
                OrIt += "1"
            Else
                OrIt += "0"
            End If
        Next
    End Function

    Private Function ToBinary(ByVal x As Long) As String
        Dim temp As String = ""
        Do
            If x Mod 2 Then
                temp = "1" + temp
            Else
                temp = "0" + temp
            End If
            x = x \ 2
            If x < 1 Then Exit Do
        Loop

        While temp.Length < 8
            temp = "0" + temp
        End While

        Return temp
    End Function

    Private Function ToInteger(ByVal x As Long) As String
        Dim temp As String
        Dim ch As Char
        Dim multiply As Integer = 1
        Dim subtract As Integer = 1
        Dim len As Integer = CStr(x).Length
        For Each ch In CStr(x)
            For len = 1 To CStr(x).Length - subtract
                multiply = multiply * 2
            Next
            multiply = CInt(ch.ToString) * multiply
            temp = multiply + temp
            subtract = subtract + 1
            multiply = 1
        Next
        Return temp
    End Function
   
    Private Sub btnWakeUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim udpClient As New UdpClient
        Dim buf(101) As Char
        Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(buf)
        For x As Integer = 0 To 5
            sendBytes(x) = CInt("&HFF")
        Next

        Dim MacAddress As String
        MacAddress = Replace(edtMac.Text, "-", "")

        Dim i As Integer = 6
        For x As Integer = 1 To 16
            sendBytes(i) = CInt("&H" + MacAddress.Substring(0, 2))
            sendBytes(i + 1) = CInt("&H" + MacAddress.Substring(2, 2))
            sendBytes(i + 2) = CInt("&H" + MacAddress.Substring(4, 2))
            sendBytes(i + 3) = CInt("&H" + MacAddress.Substring(6, 2))
            sendBytes(i + 4) = CInt("&H" + MacAddress.Substring(8, 2))
            sendBytes(i + 5) = CInt("&H" + MacAddress.Substring(10, 2))
            i += 6
        Next

        Dim myAddress As String

        '' Split user IP address
        Dim myIpArray() As String
        Dim a, b, c, d As Int64
        myIpArray = edtIpAddress.Text.Split(".")
        For i = 0 To myIpArray.GetUpperBound(0)
            Select Case i
                Case Is = 0
                    a = Convert.ToInt64(myIpArray(i))
                Case Is = 1
                    b = Convert.ToInt64(myIpArray(i))
                Case Is = 2
                    c = Convert.ToInt64(myIpArray(i))
                Case Is = 3
                    d = Convert.ToInt64(myIpArray(i))
            End Select
        Next

        Dim mySubnetArray() As String
        Dim sm1, sm2, sm3, sm4 As Int64
        mySubnetArray = edtSubnetMask.Text.Split(".")
        For i = 0 To mySubnetArray.GetUpperBound(0)
            Select Case i
                Case Is = 0
                    sm1 = Convert.ToInt64(mySubnetArray(i))
                Case Is = 1
                    sm2 = Convert.ToInt64(mySubnetArray(i))
                Case Is = 2
                    sm3 = Convert.ToInt64(mySubnetArray(i))
                Case Is = 3
                    sm4 = Convert.ToInt64(mySubnetArray(i))
            End Select
        Next
        myAddress = ToInteger(OrIt(ToBinary(a), InvertBinary(ToBinary(sm1)))) & "." & ToInteger(OrIt(ToBinary(b), InvertBinary(ToBinary(sm2)))) & _
    "." & ToInteger(OrIt(ToBinary(c), InvertBinary(ToBinary(sm3)))) & "." & ToInteger(OrIt(ToBinary(d), InvertBinary(ToBinary(sm4))))


        udpClient.Send(sendBytes, sendBytes.Length, myAddress, CInt(edtPortNo.Text))
        lblSent.Text = " Magic Packet sent to " & myAddress

 

    End Sub

 </script>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>www.depicus.com</title>
</head>

<body>

<form id=myForm method=post runat="server">
<asp:textbox id=edtMac runat="server" CssClass="myInput">00-90-27-A3-22-FE</asp:TextBox><br>
<asp:textbox id=edtIpAddress runat="server" MaxLength="15" CssClass="myInput">217.204.255.55</asp:TextBox><br>
<asp:textbox id=edtSubnetMask runat="server" MaxLength="15" CssClass="myInput">255.255.255.240</asp:TextBox><br>
<asp:textbox id=edtPortNo runat="server" MaxLength="5" CssClass="myInput">7</asp:TextBox><br>
<asp:button id=btnWakeUp runat="server" onclick="btnWakeUp_Click" Text="Wake On Wan" CssClass="bluebutton"></asp:Button>
<asp:Label id=lblSent runat="server" CssClass="errortext"><p>&nbsp;</p></asp:Label>
</form>

</body>

</html>

 

- nije moja skripta

- ne dajem suport

- nisam programer

 

preuzeto sa: http://www.depicus.com/wake-on-lan/woli.aspx

 

 

kod mene normalno radi.....
14 godina
neaktivan
offline
Wake On LAN preko web servera?

Našao sam i ja nešto u međuvremenu. Idem probati pa javim.

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
Moj PC  
0 0 hvala 0
15 godina
offline
RE: Wake On LAN preko web servera?

potraži WOL Magic Packets... (klik magic). Dobro ga je imati na dva računala (unutar mreže).

 

edit: naravno, BIOS je podešen?

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
Poruka je uređivana zadnji put pon 13.12.2010 17:18 (ihush).
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
ihush kaže...

potraži WOL Magic Packets... (klik magic). Dobro ga je imati na dva računala (unutar mreže).

 

edit: naravno, BIOS je podešen?

 

Mislim da me nisi skužio - meni je trebalo nešto što je u stanju dići komp preko WOL MP-a, ali da je frontend kroz neku formu web stranice.

 

U svakom slučaju - riješio sam problem (uz malo modifikacija ove skripte). DLL koji morate registrirati je u istom ZIP-u.

 

A evo modificirani kod:

<HTML><HEAD>
<TITLE>Depicus Wake On Lan</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<div align="left">
<table border="0" width="98%" height="100%" align="left" cellspacing="0" cellpadding="0">
  <tr>
    <td width="69%" height="26" valign="top">
      <p align="left"><font face="Tahoma" size="2">Wake
      on Lan Magic Packets can be sent over the Internet - why not try waking up
      one of your machines with our free Wake On Wan Service.</font></p>
      <form method="POST" action="woli.asp">

        <table border="0" cellpadding="0" cellspacing="0" width="100%" height="102">
          <tr>
            <td width="33%" height="25" align="right"><font size="2" face="Tahoma">Your
              Network Cards Mac Address</font></td>
            <td width="5%" height="25"></td>
            <td width="62%" height="25"><input type="text" name="MacAddress" size="20"></td>
          </tr>
          <tr>
            <td width="33%" height="25" align="right"><font size="2" face="Tahoma">Your
              Computers Ip Number</font></td>
            <td width="5%" height="25"></td>
            <td width="62%" height="25"><input type="text" name="IpNumber" size="20" value="255.255.255.255"></td>
          </tr>
          <tr>
            <td width="33%" height="25" align="right"><font size="2" face="Tahoma">Your
              Subnet Mask</font></td>
            <td width="5%" height="25"></td>
            <td width="62%" height="25"><input type="text" name="SubnetMask" size="20" value="0.0.0.0"></td>
          </tr>
          <tr>
            <td width="33%" height="27">
              <p align="center"></td>
            <td width="5%" height="27">
            </td>
            <td width="62%" height="27">
              <input type="submit" value="Wake On Wan" name="WakeMeUp"></td>
          </tr>
        </table>
        <p align="left"><font size="2" face="Tahoma"></p>
      </form>
      <p align="left">    
      <%
if Request.Form("MacAddress") <> "" then
    set WakeOnLan = server.createobject("DigitalWol.Wol")
    WakeOnLan.TheMacAddress(Request.Form("MacAddress"))
    WakeOnLan.TheIpNumber(Request.Form("IpNumber"))
    WakeOnLan.TheSubnetMask(Request.Form("SubnetMask"))
    WakeOnLan.WakeMeUp
end if
%>
      </p>
      <p align="left">&nbsp;</p>
      <p align="left">&nbsp;</td>
  </tr>
  </table>
</div>
</BODY></HTML>

 

I to je u biti to - stvar radi. Sad si samo moram složiti listu željenih MAC-ova u neki ComboBox i gotov sam. {#}

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
16 godina
offline
Wake On LAN preko web servera?

Ja sam to riješio preko LogMeIn-a na taj način da sam ostavio u routeru DHCP Lease time na never expire i tako mogu upaliti bilo koji komp iako su svi ugašeni.

Naravno uvijeti moraju biti podešeni na računalima da se mogu paliti WOL.

 
0 0 hvala 0
15 godina
offline
RE: Wake On LAN preko web servera?

@ html -kod.

-hmm, ... dooobrooo (onako otegnuto, skriveno neznanje..) -izvući ću se na umor {#}

a što si dobio ovim frontendom u odnosu na magic? (nije mi uočljiva razlika, prednost...) - može hint? Jer bi moglo biti korisno.

Uvjek su IP+MAC za magic pinganje, dal je iz CMDa ili bilo koji drugi način... zato pitam, možda je neki firewall ili sl. razlog? Možda samo potreba paljenja u for-next 'hrpe strojeva'?

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
ihush kaže...

@ html -kod.

-hmm, ... dooobrooo (onako otegnuto, skriveno neznanje..) -izvući ću se na umor {#}

a što si dobio ovim frontendom u odnosu na magic? (nije mi uočljiva razlika, prednost...) - može hint? Jer bi moglo biti korisno.

Uvjek su IP+MAC za magic pinganje, dal je iz CMDa ili bilo koji drugi način... zato pitam, možda je neki firewall ili sl. razlog? Možda samo potreba paljenja u for-next 'hrpe strojeva'?

 

Kao prvo, nije riječ o čistom HTML-u - promakao ti je jedan ključan dio gdje se vrti ASP koji poziva vanjski DLL koji radi WOL-a željene MAC adrese. Treba ti IIS, a vjerojatno bi prošao i Apache::ASP (ali to nisam probao).

 

E sad... Čemu ovo? Zamisli sljedeću situaciju (moja je ipak dosta kompliciranija, ali pojednostavljujem radi primjera):

Računalo doma / laptop / mobitel --- Router --- Firewall --- DMZ --- Firewall --- Router --- ....

 

Pretpostavimo da u DMZ-u imaš X računala koja bi trebala raditi nešto tu i tamo, ali su u principu manje-više uglavnom ugašena. Problem je kako popaliti A, B, C, ..., ili Z skupinu računala (A, B, C, ..., Z <= X) kad se za to ukaže potreba pri čemu skupina računala A != B != C != ... !=Z (ovime želim reći da to u pravilu nikad nisu ista računala koja se pale).

 

 

E sad... Postoji nekoliko mogućnosti kako pristupiti rješenju ovog problema:

 

SOLUCIJA A

Instalirati neki WOL program na neko računalo u DMZ-u koje je uvijek upaljeno i onda ga pokretati preko RDP-a ili SSH-a i paliti željena računala u DMZ-u

Mane: U principu mi se ne sviđa nimalo otvarati RDP ili SSH portove prema Internetu - tako da ti portovi nisu otvoreni i to otpada. OK, ovo bi se dalo zaobići kombinacijom VPN+RDP/SSH, ali ne da mi se za svako paljenje sekundarnih računala u DMZ-u vaditi hardverski PKI token za pristup VPN-u. Plus, hardverski PKI key za VPN ne mogu ugurati u npr. smartphone.

Prednosti: Posve nevažno jer mane nadjačavaju sve prednosti. ;]

 

SOLUCIJA B

Napraviti port fwd na routeru koji će prosljeđivati WOL promet prema računalima.

Mane: svako računalo bi zahtjevalo svoj vlastiti port fwd rule = prilično nepraktično za administriranje i monitoriranje.

Prednosti: Posve nevažno jer mane nadjačavaju sve prednosti. ;]

 

SOLUCIJA C

Napraviti samo jedan port fwd na routeru koji će prekko WOL prometa paliti jedno određeno računalo, a onda će ono preko neke startup skripte paliti ostala.

Mane: Ne pale se uvijek ista računala.

Prednosti: Posve nevažno jer mane nadjačavaju sve prednosti. ;]

 

.... (ima još mogućnosti, ali ne da mi se sada sve popisivati - ugl, niti jedna mi nije odgovarala za moju specifičnu situaciju) ...

 

SOLUCIJA X (aka moja ideja koju sam na kraju i uspješno realizirao)

Dići mali web server u DMZ-u koji će predstavljati WOL server, dići sajt na njemu na nekom divljem portu i zaštititi sve HTTPS-om i dopustiti pristup samo klijentima s odgovarajućim certifikatom. Na routeru otvoriti port fwd za HTTPS promet samo prema tom web serveru na nekom drugom divljem portu. Ima još nekih razina zaštite tu, ali o tome baš i ne bi na forumu otvorenog tipa... U svakom slučaju - WOL server je zaštićen izvana i samo odabrani ljudi (admini) imaju pristup.

Mane: uz dobro izvedenu zaštitu web servera ne mogu se sjetiti neke.

Prednosti: Samo jedan port fwd na routeru. Mogućnost paljenja računala u DMZ-u s bilo kojeg uređaja koji ima pristup Internetu i podržava određene razine zaštite (prvenstveno certifikati). Npr. sad mogu (ako se ukaže potreba) upaliti traženo računalo sa svojeg HTC-a dok ispijam podnevnu kavu u lokalnom kafiću. ;]

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
Poruka je uređivana zadnji put uto 14.12.2010 8:32 (vlad0).
15 godina
offline
RE: Wake On LAN preko web servera?
vlad0 kaže...
..

Mane: uz dobro izvedenu zaštitu web servera ne mogu se sjetiti neke.

Prednosti: Samo jedan port fwd na routeru. Mogućnost paljenja računala u DMZ-u s bilo kojeg uređaja koji ima pristup Internetu i podržava određene razine zaštite (prvenstveno certifikati). Npr. sad mogu (ako se ukaže potreba) upaliti traženo računalo sa svojeg HTC-a dok ispijam podnevnu kavu u lokalnom kafiću. ;]

 -predpostavio sam tako nešto. Jip, to je dobar razlog i dobro rješenje. {#}

(meni je ipak draži SSH+CA i tipkanje na notebooku... uz to da neželim ni otvarati IIS prema van, možda se zbog ovog predomislim...)

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
15 godina
offline
RE: Wake On LAN preko web servera?
vlad0 kaže...

 

SOLUCIJA X (aka moja ideja koju sam na kraju i uspješno realizirao)

Dići mali web server u DMZ-u koji će predstavljati WOL server, dići sajt na njemu na nekom divljem portu i zaštititi sve HTTPS-om i dopustiti pristup samo klijentima s odgovarajućim certifikatom. Na routeru otvoriti port fwd za HTTPS promet samo prema tom web serveru na nekom drugom divljem portu. Ima još nekih razina zaštite tu, ali o tome baš i ne bi na forumu otvorenog tipa... U svakom slučaju - WOL server je zaštićen izvana i samo odabrani ljudi (admini) imaju pristup.

Mane: uz dobro izvedenu zaštitu web servera ne mogu se sjetiti neke.

Prednosti: Samo jedan port fwd na routeru. Mogućnost paljenja računala u DMZ-u s bilo kojeg uređaja koji ima pristup Internetu i podržava određene razine zaštite (prvenstveno certifikati). Npr. sad mogu (ako se ukaže potreba) upaliti traženo računalo sa svojeg HTC-a dok ispijam podnevnu kavu u lokalnom kafiću. ;]

Zapravo je ovo jedina logicna i najjednostavnija solucija.

Mi u firmi imamo ruter na kojeg se kacimo VPN-om i sa njega saljemo magic pakete dalje. Ali ti si reko da zelis posto poto izbjec vpn.

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
14 godina
neaktivan
offline
RE: Wake On LAN preko web servera?
tnakir kaže...
vlad0 kaže...

 

SOLUCIJA X (aka moja ideja koju sam na kraju i uspješno realizirao)

Dići mali web server u DMZ-u koji će predstavljati WOL server, dići sajt na njemu na nekom divljem portu i zaštititi sve HTTPS-om i dopustiti pristup samo klijentima s odgovarajućim certifikatom. Na routeru otvoriti port fwd za HTTPS promet samo prema tom web serveru na nekom drugom divljem portu. Ima još nekih razina zaštite tu, ali o tome baš i ne bi na forumu otvorenog tipa... U svakom slučaju - WOL server je zaštićen izvana i samo odabrani ljudi (admini) imaju pristup.

Mane: uz dobro izvedenu zaštitu web servera ne mogu se sjetiti neke.

Prednosti: Samo jedan port fwd na routeru. Mogućnost paljenja računala u DMZ-u s bilo kojeg uređaja koji ima pristup Internetu i podržava određene razine zaštite (prvenstveno certifikati). Npr. sad mogu (ako se ukaže potreba) upaliti traženo računalo sa svojeg HTC-a dok ispijam podnevnu kavu u lokalnom kafiću. ;]

Zapravo je ovo jedina logicna i najjednostavnija solucija.

Mi u firmi imamo ruter na kojeg se kacimo VPN-om i sa njega saljemo magic pakete dalje. Ali ti si reko da zelis posto poto izbjec vpn.

 

Samo iz razloga što je kod nas VPN s klijentske strane izveden preko hardverskih tokena. Super stvar što se sigurnosti tiče, ali mi zbog mobilnosti nije baš uvijek praktično - u smislu da na kavu poslije ručka ne nosim laptop, a prokleti Murphy se obično baš tad sjeti da bi nešto trebalo podići. {#}

 

Što se ovog rješenja tiče, stvar sam dobro istestirao i radi k'o švicarski sat i mogu reći da sam se ugodno iznenadio koliko je zapravo bezbolna bila sama realizacija.

 

@ihush

Što se tiče IIS-a - ne mora to biti "glavni" IIS (nije ni kod mene). Bilo koja WindowsXP+ mašina u DMZ-u može vrtiti IIS, pa time i ovaj WOL "server".

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
15 godina
offline
RE: Wake On LAN preko web servera?

-da, ... razumijem tvoje potrebe (kava {#}) no moj način rada je kroz VPN...

-drugačije potrebe-drugačija rješenja. Samo paljenje mi je relativno sporedno.. toliko da se nesjećam kad sam ga koristio za posao, osim za kućni PC.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice