рдкреЛрд░реНрдЯ 80 рдорд╛рд░реНрдлрдд Lunix/OpenWrt/Lede рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдирд┐рдЧрд░рд╛рдиреА рд░ рдирд┐рдпрдиреНрддреНрд░рдг...

рд╕рдмреИрд▓рд╛рдИ рдирдорд╕реНрдХрд╛рд░, рдпреЛ Habr├й рдорд╛ рдореЗрд░реЛ рдкрд╣рд┐рд▓реЛ рдЕрдиреБрднрд╡ рд╣реЛред рдо рдХрд╕рд░реА рдЧреИрд░-рдорд╛рдирдХ рддрд░рд┐рдХрд╛рдорд╛ рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд▓реЗрдЦреНрди рдЪрд╛рд╣рдиреНрдЫреБред рдЧреИрд░-рдорд╛рдирдХ рднрдиреЗрдХреЛ рдХреЗ рд╣реЛ: рдзреЗрд░реИ рдЬрд╕реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдмрд╛рд╣реНрдп рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫ:

  • рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ред рдард┐рдХ рдЫ, рд╡рд╛ рдпрджрд┐ рдЙрдкрдХрд░рдг рдХрд╕реИрдХреЛ NAT рдкрдЫрд╛рдбрд┐ рдЫ, рддрдм рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рд░ "рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░рд┐рдПрдХреЛ" рдкреЛрд░реНрдЯред
  • рдЯрдиреЗрд▓ (PPTP/OpenVPN/L2TP+IPSec, рдЖрджрд┐) рдХреЗрдиреНрджреНрд░реАрдп рдиреЛрдбрдорд╛ рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рдпреЛ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд╣реБрдиреЗрдЫред

рддреНрдпрд╕рдХрд╛рд░рдг, рддрдкрд╛рдИрд▓рд╛рдИ "рдореЗрд░реЛ рдмрд╛рдЗрдХ" рдЪрд╛рд╣рд┐рдиреНрдЫ рдЬрдм рдорд╛рдирдХ рд╡рд┐рдзрд┐рд╣рд░реВ рддрдкрд╛рдИрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рд╣реБрдБрджреИрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

  1. рдЙрдкрдХрд░рдг NAT рдкрдЫрд┐ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░, рд╕рд╛рдорд╛рдиреНрдп http (рдкреЛрд░реНрдЯ 80) рдмрд╛рд╣реЗрдХ, рд╕рдмреИ рдмрдиреНрдж рдЫред рдпреЛ рдареВрд▓рд╛ рд╕рдВрдШреАрдп рдХрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд╕реНрдерд╛ рд╣реЛред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреЛрд░реНрдЯрд╣рд░реВ рджрд░реНрддрд╛ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рддрд░ рддреБрд░реБрдиреНрддреИ рд╣реЛрдЗрди, рдЫрд┐рдЯреЛ рд╣реЛрдЗрди, рд░ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрдиред
  2. рдЕрд╕реНрдерд┐рд░ рд░/рд╡рд╛ "рд╕рд╛рдБрдШреБрд░реЛ" рд╕рдЮреНрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓ред рдХрдо рдЧрддрд┐, рдирд┐рд░рдиреНрддрд░ рдШрд╛рдЯрд╛ред рд╕реБрд░реБрдЩ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд╛ рдкреАрдбрд╛ рд░ рдирд┐рд░рд╛рд╢рд╛ред
  3. рдПрдХ рдорд╣рдБрдЧреЛ рд╕рдВрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓, рдЬрд╣рд╛рдБ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рд╣рд░реЗрдХ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдЧрдгрдирд╛ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЙрдкрдЧреНрд░рд╣ рд╕рдВрдЪрд╛рд░ред рд╕рд╛рдереИ рд▓рд╛рдореЛ рдврд┐рд▓рд╛рдЗ рд░ "рд╕рд╛рдБрдШреБрд░реЛ" рдмреНрдпрд╛рдиреНрдбред
  4. рдПрдЙрдЯрд╛ рдЕрд╡рд╕реНрдерд╛ рдЬрдм рддрдкрд╛рдИрдВрд▓рд╛рдИ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╕рд╛рдирд╛ рд░рд╛рдЙрдЯрд░рд╣рд░реВ "рдЬрдЧрд▓" рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЬрд╕рдорд╛, рдПрдХрддрд░реНрдл, рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди OpenWrt/Lede рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рдЕрд░реНрдХреЛрддрд░реНрдл, рд░рд╛рдЙрдЯрд░рдХреЛ рд╕реНрд░реЛрддрд╣рд░реВ (рдореЗрдореЛрд░реА) рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрдирдиреНред рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ред

рдиреЛрдЯ рдирдореНрдмрд░ рдкрдЯрдХ рд░рд╛рдЙрдЯрд░рдХреЛ USB рдкреЛрд░реНрдЯрдорд╛ рдлреНрд▓реНрдпрд╛рд╕ рдбреНрд░рд╛рдЗрдн рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд░ рд░рд╛рдЙрдЯрд░рдХреЛ рдореЗрдореЛрд░реА рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗрд▓реЗ рд░реЛрдХреНрдЫ?

рдкреНрд░рд╛рдпрдГ, рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рд╕рдордЧреНрд░ рд░реВрдкрдорд╛ рд╕рдорд╛рдзрд╛рдирдХреЛ рд▓рд╛рдЧрддрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛ, рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдлрд╛рд░рдо рдХрд╛рд░рдХрд▓реЗ рдкрдирд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдЦреЗрд▓реНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рд╕рд╛рдЗрдЯ рдорд╛ рдПрдХ TP-Link ML3020 рдЫ, рдпрд╕рдХреЛ рдорд╛рддреНрд░ USB рдкреЛрд░реНрдЯ 2G/3G рдореЛрдбреЗрдо рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдпреЛ рд╕рдмреИ рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рд╛рдиреЛ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЗрд╕рдорд╛ рдмреЗрд░рд┐рдПрдХреЛ рдЫ рд░ рдХрддреИ рдЙрдЪреНрдЪ, рдЙрдЪреНрдЪ (рдорд╛рд╕реНрдЯрдорд╛) рд░рд╛рдЦрд┐рдПрдХреЛ рдЫред рдЯрд╛рдврд╛, рдЯрд╛рдврд╛ (рдлрд┐рд▓реНрдбрдорд╛, рдирдЬрд┐рдХрдХреЛ рдореЛрдмрд╛рдЗрд▓ рдЕрдкрд░реЗрдЯрд░ рдмреЗрд╕ рд╕реНрдЯреЗрд╢рдирдмрд╛рдЯ 30 рдХрд┐рдореА)ред рд╣реЛ, рддрдкрд╛рдЗрдБ USB рд╣рдмрдорд╛ рдкреНрд▓рдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдкреЛрд░реНрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдЕрдиреБрднрд╡рд▓реЗ рджреЗрдЦрд╛рдЙрдБрджрдЫ рдХрд┐ рдпреЛ рдЬрдЯрд┐рд▓ рд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЫред

рддреНрдпрд╕реЛрднрдП, рдореИрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдореЗрд░реЛ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд╕реНрдерд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдВ: "рдХрддреИ рдЯрд╛рдврд╛, рдЯрд╛рдврд╛, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг, рдПрдХреНрд▓реЛ рд░ рд╕рд╛рдиреЛ рд░рд╛рдЙрдЯрд░ рд▓рд┐рдирдХреНрд╕ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред рдпреЛ рджрд┐рдирдХреЛ рдХрдореНрддрд┐рдорд╛ рдПрдХ рдкрдЯрдХ рдЬрд╛рдиреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдЙрд╣рд╛рдБ "рдЬреАрд╡рд┐рдд" рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛, рдЙрд╣рд╛рдБрд▓рд╛рдИ рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЗрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "рд╣рдиреА, рд░рд┐рдмреБрдЯ!"

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдЬрд╛рдФрдВ:

1) рд░рд╛рдЙрдЯрд░ рд╕рд╛рдЗрдбрдорд╛, рдХреНрд░реЛрди рдорд╛рд░реНрдлрдд, рдкреНрд░рддреНрдпреЗрдХ 5/10/1440 рдорд┐рдиреЗрдЯрдорд╛, рд╡рд╛ рдЬрдм рддрдкрд╛рдИрдВ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрд▓реЗ wget рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рд░реНрднрд░рдорд╛ HTTP рдЕрдиреБрд░реЛрдз рдкрдард╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдлрд╛рдЗрд▓рдорд╛ рдЕрдиреБрд░реЛрдзрдХреЛ рдкрд░рд┐рдгрд╛рдо рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдлрд╛рдЗрд▓рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред , рд░ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдореЗрд░реЛ рдХреНрд░реЛрди рд░реЗрдЦрд╛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рдлрд╛рдЗрд▓ /etc/crontabs/root:

  */5 * * * * wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password" -O /tmp/wa.sh && chmod 777 /tmp/wa.sh && /tmp/wa.sh

рдХрд╣рд╛рдБ:
xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai рдореЗрд░реЛ рд╕рд░реНрднрд░рдХреЛ рдбреЛрдореЗрди рд╣реЛред рдорд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рдиреЛрдЯ рдЧрд░реМрдВ: рд╣реЛ, рддрдкрд╛рдЗрдБ рд╕рд░реНрднрд░рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╣рд╛рдореНрд░реЛ рд░рд╛рдЬреНрдп рд╕рдореНрдо рдЧрд░реНрдпреМрдВ, рд╕рдВрдШрд░реНрд╖рдХреЛ рдзрд╛рд░реНрдорд┐рдХ рдЖрд╡реЗрдЧрдорд╛, рдо рднрдиреНрдЫреБ, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрди, рд╕рд┐рдВрд╣рдХреЛ рдкрд╣реБрдБрдЪ рдЕрд╡рд░реБрджреНрдзред DigitalOcean рд░ Amazon "рдмрд╛рджрд▓" рдХреЛ рд╕рд╛рдЭреЗрджрд╛рд░реАред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдбреЛрдореЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрджрд┐ рдпрд╕реНрддреЛ рдШрдЯрдирд╛ рднрдпреЛ рднрдиреЗ, рддрдкрд╛рдЗрдБ рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ рдмреНрдпрд╛рдХрдЕрдк рдХреНрд▓рд╛рдЙрдб рдЙрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдбреЛрдореЗрдирд▓рд╛рдИ рдпрд╕рдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрдиреНрддреНрд░ рдирд┐рдЧрд░рд╛рдиреА рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

a.php рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рдирд╛рдо рд╣реЛред рд╣реЛ, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рдПрдЙрдЯреИ рдЕрдХреНрд╖рд░рдорд╛ рдЪрд░ рд░ рдлрд╛рдЗрд▓ рдирд╛рдорд╣рд░реВ рдирд╛рдо рджрд┐рдиреБ рдЧрд▓рдд рд╣реЛ... рдо рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫреБ рдХрд┐ рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдкрдард╛рдЙрдБрджрд╛ рдХреЗрд╣реА рдмрд╛рдЗрдЯрд╣рд░реВ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН :)
u - рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд▓рдЧрдЗрди
p - рдкрд╛рд╕рд╡рд░реНрдб
"-O /tmp/wa.sh" рд░рд┐рдореЛрдЯ рд░рд╛рдЙрдЯрд░рдорд╛ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓ рд╣реЛ рдЬрд╣рд╛рдБ рд╕рд░реНрднрд░рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рд░рд┐рдмреБрдЯ рдЖрджреЗрд╢, рдмрдЪрдд рд╣реБрдиреЗрдЫред

рдиреЛрдЯ рдирдореНрдмрд░ рджреБрдИ: Ahhh, рд╣рд╛рдореА рдХрд┐рди wget рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ рд░ curl рд╣реЛрдЗрди, рдХрд┐рдирднрдиреЗ рдХрд░реНрд▓ рдорд╛рд░реНрдлрдд рддрдкрд╛рдИрд▓реЗ https рдЕрдиреБрд░реЛрдзрд╣рд░реВ GET рд╕рдБрдЧ рд╣реЛрдЗрди, рддрд░ POST рдорд╛рд░реНрдлрдд рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ? рдЖрд╣ рдХрд┐рдирднрдиреЗ, рдкреБрд░рд╛рдиреЛ рдЬреЛрдХрдорд╛ рдЬрд╕реНрддреИ "NE рдЬрд╛рд░рдорд╛ рдЪрдвреНрдЫ!" рдХрд░реНрд▓рд▓реЗ рд▓рдЧрднрдЧ 2MB рдЖрдХрд╛рд░рдХреЛ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рд░ рдпрд╕рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рдиреЛ TP-LINK ML3020 рдХреЛ рд▓рд╛рдЧрд┐ рдЫрд╡рд┐ рдЬрдореНрдорд╛ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫ рднрдиреНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫреИрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ред рд░ wget рд╕рдВрдЧ - рдХреГрдкрдпрд╛ред

2) рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ (рдорд╕рдБрдЧ Ubuntu рдЫ) рд╣рд╛рдореА Zabbix рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред рдХрд┐рди: рдо рдпреЛ рд╕реБрдиреНрджрд░ (рдЧреНрд░рд╛рдлрдХреЛ рд╕рд╛рде) рд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ (рд╕рдиреНрджрд░реНрдн рдореЗрдиреБ рдорд╛рд░реНрдлрдд рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реН) рд╣реБрди рдЪрд╛рд╣рдиреНрдЫреБред Zabbix рд╕рдБрдЧ zabbix рдПрдЬреЗрдиреНрдЯрдХреЛ рд░реВрдкрдорд╛ рдпрд╕реНрддреЛ рдЕрджреНрднреБрдд рдЪреАрдЬ рдЫред рдПрдЬреЗрдиреНрдЯ рдорд╛рд░реНрдлрдд, рд╣рд╛рдореА рд╕рд░реНрднрд░рдорд╛ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд▓ рдЧрд░реНрдиреЗрдЫреМрдВ, рдЬрд╕рд▓реЗ рд╣рд╛рдореНрд░реЛ рд░рд╛рдЙрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдЕрд╡рдзрд┐рдорд╛ рджрд░реНрддрд╛ рднрдПрдХреЛ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдЬрд╛рдирдХрд╛рд░реА рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗрдЫред рджрд░реНрддрд╛ рд╕рдордпрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди, рдпрдиреНрддреНрд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрджреЗрд╢рд╣рд░реВ, рдо MySQL рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ, рд▓рдЧрднрдЧ рдирд┐рдореНрди рдХреНрд╖реЗрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ:

		CREATE TABLE `users` (
		  `id` varchar(25) NOT NULL,
		  `passwd` varchar(25) NOT NULL,
		  `description` varchar(150) NOT NULL,
		  `category` varchar(30) NOT NULL,
		  `status` varchar(10) NOT NULL,
		  `last_time` varchar(20) NOT NULL, // ╨▓╤А╨╡╨╝╤П ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╡╨│╨╛ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П
		  `last_ip` varchar(20) NOT NULL, // IP ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╡╨│╨╛ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П 
		  `last_port` int(11) NOT NULL, // ╨┐╨╛╤А╤В ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╡╨│╨╛ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П
		  `task` text NOT NULL, // ╨╖╨░╨┤╨░╤З╨░ ╨║╨╛╤В╨╛╤А╤Г╤О ╨┐╨╛╨╗╤Г╤З╨░╨╡╤В ╤А╨╛╤Г╤В╨╡╤А
		  `reg_task` varchar(150) NOT NULL, // "╤А╨╡╨│╤Г╨╗╤П╤А╨╜╨░╤П" ╨╖╨░╨┤╨░╤З╨░, ╨╡╤Б╨╗╨╕ ╨╝╤Л ╨╖╨░╤Е╨╛╤В╨╕╨╝ ╤З╤В╨╛╨▒╤Л ╨╖╨░╨┤╨░╤З╨░ ╨▓╤Л╨┐╨╛╨╗╨╜╤П╨╗╨░╤Б╤М ╨▓╤Б╨╡╨│╨┤╨░ ╨┐╤А╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А╨░╤Ж╨╕╨╕
		  `last_task` text NOT NULL, // ╨╗╨╛╨│ ╨╖╨░╨┤╨░╤З
		  `response` text NOT NULL, // ╤Б╤О╨┤╨░ ╨┐╨╕╤И╨╡╤В╤Б╤П ╨╛╤В╨▓╨╡╤В ╤Г╤Б╤В╤А╨╛╨╣╤Б╤В╨▓╨░
		  `seq` int(11) NOT NULL
		) ENGINE=InnoDB DEFAULT CHARSET=utf8;

рд╕рдмреИ рд╕реНрд░реЛрддрд╣рд░реВ Git рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ: https://github.com/BazDen/iotnet.online.git
рдЕрдм PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫ (рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, рддрд┐рдиреАрд╣рд░реВ /usr/share/zabbix/ рдлреЛрд▓реНрдбрд░рдорд╛ рд░рд╛рдЦреНрди рд╕рдХрд┐рдиреНрдЫ):

a.php рдлрд╛рдЗрд▓:

<?php
// ╨Я╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨▓╤Е╨╛╨┤╨╜╤Л╨╡ ╨┐╨░╤А╨░╨╝╨╡╤В╤А╤Л: ╨╕╨╝╤П ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П, ╨┐╨░╤А╨╛╨╗╤М ╨╕ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡ ╨╛╤В ╤Г╨┤╨░╨╗╨╡╨╜╨╜╨╛╨│╨╛ ╤А╨╛╤Г╤В╨╡╤А╨░
// ╨Ч╨░╤З╨╡╨╝ ╨╜╤Г╨╢╨╡╨╜ message ? ╨н╤В╨╛ ╤Б╨┐╨╛╤Б╨╛╨▒ ╨╛╤В╨▓╨╡╤В╨░ ╤А╨╛╤Г╤В╨╡╤А╨░, ╨╜╨░╨┐╤А╨╕╨╝╨╡╤А ╨╡╤Б╨╗╨╕ ╨▓╤Л ╨╖╨░╤Е╨╛╤В╨╕╤В╨╡ ╨┐╨╛╤Б╨╝╨╛╤В╤А╨╡╤В╤М ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤Д╨░╨╣╨╗╨░ ╤А╨╛╤Г╤В╨╡╤А╨░
	$user=$_REQUEST['u'];
	$password=$_REQUEST['p'];
	$message=$_REQUEST['m'];
	
	// ╨Я╨╛╨┤╨║╨╗╤О╤З╨░╨╡╨╝╤Б╤П ╨║ ╨╜╨░╤И╨╡╨╣ ╨▒╨░╨╖╨╡ ╨┤╨░╨╜╨╜╤Л╤Е (MySQL)
	$conn=new mysqli("localhost","db_login","db_password","DB_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
	// ╨╖╨┤╨╡╤Б╤М ╨╕╤Й╨╡╨╝ ╨╜╨░╤И ╤А╨╛╤Г╤В╨╡╤А ╨▓ ╤В╨░╨▒╨╗╨╕╤Ж╨╡ ╨▒╨░╨╖╤Л ╨┤╨░╨╜╨╜╤Л╤Е
	$sql_users=$conn->prepare("SELECT task, reg_task, response, last_time FROM users WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->bind_result($task, $reg_task, $response, $last_time);
	$sql_users->execute();
	$sql_users->store_result();
	if (($sql_users->num_rows)==1){
		$sql_users->fetch();
		// ╨╖╨┤╨╡╤Б╤М ╨╝╤Л ╤А╨╛╤Г╤В╨╡╤А╤Г ╨╛╤В╨┐╤А╨░╨▓╨╗╤П╨╡╨╝ ╨╡╨│╨╛ ╨╖╨░╨┤╨░╤З╨╕
		echo $task;
		echo "n";
		echo $reg_task;
		// ╨▓╨╛╤В ╨╖╨┤╨╡╤Б╤М ╨╝╤Л ╨┐╨╕╤И╨╡╨╝ ╨▓╤А╨╡╨╝╤П ╨╛╤В╨▓╨╡╤В╨░ ╨╕ ╤Б╨░╨╝ ╨╛╤В╨▓╨╡╤В ╤А╨╛╤Г╤В╨╡╤А╨░
		$response_history="[".date("Y-m-d H:i")."] ".$message;
		// ╨╖╨░╨┤╨░╤З╤Г ╨╛╤В╨┐╤А╨░╨▓╨╕╨╗╨╕, ╤В╨╡╨┐╨╡╤А╤М ╨╜╨░╨┤╨╛ ╨╡╨╡ ╤Г╨┤╨░╨╗╨╕╤В╤М,╨░ ╨┐╨╛╤Б╨╗╨╡ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╤П ╨╛╤В╨╝╨╡╤В╨╕╤В╤М ╨▓ ╨╗╨╛╨│╨░╤Е, ╤З╤В╨╛ ╤В╨░╨║╨░╤П-╤В╨╛ ╨╖╨░╨┤╨░╤З╨░ ╨▓╤Л╨┐╨╛╨╗╨╜╨╡╨╜╨░
		$last_ip=$_SERVER["REMOTE_ADDR"];
		$last_port=$_SERVER["REMOTE_PORT"];
		$ts_last_conn_time=$last_time;
		$sql_users=$conn->prepare("UPDATE users SET task='', seq=1 WHERE (id=?);");
		$sql_users->bind_param('s', $user);
		$sql_users->execute();
		if (strlen($message)>1){
			$sql_users=$conn->prepare("UPDATE users SET response=?, seq=1 WHERE (id=?);");
			$sql_users->bind_param('ss', $response_history, $user);
			$sql_users->execute();
		}
		// ╤В╨╡╨┐╨╡╤А╤М ╨╜╨░╨┤╨╛ ╤Б╨╛╤Е╤А╨░╨╜╨╕╤В╤М ╨▓╤А╨╡╨╝╤П ╤А╨╡╨│╨╕╤Б╤В╤А╨░╤Ж╨╕╨╕ ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П, ╨╡╨│╨╛ ╨░╨╣╨┐╨╕ ╨╕ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡ ╨╛╤В ╨╜╨╡╨│╨╛. ╨Я╨╛╨║╨░ ╤В╨╛╨╗╤М╨║╨╛ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡
		$ts_now=time();
		$sql_users=$conn->prepare("UPDATE users SET last_time=?, last_ip=?, last_port=? WHERE (id=?);");
		$sql_users->bind_param('ssss', $ts_now, $last_ip, $last_port, $user);
		$sql_users->execute();
	}
	// ╨╡╤Б╨╗╨╕ ╨╝╤Л ╨╜╨╡ ╨╜╨░╤И╨╗╨╕ ╤А╨╛╤Г╤В╨╡╤А ╨▓ ╨╜╨░╤И╨╡╨╣ ╨▒╨░╨╖╨╡ ╨┤╨░╨╜╨╜╤Л╤Е, ╨╕╨╗╨╕ ╨╡╨│╨╛ ╤Б╤В╨░╤В╤Г╤Б "╨╜╨╡╨░╨║╤В╨╕╨▓╨╜╤Л╨╣", ╤В╨╛ ╨╡╨╝╤Г ... ╨▒╤Г╨┤╨╡╤В ╨╛╤В╨┐╤А╨░╨▓╨╗╨╡╨╜╨░ ╨║╨╛╨╝╨░╨╜╨┤╨░ reboot....
	// ╨Я╨╛╤З╨╡╨╝╤Г ╤В╨░╨║ ╨╢╨╡╤Б╤В╨╛╨║╨╛ ? ╨Я╨╛╤В╨╛╨╝╤Г ╤З╤В╨╛ ╤А╨╛╤Г╤В╨╡╤А╤Л ╨╕╨╜╨╛╨│╨┤╨░ ╨┐╤А╨╛╨┐╨░╨┤╨░╤О╤В, ╨░ ╤Н╤В╨╛ ╨╝╨░╨╗╨╡╨╜╤М╨║╨╕╨╣ ╤Б╨┐╨╛╤Б╨╛╨▒ ╨┐╤А╨╛╤Г╤З╨╕╤В╤М "╨╜╨╛╨▓╤Л╤Е ╨▓╨╗╨░╨┤╨╡╨╗╤М╤Ж╨╡╨▓". 
	else
	{
	echo "reboot";
	}
	$sql_users->close();
	?>

Agent.php рдлрд╛рдЗрд▓ (рдпреЛ рднрдирд┐рдиреНрдЫ zabbix рдПрдЬреЗрдиреНрдЯрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ):

<?php
	// ╤Д╨░╨╣╨╗ ╨░╨│╨╡╨╜╤В╨░ Zabbix. ╨Ф╨░╨╜╨╜╤Л╨╣ ╤Б╨║╤А╨╕╨┐╤В ╨╛╨▒╤А╨░╤Й╨░╨╡╤В╤Б╤П ╨║ ╤В╨░╨▒╨╗╨╕╤Ж╨╡ users ╨╕ ╨┐╨╛╨╗╤Г╤З╨░╨╡╤В "1" ╨╡╤Б╨╗╨╕ ╤Г╤Б╤В╤А╨╛╨╣╤Б╤В╨▓╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨╕╤А╨╛╨▓╨░╨╗╨╛╤Б╤М ╤Б ╨╝╨╛╨╝╨╡╨╜╤В╨░ ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╡╨│╨╛ ╨╛╨▒╤А╨░╤Й╨╡╨╜╨╕╤П
	// user ╨╕ password - ╤Г╤З╨╡╤В╨╜╤Л╨╡ ╨┤╨░╨╜╨╜╤Л╨╡ ╨╛╨▒╨╛╤А╤Г╨┤╨╛╨▓╨░╨╜╨╕╤П
	$user = $argv[1];
	$password = $argv[2];
	
	// ╨┐╨╛╨┤╨║╨╗╤О╤З╨░╨╡╨╝╤Б╤П ╨║ ╨╜╨░╤И╨╡╨╣ ╨▒╨░╨╖╨╡ ╨┤╨░╨╜╨╜╤Л╤Е
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
		}
	$conn->set_charset("utf8");
	$sql_users=$conn->prepare("SELECT seq FROM users WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->bind_result($seq);
	$sql_users->execute();
	$sql_users->store_result();
	// ╨╛╨▒╨╝╨╡╨╜ ╨┤╨░╨╜╨╜╤Л╨╝╨╕ ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В ╤З╨╡╤А╨╡╨╖ ╨┐╨╛╨╗╨╡ seq. ╨Я╤А╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А╨░╤Ж╨╕╨╕ ╨╢╨╡╨╗╨╡╨╖╨║╨░ ╤Б╤В╨░╨▓╨╕╤В ╨┤╨░╨╜╨╜╨╛╨╡ ╨┐╨╛╨╗╨╡ ╨▓ "1"
	if (($sql_users->num_rows)==1){
		$sql_users->fetch();
		echo $seq;
	}
		
	// ╨╛╨▒╨╜╤Г╨╗╤П╨╡╨╝ $seq. 
	$sql_users=$conn->prepare("UPDATE users SET seq=0 WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->execute();
	$sql_users->close();
?>		

рдареАрдХ рдЫ, рдЕрдиреНрддрд┐рдо рдЪрд░рдг: рдПрдЬреЗрдиреНрдЯ рджрд░реНрддрд╛ рдЧрд░реНрджреИ рд░ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдердкреНрджреИред

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдЭреИ zabbix рдПрдЬреЗрдиреНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫреИрди рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐:

apt-get install zabbix-agent

рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН /etc/zabbix/zabbix_agentd.confред

рд▓рд╛рдЗрди рдердкреНрдиреБрд╣реЛрд╕реН:

UserParameter=test,php /usr/share/zabbix/agent.php user password

рдХрд╣рд╛рдБ:
рдкрд░реАрдХреНрд╖рдг рд╣рд╛рдореНрд░реЛ рдПрдЬреЗрдиреНрдЯрдХреЛ рдирд╛рдо рд╣реЛ
"php /usr/share/zabbix/agent.php рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб" - рдпрдиреНрддреНрд░ рджрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрдирд┐рдиреНрдЫред

рдЪрд╛рд░реНрдЯрд╣рд░реВ рдердкреНрджреИ: zabbix рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН, рдореЗрдиреБрдмрд╛рдЯ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:
рд╕реЗрдЯрд┐рдЩреНрд╣рд░реВ -> рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдбрд╣рд░реВ -> рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрд╣рд╛рдБ рдиреЗрдЯрд╡рд░реНрдХ рд╣реЛрд╕реНрдЯрдХреЛ рдирд╛рдо, рдпрд╕рдХреЛ рд╕рдореВрд╣, рд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдПрдЬреЗрдиреНрдЯ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ:

рдкреЛрд░реНрдЯ 80 рдорд╛рд░реНрдлрдд Lunix/OpenWrt/Lede рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдирд┐рдЧрд░рд╛рдиреА рд░ рдирд┐рдпрдиреНрддреНрд░рдг...

рдЕрдм рд╣рд╛рдореАрд▓реЗ рдпреЛ рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдбрд╛рдЯрд╛ рддрддреНрд╡ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рджреБрдИ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН: "рдХреБрдЮреНрдЬреА" - рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╣реЛ рдЬреБрди рд╣рд╛рдореАрд▓реЗ /etc/zabbix/zabbix_agentd.conf рдлрд╛рдЗрд▓рдорд╛ рд▓реЗрдЦреЗрдХрд╛ рдЫреМрдВ (рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпреЛ рдкрд░реАрдХреНрд╖рдг рд╣реЛ), рд░ "рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЕрдиреНрддрд░рд╛рд▓" - рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ 5 рдорд┐рдиреЗрдЯрдорд╛ рд╕реЗрдЯ рдЧрд░реЗрдВред , рдХрд┐рдирднрдиреЗ рд░ рдЙрдкрдХрд░рдг рдкрдирд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдБрдЪ рдорд┐рдиреЗрдЯрдорд╛ рдПрдХ рдкрдЯрдХ рд╕рд░реНрднрд░рдорд╛ рджрд░реНрддрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдкреЛрд░реНрдЯ 80 рдорд╛рд░реНрдлрдд Lunix/OpenWrt/Lede рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдирд┐рдЧрд░рд╛рдиреА рд░ рдирд┐рдпрдиреНрддреНрд░рдг...

рдЦреИрд░, рдЧреНрд░рд╛рдл рдердкреМрдВред рдо рдкреНрд░рддрд┐рдкрд╛рджрди рд╢реИрд▓реАрдХреЛ рд░реВрдкрдорд╛ "рднрд░реНрдиреБрд╣реЛрд╕реН" рдЫрдиреМрдЯ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред

рдкреЛрд░реНрдЯ 80 рдорд╛рд░реНрдлрдд Lunix/OpenWrt/Lede рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдирд┐рдЧрд░рд╛рдиреА рд░ рдирд┐рдпрдиреНрддреНрд░рдг...

рдЖрдЙрдЯрдкреБрдЯ рдХреЗрд╣рд┐ рдзреЗрд░реИ рд▓рд╛рдХреЛрдирд┐рдХ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА рдпреЛ рдЬрд╕реНрддреИ:

рдкреЛрд░реНрдЯ 80 рдорд╛рд░реНрдлрдд Lunix/OpenWrt/Lede рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдирд┐рдЧрд░рд╛рдиреА рд░ рдирд┐рдпрдиреНрддреНрд░рдг...

рдЙрдЪрд┐рдд рдкреНрд░рд╢реНрдирдХреЛ рд▓рд╛рдЧрд┐: "рдпреЛ рдпрд╕рдХреЛ рд▓рд╛рдпрдХ рдерд┐рдпреЛ?", рдо рдЬрд╡рд╛рдл рджрд┐рдиреЗрдЫреБ: рдареАрдХ рдЫ, рдЕрд╡рд╢реНрдп рдкрдирд┐, рд▓реЗрдЦрдХреЛ рд╕реБрд░реБрдорд╛ "рд╕рд╛рдЗрдХрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдХрд╛рд░рдгрд╣рд░реВ" рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рдпрджрд┐ рдореЗрд░реЛ рдкрд╣рд┐рд▓реЛ рдЧреНрд░рд╛рдлреЛрдорд╛рдирд┐рдпрд╛рдХ рдЕрдиреБрднрд╡рд▓реЗ рдкрд╛рдардХрд╣рд░реВрдХреЛ рдЪрд╛рд╕реЛ рдЬрдЧрд╛рдЙрдБрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдирд┐рдореНрди рд▓реЗрдЦрд╣рд░реВрдорд╛ рдо рдХрд╕рд░реА рд░рд┐рдореЛрдЯ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдиреЗ рднрдиреЗрд░ рд╡рд░реНрдгрди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рд╣рд╛рдореАрд▓реЗ RouterOS (Mikrotik) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдкреВрд░реНрдг рдпреЛрдЬрдирд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рдкрдирд┐ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреМрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди