MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдирдорд╕реНрдХрд╛рд░ рд╕рд╣рдХрд╛рд░реА! рдЖрдЬ, рдЬреЗрд╡реНрд╣рд╛ "рд░рд┐рдореЛрдЯ рд╡рд░реНрдХ" рдмрджреНрджрд▓рдЪреНрдпрд╛ рдЖрд╡рдбреАрдЪреА рддреАрд╡реНрд░рддрд╛ рдереЛрдбреА рдХрдореА рдЭрд╛рд▓реА рдЖрд╣реЗ, рдмрд╣реБрддреЗрдХ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдиреА рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреНрдпрд╛ рджреВрд░рд╕реНрде рдкреНрд░рд╡реЗрд╢рд╛рдЪреЗ рдХрд╛рд░реНрдп рдЬрд┐рдВрдХрд▓реЗ рдЖрд╣реЗ, VPN рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рдЭрд╛ рджреАрд░реНрдШрдХрд╛рд│рдЪрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ. рд╣рд╛ рд▓реЗрдЦ рдЖрддрд╛ рдлреЕрд╢рдиреЗрдмрд▓ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА IPSec IKEv2 рдЖрдгрд┐ xAuth. рд╣реЗ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ. рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (2FA) VPN рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЬреЗрд╡реНрд╣рд╛ MikroTik VPN рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддрд╛рдд. рдмрд╣реБрджрд╛, рдЬреЗрд╡реНрд╣рд╛ PPP рд╕рд╛рд░рдЦреЗ "рдХреНрд▓рд╛рд╕рд┐рдХ" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд.

MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдЖрдЬ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ MikroTik PPP-VPN рдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреЗрди рдЬрд░реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЦрд╛рддреЗ "рд╣рд╛рдпрдЬреЕрдХ" рдЭрд╛рд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА. рдЬреЗрд╡реНрд╣рд╛ рдорд╛рдЭреНрдпрд╛ рдПрдХрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рд▓рд╛ рд╣реА рдпреЛрдЬрдирд╛ рд╕рд╛рджрд░ рдХреЗрд▓реА рдЧреЗрд▓реА рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдиреЗ рддреНрдпрд╛рдЪреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗ "рдареАрдХ рдЖрд╣реЗ, рдЖрддрд╛ рддреЗ рдмрдБрдХреЗрдкреНрд░рдорд╛рдгреЗрдЪ рдЖрд╣реЗ!".

рдкрджреНрдзрдд рдмрд╛рд╣реНрдп рдкреНрд░рдорд╛рдгрдХ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА. рдХрд╛рд░реНрдпреЗ рд░рд╛рдЙрдЯрд░рджреНрд╡рд╛рд░реЗрдЪ рдЕрдВрддрд░реНрдЧрдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд. рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдХреЛрдгрддреЗрд╣реА рд╢реБрд▓реНрдХ рдирд╛рд╣реА. рд╣реА рдкрджреНрдзрдд рдкреАрд╕реА рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рджреЛрдиреНрд╣реАрд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

  1. VPN рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдЕрдВрддрд░реНрдЧрдд IP рдкрддреНрддрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдЧреНрд░реЗрд▓рд┐рд╕реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
  2. рдХрдиреЗрдХреНрд╢рди рдЗрд╡реНрд╣реЗрдВрдЯ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдПрдХ-рд╡реЗрд│ рдХреЛрдб рддрдпрд╛рд░ рдХрд░рддреЛ рдЬреЛ рдЙрдкрд▓рдмреНрдз рдкрджреНрдзрддреАрдВрдкреИрдХреА рдПрдХ рд╡рд╛рдкрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рддреЛ.
  3. рдпрд╛ рд╕реВрдЪреАрддреАрд▓ рдкрддреНрддреНрдпрд╛рдВрдирд╛ рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдорд░реНрдпрд╛рджрд┐рдд рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ, "рдСрдереЗрдВрдЯрд┐рдХреЗрдЯрд░" рд╕реЗрд╡реЗрдЪрд╛ рдЕрдкрд╡рд╛рдж рд╡рдЧрд│рддрд╛, рдЬреЛ рдПрдХ-рд╡реЗрд│рдЪрд╛ рдкрд╛рд╕рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдд рдЖрд╣реЗ.
  4. рдХреЛрдб рд╕рд╛рджрд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рдиреЗрдЯрд╡рд░реНрдХрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕рддреЛ.

рдкрд╣рд┐рд▓рд╛ рдорд▓рд╛ рд╕рд░реНрд╡рд╛рдд рд▓рд╣рд╛рди рд╕рдорд╕реНрдпрд╛ рднреЗрдбрд╕рд╛рд╡рдд рд╣реЛрддреА рддреА рдореНрд╣рдгрдЬреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ 2FA рдХреЛрдб рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪреНрдпрд╛рдмрджреНрджрд▓рдЪреА рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ. Mikrotik рдордзреАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдбреЗрдЯрд╛ рдлреАрд▓реНрдб рддрдпрд╛рд░ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡рд┐рджреНрдпрдорд╛рди "рдЯрд┐рдкреНрдкрдгреА" рдлреАрд▓реНрдб рд╡рд╛рдкрд░рд▓реА рдЧреЗрд▓реА:

/ppp рдЧреБрдкрд┐рддреЗ рдЬреЛрдбрд╛ name=Petrov рдкрд╛рд╕рд╡рд░реНрдб=4M@ngr! рдЯрд┐рдкреНрдкрдгреА="89876543210"

рджреБрд╕рд░рд╛ рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдмрдирд▓реА - рдорд╛рд░реНрдЧ рдЖрдгрд┐ рдХреЛрдб рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрджреНрдзрдд рдирд┐рд╡рдбрдгреЗ. рд╕рдзреНрдпрд╛ рддреАрди рдпреЛрдЬрдирд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд: рдЕ) USB-рдореЙрдбреЗрдо рджреНрд╡рд╛рд░реЗ SMS b) рдИ-рдореЗрд▓ рдХ) рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░реЗ SMS рд░реЗрдб рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.

рд╣реЛрдп, рдПрд╕рдПрдордПрд╕ рдпреЛрдЬрдирд╛ рдЦрд░реНрдЪ рдЖрдгрддрд╛рдд. рдкрдг рдЬрд░ рддреБрдореНрд╣реА рдмрдШрд┐рддрд▓реЗ рддрд░, "рд╕реБрд░рдХреНрд╖рд╛ рд╣реА рдиреЗрд╣рдореА рдкреИрд╢рд╛рдмрджреНрджрд▓ рдЕрд╕рддреЗ" (c).
рдорд▓рд╛ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдИ-рдореЗрд▓рд╕рд╣ рдпреЛрдЬрдирд╛ рдЖрд╡рдбрдд рдирд╛рд╣реА. рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдЙрдкрд▓рдмреНрдз рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдореНрд╣рдгреВрди рдирд╛рд╣реА - рд░рд╣рджрд╛рд░реА рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА. рддрдерд╛рдкрд┐, рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдирд┐рд╖реНрдХрд╛рд│рдЬреАрдкрдгреЗ рд╡реНрд╣реАрдкреАрдПрди рдЖрдгрд┐ рдИрдореЗрд▓ рджреЛрдиреНрд╣реА рд╕рдВрдХреЗрддрд╢рдмреНрдж рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗ рдЖрдгрд┐ рдирдВрддрд░ рддреНрдпрд╛рдЪрд╛ рд▓реЕрдкрдЯреЙрдк рдЧрдорд╛рд╡рд▓рд╛, рддрд░ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рддреВрди рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдкреВрд░реНрдг рдкреНрд░рд╡реЗрд╢ рдорд┐рд│реЗрд▓.

рдореНрд╣рдгреВрди, рд╣реЗ рдард░рд╡рд▓реЗ рдЖрд╣реЗ - рдЖрдореНрд╣реА рдПрд╕рдПрдордПрд╕ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд░реВрди рдПрдХ-рд╡реЗрд│ рдХреЛрдб рд╡рд┐рддрд░реАрдд рдХрд░рддреЛ.

рддрд┐рд╕рд░реЗ рд╕рдорд╕реНрдпрд╛ рдХреБрдареЗ рд╣реЛрддреА MikroTik рдордзреНрдпреЗ 2FA рд╕рд╛рдареА рд╕реНрдпреВрдбреЛ-рд░рдБрдбрдо рдХреЛрдб рдХрд╕рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛. рд░рд╛рдЙрдЯрд░рдУрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖реЗрдордзреНрдпреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ() рдлрдВрдХреНрд╢рдирдЪреЗ рдХреЛрдгрддреЗрд╣реА рдЕреЕрдирд╛рд▓реЙрдЧ рдирд╛рд╣реА рдЖрдгрд┐ рдореА рдпрд╛рдкреВрд░реНрд╡реА рдЕрдиреЗрдХ рдХреНрд░рдЪ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдпреВрдбреЛ-рд░рдБрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗрдд. рд╡рд┐рд╡рд┐рдз рдХрд╛рд░рдгрд╛рдВрдореБрд│реЗ рдорд▓рд╛ рддреНрдпрд╛рдкреИрдХреА рдПрдХрд╣реА рдЖрд╡рдбрд▓реЗ рдирд╛рд╣реА.

рдЦрд░рдВ рддрд░, MikroTik рдордзреНрдпреЗ рдПрдХ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдо рдЬрдирд░реЗрдЯрд░ рдЖрд╣реЗ! рд╣реЗ /certificates scep-server рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╡рд░рд╡рд░рдЪреНрдпрд╛ рдирдЬрд░реЗрддреВрди рд▓рдкрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдкреНрд░рдердо рдорд╛рд░реНрдЧ рдПрдХ-рд╡реЗрд│ рдкрд╛рд╕рд╡рд░реНрдб рдорд┐рд│рд╡рдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕реЛрдкреЗ рдЖрд╣реЗ - рдХрдорд╛рдВрдбрд╕рд╣ /рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ scep-server otp рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдд. рдЬрд░ рдЖрдкрдг рд╕рд╛рдзреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдХреЗрд▓реЗ рддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕреЕрд░реЗ рд╡реНрд╣реЕрд▓реНрдпреВ рдорд┐рд│реЗрд▓ рдЬреА рдирдВрддрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рджреБрд╕рд░рд╛ рдорд╛рд░реНрдЧ рдПрдХ-рд╡реЗрд│ рдкрд╛рд╕рд╡рд░реНрдб рдорд┐рд│рд╡рдгреЗ рдЬреЛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рд╕реЛрдкреЗ рдЖрд╣реЗ - рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░реВрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ ..org рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдВрдЪрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рдХрд╛рд░рдЪрд╛ рдХреНрд░рдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдпреЗрдереЗ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдЖрд╣реЗ cantilevered рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдбреЗрдЯрд╛ рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг:

рдХреЛрдб
:global rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user ]->"da
ta") 1 6] :put $rnd1

рдХрдиреНрд╕реЛрд▓рд╕рд╛рдареА рдлреЙрд░рдореЕрдЯ рдХреЗрд▓реЗрд▓реА рд╡рд┐рдирдВрддреА (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреЙрдбреАрдордзреНрдпреЗ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓) $rnd1 рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕рд╣рд╛ рдЕрдВрдХрд╛рдВрдЪреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ. рдЦрд╛рд▓реАрд▓ "рдкреБрдЯ" рдХрдорд╛рдВрдб MikroTik рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рдлрдХреНрдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рджрд╛рдЦрд╡рддреЗ.

рдЪреМрдереА рд╕рдорд╕реНрдпрд╛ рдЬреНрдпрд╛рдЪреЗ рддреНрд╡рд░реАрдд рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ - рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рддреНрдпрд╛рдЪрд╛ рдПрдХ-рд╡реЗрд│рдЪрд╛ рдХреЛрдб рдХрд╕рд╛ рдЖрдгрд┐ рдХреБрдареЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓.

MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

MikroTik рд░рд╛рдЙрдЯрд░рд╡рд░ рдЕрд╢реА рд╕реЗрд╡рд╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреА рдХреЛрдб рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХреЗрд▓ рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдпрдВрдЯрд╢реА рдЬреБрд│реЗрд▓. рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдб рдЕрдкреЗрдХреНрд╖рд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛рд╢реА рдЬреБрд│рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреНрд▓рд╛рдпрдВрдЯрдЪрд╛ рдкрддреНрддрд╛ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ "рдкрд╛рдВрдврд▒реНрдпрд╛" рд╕реВрдЪреАрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рд╡рд╛, рдЬреНрдпрд╛ рдкрддреНрддреНрдпрд╛рдВрдордзреВрди рдХрдВрдкрдиреАрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ.

рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рдЦрд░рд╛рдм рдирд┐рд╡рдбреАрдореБрд│реЗ, рдорд┐рдХреНрд░реЛрдЯрд┐рдХрдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реЗрдмрдкреНрд░реЙрдХреНрд╕реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди HTTP рджреНрд╡рд╛рд░реЗ рдХреЛрдб рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛. рдЖрдгрд┐ рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрдпрдкреА рдЕреЕрдбреНрд░реЗрд╕рдЪреНрдпрд╛ рдбрд╛рдпрдиреЕрдорд┐рдХ рд▓рд┐рд╕реНрдЯрд╕рд╣ рдХрд╛рдо рдХрд░реВ рд╢рдХрдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЛ рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрд╣реЗ рдЬреЛ рдХреЛрдб рд╢реЛрдзрддреЛ, рддреЛ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдпрдкреАрд╢реА рдЬреБрд│рддреЛ рдЖрдгрд┐ Layer7 regexp рд╡рд╛рдкрд░реВрди "рд╡реНрд╣рд╛рдЗрдЯ" рд╕реВрдЪреАрдордзреНрдпреЗ рдЬреЛрдбрддреЛ. рд░рд╛рдЙрдЯрд░рд▓рд╛ рд╕реНрд╡рддрдГ рдПрдХ рд╕рд╢рд░реНрдд DNS рдирд╛рд╡ "gw.local" рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, PPP рдХреНрд▓рд╛рдпрдВрдЯрдирд╛ рдЬрд╛рд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд╡рд░ рдПрдХ рд╕реНрдерд┐рд░ A-рд░реЗрдХреЙрд░реНрдб рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ:

DNS
/ip dns static add name=gw.local address=172.31.1.1

рдкреНрд░реЙрдХреНрд╕реАрд╡рд░ рдЕрд╕рддреНрдпрд╛рдкрд┐рдд рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рд░рд╣рджрд╛рд░реА рдХреЕрдкреНрдЪрд░ рдХрд░рдгреЗ:
/ip firewall nat add chain=dstnat dst-port=80,443 in-interface=2fa protocol=tcp !src-address-list=2fa_approved action=redirect to-ports=3128

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкреНрд░реЙрдХреНрд╕реАрдордзреНрдпреЗ рджреЛрди рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд.

1. рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╣ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдЙрдШрдбрд╛;

2. рдпрд╢рд╕реНрд╡реА рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдХреНрд▓рд╛рдпрдВрдЯ рдмреНрд░рд╛рдЙрдЭрд░рд▓рд╛ рдкреГрд╖реНрдард╛рд╡рд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рдпрд╢рд╕реНрд╡реА рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдмрджреНрджрд▓ рд╕реВрдЪрд┐рдд рдХрд░рдгрд╛рд░реЗ рдЪрд┐рддреНрд░:

рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди
/ip proxy
set enabled=yes port=3128
/ip proxy access
add action=deny disabled=no redirect-to=gw.local./mikrotik_logo.png src-address=0.0.0.0/0

рдореА рдорд╣рддреНрд╡рд╛рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдШрдЯрдХ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрди:

  1. рдЗрдВрдЯрд░рдлреЗрд╕-рд▓рд┐рд╕реНрдЯ "2fa" - рдХреНрд▓рд╛рдпрдВрдЯ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреА рдбрд╛рдпрдиреЕрдорд┐рдХ рд╕реВрдЪреА, рдЯреНрд░реЕрдлрд┐рдХ рдЬреНрдпрд╛рддреВрди 2FA рдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  2. рдкрддреНрддрд╛-рд╕реВрдЪреА "2fa_jailed" - VPN рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмреЛрдЧрджреНрдпрд╛рдЪреНрдпрд╛ IP рдкрддреНрддреНрдпрд╛рдВрдЪреА "рдЧреНрд░реЗ" рдпрд╛рджреА;
  3. рдкрддреНрддрд╛_рд╕реВрдЪреА "2fa_approved" - рджреЛрди-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рдкрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ VPN рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рд╕реБрд░рдВрдЧ IP рдкрддреНрддреНрдпрд╛рдВрдЪреА "рдкрд╛рдВрдврд░реА" рдпрд╛рджреА.
  4. рдлрд╛рдпрд░рд╡реЙрд▓ рд╕рд╛рдЦрд│реА "input_2fa" - рддреЗ рдЕрдзрд┐рдХреГрддрддрд╛ рдХреЛрдбрдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрд╕рд╛рдареА tcp рдкреЕрдХреЗрдЯ рддрдкрд╛рд╕рддреЗ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдб рдкрд╛рдард╡рдгрд╛рд░реНтАНрдпрд╛рдЪреНрдпрд╛ IP рдкрддреНрддреНрдпрд╛рд╢реА рдЬреБрд│рддреЗ. рд╕рд╛рдЦрд│реАрддреАрд▓ рдирд┐рдпрдо рдЧрддрд┐рд╢реАрд▓рдкрдгреЗ рдЬреЛрдбрд▓реЗ рдЖрдгрд┐ рдХрд╛рдврд▓реЗ рдЬрд╛рддрд╛рдд.

рдкреЕрдХреЗрдЯ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдлреНрд▓реЛрдЪрд╛рд░реНрдЯ рдЕрд╕рд╛ рджрд┐рд╕рддреЛ:

MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдЕрджреНрдпрд╛рдк рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдЪрд╛ рджреБрд╕рд░рд╛ рдЯрдкреНрдкрд╛ рдкрд╛рд░ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ "рд░рд╛рдЦрд╛рдбреА" рд╕реВрдЪреАрдордзреАрд▓ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдЯреНрд░реЕрдлрд┐рдХрдЪреА рд▓реЗрдпрд░7 рддрдкрд╛рд╕рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорд╛рдирдХ "рдЗрдирдкреБрдЯ" рд╕рд╛рдЦрд│реАрдордзреНрдпреЗ рдПрдХ рдирд┐рдпрдо рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ:

рдХреЛрдб
/ip firewall filter add chain=input !src-address-list=2fa_approved action=jump jump-target=input_2fa

рдЖрддрд╛ рд╣реА рд╕рд░реНрд╡ рд╕рдВрдкрддреНрддреА рдкреАрдкреАрдкреА рд╕реЗрд╡реЗрд╕рд╛рдареА рдЬреЛрдбрдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВрдпрд╛. MikroTik рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ (ppp-рдкреНрд░реЛрдлрд╛рдЗрд▓) рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ ppp рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрдгрд┐ рддреЛрдбрдгреНрдпрд╛рдЪреНрдпрд╛ рдШрдЯрдирд╛рдВрдордзреНрдпреЗ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. ppp-рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ PPP рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдХрд┐рдВрд╡рд╛ рд╡реИрдпрдХреНрддрд┐рдХ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЕрд╕рддреЗ, рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рдЪреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рддреНрдпрд╛рдЪреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рддреЗ.

рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рддреЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдирд╛рд╣реА, рддрд░ рдЬреНрдпрд╛рдВрдирд╛ рдЕрд╕реЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпреБрдХреНрдд рдХрд░реВ рд╢рдХрддреЛ. рддреБрдореНрд╣реА рдкреАрдкреАрдкреА рд╕реЗрд╡рд╛ рдХреЗрд╡рд│ рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рд╕рд╛рдЗрдЯ-рдЯреВ-рд╕рд╛рдЗрдЯ рдХрдиреЗрдХреНрд╢рди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕реВ рд╢рдХрддреЗ.

рдирд╡реНрдпрд╛рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ, рдЖрдореНрд╣реА рдкрддреНрддреЗ рдЖрдгрд┐ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ "рдЧреНрд░реЗ" рд╕реВрдЪреАрдордзреНрдпреЗ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдкрддреНрддрд╛ рдЖрдгрд┐ рдЗрдВрдЯрд░рдлреЗрд╕ рдбрд╛рдпрдиреЕрдорд┐рдХ рдЬреЛрдбрдгреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЛ:

winbox
MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдХреЛрдб
/ppp profile add address-list=2fa_jailed change-tcp-mss=no local-address=192.0.2.254 name=2FA interface-list=2fa only-one=yes remote-address=dhcp_pool1 use-compression=no use-encryption= required use-mpls=no use-upnp=no dns-server=172.31.1.1

dstnat (prerouting) рд╕рд╛рдЦрд│реАрддреАрд▓ рдЧреИрд░-рджреБрдпреНрдпрдо VPN рдХреНрд▓рд╛рдпрдВрдЯреНрд╕рдХрдбреВрди рд░рд╣рджрд╛рд░реА рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХреЕрдкреНрдЪрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЛрдиреНрд╣реА "рдкрддреНрддрд╛-рд╕реВрдЪреА" рдЖрдгрд┐ "рдЗрдВрдЯрд░рдлреЗрд╕-рд╕реВрдЪреА" рдпрд╛рджреНрдпрд╛ рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рддрдпрд╛рд░реА рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░, рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╛рдпрд░рд╡реЙрд▓ рдЪреЗрди рдЖрдгрд┐ рдкреНрд░реЛрдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓, рдЖрдореНрд╣реА 2FA рдХреЛрдб рдЖрдгрд┐ рд╡реИрдпрдХреНрддрд┐рдХ рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдорд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдпрдВ-рдирд┐рд░реНрдорд┐рддреАрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣реВ.

рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг wiki.mikrotik.com рдкреАрдкреАрдкреА-рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╡рд░ рдкреАрдкреАрдкреА рдХреНрд▓рд╛рдпрдВрдЯ рдХрдиреЗрдХреНрдЯ-рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдЗрд╡реНрд╣реЗрдВрдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рджреЗрдКрди рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдореГрджреНрдз рдХрд░рддреЗ "рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди-рдЗрд╡реНрд╣реЗрдВрдЯрд╡рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛. рд╣реЗ рдЙрдкрд▓рдмреНрдз рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЖрд╣реЗрдд рдЬреЗ рдЗрд╡реНрд╣реЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп рдЖрд╣реЗрдд: рд╡рд╛рдкрд░рдХрд░реНрддрд╛, рд╕реНрдерд╛рдирд┐рдХ-рдкрддреНрддрд╛, рд░рд┐рдореЛрдЯ-рдкрддреНрддрд╛, рдХреЙрд▓рд░-рдЖрдпрдбреА, рдХреЙрд▓-рдЖрдпрдбреА, рдЗрдВрдЯрд░рдлреЗрд╕". рддреНрдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗрдд.

PPP рдСрди-рдЕрдк рдХрдиреЗрдХреНрд╢рди рдЗрд╡реНрд╣реЗрдВрдЯрд╕рд╛рдареА рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХреЛрдб рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ

#╨Ы╨╛╨│╨╕╤А╤Г╨╡╨╝ ╨┤╨╗╤П ╨╛╤В╨╗╨░╨┤╨║╨╕ ╨┐╨╛╨╗╤Г╤З╨╡╨╜╨╜╤Л╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡ 
:log info (

quot;local-address")
:log info (


quot;remote-address")
:log info (


quot;caller-id")
:log info (


quot;called-id")
:log info ([/int pptp-server get (


quot;interface") name])
#╨Ю╨▒╤К╤П╨▓╨╗╤П╨╡╨╝ ╤Б╨▓╨╛╨╕ ╨╗╨╛╨║╨░╨╗╤М╨╜╤Л╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡
:local listname "2fa_jailed"
:local viamodem false
:local modemport "usb2"
#╨╕╤Й╨╡╨╝ ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╤Б╨╛╨╖╨┤╨░╨╜╨╜╤Г╤О ╨╖╨░╨┐╨╕╤Б╤М ╨▓ ╨░╨┤╤А╨╡╤Б-╨╗╨╕╤Б╤В╨╡ "2fa_jailed"
:local recnum1 [/ip fi address-list find address=(


quot;remote-address") list=$listname]

#╨┐╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨┐╤Б╨╡╨▓╨┤╨╛╤Б╨╗╤Г╤З╨░╨╣╨╜╤Л╨╣ ╨║╨╛╨┤ ╤З╨╡╤А╨╡╨╖ random.org
#:local rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user]->"data") 0 4] #╨╗╨╕╨▒╨╛ ╨┐╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨┐╤Б╨╡╨▓╨┤╨╛╤Б╨╗╤Г╤З╨░╨╣╨╜╤Л╨╣ ╨║╨╛╨┤ ╤З╨╡╤А╨╡╨╖ ╨╗╨╛╨║╨░╨╗╤М╨╜╤Л╨╣ ╨│╨╡╨╜╨╡╤А╨░╤В╨╛╤А
#:local rnd1 [pick ([/cert scep-server otp generate as-value minutes-valid=1]->"password") 0 4 ]

#╨Ш╤Й╨╡╨╝ ╨╕ ╨╛╨▒╨╜╨╛╨▓╨╗╤П╨╡╨╝ ╨║╨╛╨╝╨╝╨╡╨╜╤В ╨║ ╨╖╨░╨┐╨╕╤Б╨╕ ╨▓ ╨░╨┤╤А╨╡╤Б-╨╗╨╕╤Б╤В╨╡. ╨Т╨╜╨╛╤Б╨╕╨╝ ╨╕╤Б╨║╨╛╨╝╤Л╨╣ ╨║╨╛╨┤ ╨┤╨╗╤П ╨╛╤В╨╗╨░╨┤╨║╨╕
/ip fir address-list set $recnum1 comment=$rnd1
#╨┐╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨╜╨╛╨╝╨╡╤А ╤В╨╡╨╗╨╡╤Д╨╛╨╜╨░ ╨║╤Г╨┤╨░ ╤Б╨╗╨░╤В╤М SMS
:local vphone [/ppp secret get [find name=$user] comment]

#╨У╨╛╤В╨╛╨▓╨╕╨╝ ╤В╨╡╨╗╨╛ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╤П. ╨Х╤Б╨╗╨╕ ╨║╨╗╨╕╨╡╨╜╤В ╨┐╨╛╨┤╨║╨╗╤О╤З╨░╨╡╤В╤Б╤П ╨║ VPN ╨┐╤А╤П╨╝╨╛ ╤Б ╤В╨╡╨╗╨╡╤Д╨╛╨╜╨░ ╨╡╨╝╤Г ╨┤╨╛╤Б╤В╨░╤В╨╛╤З╨╜╨╛
#╨▒╤Г╨┤╨╡╤В ╨┐╨╡╤А╨╡╨╣╤В╨╕ ╨┐╤А╤П╨╝╨╛ ╨┐╨╛ ╤Б╤Б╤Л╨╗╨║╨╡ ╨╕╨╖ ╨┐╨╛╨╗╤Г╤З╨╡╨╜╨╜╨╛╨│╨╛ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╤П
:local msgboby ("Your code: ".$comm1."n Or open link http://gw.local/otp/".$comm1."/")

# ╨Ю╤В╨┐╤А╨░╨▓╨╗╤П╨╡╨╝ SMS ╨┐╨╛ ╨▓╤Л╨▒╤А╨░╨╜╨╜╨╛╨╝╤Г ╨║╨░╨╜╨░╨╗╤Г - USB-╨╝╨╛╨┤╨╡╨╝ ╨╕╨╗╨╕ email-to-sms
if $viamodem do={
/tool sms send phone-number=$vphone message=$msgboby port=$modemport }
else={
/tool e-mail send server=a.b.c.d [email protected] [email protected] subject="@".$vphone body=$msgboby }

#╨У╨╡╨╜╨╡╤А╨╕╤А╤Г╨╡╨╝ Layer7 regexp
local vregexp ("otp\/".$comm1)
:local vcomment ("2fa_".(


quot;remote-address"))
/ip firewall layer7-protocol add name=(


quot;vcomment") comment=(


quot;remote-address") regexp=(


quot;vregexp")

#╨У╨╡╨╜╨╡╤А╨╕╤А╤Г╨╡╨╝ ╨┐╤А╨░╨▓╨╕╨╗╨╛ ╨┐╤А╨╛╨▓╨╡╤А╤П╤О╤Й╨╡╨╡ ╨┐╨╛ Layer7 ╤В╤А╨░╤Д╨╕╨║ ╨║╨╗╨╕╨╡╨╜╤В╨░ ╨▓ ╨┐╨╛╨╕╤Б╨║╨░╤Е ╨╜╤Г╨╢╨╜╨╛╨│╨╛ ╨║╨╛╨┤╨░
#╨╕ ╨╜╨╡╨▒╨╛╨╗╤М╤И╨╛╨╣ ╨╖╨░╤Й╨╕╤В╨╛╨╣ ╨╛╤В ╨▒╤А╤Г╤В╤Д╨╛╤А╤Б╨░ ╨║╨╛╨┤╨╛╨▓ ╤Б ╨┐╨╛╨╝╨╛╤Й╤М╤О dst-limit
/ip firewall filter add action=add-src-to-address-list address-list=2fa_approved address-list-timeout=none-dynamic chain=input_2fa dst-port=80,443,3128 layer7-protocol=(


quot;vcomment") protocol=tcp src-address=(


quot;remote-address") dst-limit=1,1,src-address/1m40s

рд╡рд┐рд╢реЗрд╖рдд: рдЬреНрдпрд╛рдВрдирд╛ рдмрд┐рдирджрд┐рдХреНрдХрддрдкрдгреЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░рд╛рдпрд▓рд╛ рдЖрд╡рдбрддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЪреЗрддрд╛рд╡рдгреА рджреЗрддреЛ - рдХреЛрдб рдЪрд╛рдЪрдгреА рдЖрд╡реГрддреНрддреАрдордзреВрди рдШреЗрддрд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдХрд┐рд░рдХреЛрд│ рдЯрд╛рдпрдкреЛрдЬ рдЕрд╕реВ рд╢рдХрддрд╛рдд. рд╕рдордЬреВрддрджрд╛рд░ рдорд╛рдгрд╕рд╛рд▓рд╛ рдиреЗрдордХреЗ рдХреБрдареЗ рд╣реЗ рд╢реЛрдзрдгреЗ рдЕрд╡рдШрдб рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА.

рдЬреЗрд╡реНрд╣рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛрддреЛ, рддреЗрд╡реНрд╣рд╛ "рдСрди-рдбрд╛рдЙрди" рдЗрд╡реНрд╣реЗрдВрдЯ рддрдпрд╛рд░ рд╣реЛрддреЛ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪрд╛ рдЙрджреНрджреЗрд╢ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рд╕рд╛рдл рдХрд░рдгреЗ рд╣рд╛ рдЖрд╣реЗ.

PPP рдСрди-рдбрд╛рдЙрди рдХрдиреЗрдХреНрд╢рди рдЗрд╡реНрд╣реЗрдВрдЯрд╕рд╛рдареА рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХреЛрдб рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ

:local vcomment ("2fa_".(

quot;remote-address"))
/ip firewall address-list remove [find address=(


quot;remote-address") list=2fa_approved] /ip firewall filter remove [find chain="input_2fa" src-address=(


quot;remote-address") ] /ip firewall layer7-protocol remove [find name=$vcomment]
рддреНрдпрд╛рдирдВрддрд░ рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдЯреВ-рдлреЕрдХреНрдЯрд░ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреНрдпреЗ рдирд┐рдпреБрдХреНрдд рдХрд░реВ рд╢рдХрддрд╛.

winbox
MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдХреЛрдб
/ppp secrets set [find name=Petrov] profile=2FA

рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рддреЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ.

рдЬреЗрд╡реНрд╣рд╛ рд╡реНрд╣реАрдкреАрдПрди рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рддреЗрд╡реНрд╣рд╛ рд╕рд┐рдо рдХрд╛рд░реНрдб рдЕрд╕рд▓реЗрд▓реНрдпрд╛ Android/iOS рдлреЛрди/рдЯреЕрдмрд▓реЗрдЯрд▓рд╛ рдЕрд╕рд╛ рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ:

рдПрд╕рдПрдордПрд╕
MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рдЬрд░ рдХрдиреЗрдХреНрд╢рди рдереЗрдЯ рдлреЛрди / рдЯреЕрдмреНрд▓реЗрдЯрд╡рд░реВрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рд╕рдВрджреЗрд╢рд╛рддреАрд▓ рд▓рд┐рдВрдХрд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░реВрди 2FA рдордзреВрди рдЬрд╛рдК рд╢рдХрддрд╛. рддреЗ рдЖрд░рд╛рдорджрд╛рдпрдХ рдЖрд╣реЗ.

рд╡реНрд╣реАрдкреАрдПрди рдХрдиреЗрдХреНрд╢рди рдкреАрд╕реАрд╡рд░реВрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рдХрд┐рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдлреЙрд░реНрдо рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓. VPN рд╕реЗрдЯ рдХрд░рддрд╛рдирд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ HTML рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдПрдХ рдЫреЛрдЯрд╛ рдлреЙрд░реНрдо рджрд┐рд▓рд╛ рдЬрд╛рддреЛ. рдлрд╛рдИрд▓ рдореЗрд▓рджреНрд╡рд╛рд░реЗ рджреЗрдЦреАрд▓ рдкрд╛рдард╡рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рдЬреЗрдгреЗрдХрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреА рдЬрддрди рдХрд░реЗрд▓ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдард┐рдХрд╛рдгреА рд╢реЙрд░реНрдЯрдХрдЯ рддрдпрд╛рд░ рдХрд░реЗрд▓. рд╣реЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

рдЯреЗрдмрд▓рд╡рд░ рд▓реЗрдмрд▓
MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╢реЙрд░реНрдЯрдХрдЯрд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЛ, рдПрдХ рд╕рд╛рдзрд╛ рдХреЛрдб рдПрдВрдЯреНрд░реА рдлреЙрд░реНрдо рдЙрдШрдбрддреЛ, рдЬреЛ рдЙрдШрдбрд▓реЗрд▓реНрдпрд╛ URL рдордзреНрдпреЗ рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░реЗрд▓:

рд╕реНрдХреНрд░реАрди рдлреЙрд░реНрдо
MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рд╕рд░реНрд╡рд╛рдд рдЖрджрд┐рдо рд╕реНрд╡рд░реВрдк рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рджрд┐рд▓реЗ рдЖрд╣реЗ. рдЬреНрдпрд╛рдВрдирд╛ рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ рддреЗ рд╕реНрд╡рддрдГрд╕рд╛рдареА рдмрджрд▓ рдХрд░реВ рд╢рдХрддрд╛рдд.

2fa_login_mini.html

<html>
<head> <title>SMS OTP login</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head>
<body>
<form name="login" action="location.href='http://gw.local/otp/'+document.getElementById(тАШtext').value"  method="post"
 <input id="text" type="text"/> 
<input type="button" value="Login" onclick="location.href='http://gw.local/otp/'+document.getElementById('text').value"/> 
</form>
</body>
</html>

рдЕрдзрд┐рдХреГрддрддрд╛ рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ MikroTik рд▓реЛрдЧреЛ рджрд┐рд╕реЗрд▓, рдЬреЛ рдпрд╢рд╕реНрд╡реА рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рдЪрд╛ рд╕рдВрдХреЗрдд рджреЗрдИрд▓:

MikroTik рдЖрдгрд┐ SMS рджреНрд╡рд╛рд░реЗ VPN рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг

рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдЗрдореЗрдЬ рдмрд┐рд▓реНрдЯ-рдЗрди MikroTik рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди WebProxy Deny Redirect рд╡рд╛рдкрд░реВрди рдкрд░рдд рдХреЗрд▓реА рдЖрд╣реЗ.

рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА "рд╣реЙрдЯрд╕реНрдкреЙрдЯ" рдЯреВрд▓ рд╡рд╛рдкрд░реВрди рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рддреЗрдереЗ рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдЖрд╡реГрддреНрддреА рдЕрдкрд▓реЛрдб рдХрд░рд╛ рдЖрдгрд┐ WebProxy рд╕рд╣ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ URL рдирд╛рдХрд╛рд░реВ рджреНрдпрд╛.

рдЬреЗ рд╕рд░реНрд╡рд╛рдд рд╕реНрд╡рд╕реНрдд "рдЦреЗрд│рдгреА" Mikrotik $20 рдордзреНрдпреЗ рд╡рд┐рдХрдд рдШреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗрдд рддреНрдпрд╛рдВрдирд╛ рдПрдХ рдореЛрдареА рд╡рд┐рдирдВрддреА рдЖрд╣реЗ рдЖрдгрд┐ $500 рдЪреЗ рд░рд╛рдЙрдЯрд░ рддреНрдпрд╛рд╕реЛрдмрдд рдмрджрд▓реВ рдирдХрд╛ - рдЕрд╕реЗ рдХрд░реВ рдирдХрд╛. "hAP Lite" / "hAP mini" (рд╣реЛрдо рдНрдХреНрд╕реЗрд╕ рдкреЙрдИрдВрдЯ) рд╕рд╛рд░рдЦреНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдЦреВрдк рдХрдордХреБрд╡рдд CPU (smips) рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╡реНрдпрд╡рд╕рд╛рдп рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рд▓реЛрдбрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реАрдд.

рдЪреЗрддрд╛рд╡рдгреА! рдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдирдЪрд╛ рдПрдХ рддреЛрдЯрд╛ рдЖрд╣реЗ: рдЬреЗрд╡реНрд╣рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдХрдиреЗрдХреНрдЯ рдХрд┐рдВрд╡рд╛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓ рд╣реЛрддрд╛рдд, рдЬреЗ рд░рд╛рдЙрдЯрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдиреЙрди-рд╡реНрд╣реЛрд▓реЕрдЯрд╛рдЗрд▓ рдореЗрдорд░реАрдордзреНрдпреЗ рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╡рд╛рд░рдВрд╡рд╛рд░ рдХрдиреЗрдХреНрд╢рди рдЖрдгрд┐ рдбрд┐рд╕реНрдХрдиреЗрдХреНрд╢рди, рдпрд╛рдореБрд│реЗ рд░рд╛рдЙрдЯрд░рдордзреАрд▓ рдЕрдВрддрд░реНрдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ рдЦрд░рд╛рдм рд╣реЛрдК рд╢рдХрддреЗ.

PS: рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдХреЛрдб рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ рдЬреЛрдкрд░реНрдпрдВрдд рддреБрдордЪреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдкреБрд░реЗрд╢реА рдЖрд╣реЗ рддреЛрдкрд░реНрдпрдВрдд рдкреВрд░рдХ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рдЯреЗрд▓реАрдЧреНрд░рд╛рдорд╡рд░ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ ... рдкрд░реНрдпрд╛рдп рд╕реБрдЪрд╡реВ рд╢рдХрддрд╛!

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рд▓реЗрдЦ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЖрдгрд┐ рд▓рд╣рд╛рди рдЖрдгрд┐ рдордзреНрдпрдо рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрдЪреЗ рдиреЗрдЯрд╡рд░реНрдХ рдереЛрдбреЗ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░реЗрд▓.

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