рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛

рдЫрд╡рд┐ рд╣рдмрдЪрд┐рдпреЛрдВ рдХреЛ рд╢реБрдн рджрд┐рди! рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛, рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЫрдд рдХреЗ рдлрд╝реЗрд▓реНрдЯреНрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ, рдЫрдд рдХреЗ рдлрд╝реЗрд▓реНрдЯ рдХреБрдЫ рдФрд░ рдереЗ рдФрд░ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рдмрдЬрд╛рдп:
sudo shutdown -r now
рдЙрд╕реЗ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рдмрд╛рдж, рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЖрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛:
sudo shutdown now рдПрдВрдЯрд░ рдХрд░реЗрдВ
рдФрд░ рд╕рдм рдХреБрдЫ рдпрдВрддреНрд░рд╡рдд рдФрд░ рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рд╣реБрдЖ рдХрд┐ рдЙрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдордп рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж, 15-20 рдорд┐рдирдЯ рдореЗрдВ рд╕рдордЭрдирд╛ рд╢реБрд░реВ рд╣реБрдЖред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХрд┐рддрдирд╛ рджреВрд░ рдерд╛, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рдерд╛ред рд▓рдВрдмреА рдЯреЗрд▓реАрдлреЛрди рдмрд╛рддрдЪреАрдд рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдХрд┐ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ, рдФрд░ рдХрд╣рд╛рдБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реИ, рдлрд┐рд░ рднреА рд╕рд░реНрд╡рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд▓рдп рдореЗрдВ рд▓реМрдЯ рдЖрдпрд╛ред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рд░реНрд╡рд░ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдордиреЗ рдЖрдпрд╛ред

рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕:

a ред рд╕рд░реНрд╡рд░ BIOS рдореЗрдВ WOL рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо / рдЪреЗрдХ рдХрд░реЗрдВ
рдмреА ред рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдореЗрдВ WOL рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо / рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдерд▓реВрд▓ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt-get install ethtool
рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо WOL рд╕рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ
sudo ethtool <> | grep Wake
рдЯреАрдо рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╡реЗрдХ-рдСрди: рдЬреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рд╡реЗрдХ-рдСрди: рдЬреА
рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб WOL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЪрд╛рд▓реВ рд╣реИред рдЕрдЧрд░, рд╣рд╛рд▓рд╛рдВрдХрд┐,
рд╡реЗрдХ-рдСрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рдпрджрд┐ рдкрддреНрд░ рдЬреА рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб WOL рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдпрд╣ рдмрдВрдж рд╣реИ
рд╡реЗрдХ-рдСрди: рдбреА
рдлрд┐рд░ рдЗрд╕реЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
sudo ethtool -s <> wol g
рдХрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░, рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╡реЗрдХрдирд▓рди.рдХреЙрди рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ:
 sudo bash -c "cat > /etc/init/wakeonlan.conf" <<'EOF' start on started network script for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do logger -t 'wakeonlan init script' enabling wake on lan for $interface ethtool -s $interface wol g done end script 

рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ
sudo chmod +x /etc/init/wakeonlan.conf
рдФрд░ рд╕реЗрд╡рд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ
sudo service wakeonlan start
рд╕реА ред рд╕рд┐рд╕реНрдХреЛ рд░рд╛рдЙрдЯрд░ рдкрд░, WOL рдкреИрдХреЗрдЯ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВ:
interface X
ip directed-broadcast
!
!
ip nat inside source static udp abc255 7 interface Y 7
рдЬрд╣рд╛рдБ
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдПрдХреНрд╕ - рд╕реНрдерд╛рдиреАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЕрдВрджрд░ рдЖрдИрдкреА рдиреЗрдЯ)
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ Y - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЖрдИрдкреА рдиреЗрдЯ рдмрд╛рд╣рд░)
d ред Nokia N9 рдлреЛрди рдореЗрдВ рдПрдХ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде WOL рдкреИрдХреЗрдЬ рдмрдирд╛рддрд╛ рд╣реИ:
wol.pl
 #!/usr/bin/perl -w # wol.pl, written 20031220 by Walter Roberson robe...@ibd.nrc-cnrc.gc.ca # this program constructs a WOL (Wake on Lan) packet suitable for # sending locally or over a net. The MAC of the system to be woken # is required. # # The IP address the user supplies should NOT be # the IP address of the system to be woken: instead it should be the # subnet directed broadcast IP (eg, 192.168.1.255) of any subnet # known to be present on the segment of the target system. This # would usually be the directed broadcast IP of the target system itself, # but need not be in cases of multiple subnets that aren't carefully # VLAN'd away from each other. # # To repeat: do NOT use the IP address of the target system. Not unless # you are on the same subnet and you are using a static ARP entry. # The target system is asleep, so it isn't going to answer an ARP # from a router trying to find that particular address. Use a # broadcast address, or some other packet forwarding trick. use strict; require 5.002; use Socket; use Sys::Hostname; my ( $hisiaddr, $hispaddr, $hisMACtext, $hisaddr, $hisport, $proto, @MACbytes, $hisMACbin, $magicbody ); die "Syntax: $0 MAC ipaddr [port]" if @ARGV < 2; $hisMACtext = shift @ARGV; $hisaddr = shift @ARGV; $hisport = shift @ARGV || 22357; # default 'WU', no significance $magicbody = "\xff" x 6; @MACbytes = split /[:-]/, $hisMACtext; die "MAC wrong size" unless @MACbytes == 6; $hisMACbin = pack "H*H*H*H*H*H*", @MACbytes; $magicbody .= $hisMACbin x 16; $proto = getprotobyname('udp'); socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) || die "socket: $!"; $| = 1; print "WOL packet being sent to udp port $hisport of ip $hisaddr\n"; $hisiaddr = inet_aton($hisaddr) || die "unknown host $hisaddr"; $hispaddr = sockaddr_in($hisport, $hisiaddr); defined(send(SOCKET, $magicbody, 0, $hispaddr)) || die "send $hisaddr: $!"; 

рдлреЛрди рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рддреЗ рд╣реИрдВ
chmod +x wol.pl
рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдИ рдЬрд╛рддреА рд╣реИ
./wol.pl <MAC XX-XX-XX-XX-XX-XX> < IP > < udp ( 7)>

рд╕рдмрд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдмрд╛рдд, рдЙрд╕ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рддреНрд░реБрдЯрд┐ рдХреЗ рдХреНрд╖рдг рд╕реЗ, рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯрдЕрдк рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛ред

рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рд╣рд┐рддреНрдп:


Source: https://habr.com/ru/post/In184950/


All Articles