рдмреНрд▓реЙрдХрд┐рдВрдЧрд▓рд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА BGP рд╕реЗрдЯ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ "рдореА рдШрд╛рдмрд░рдгреЗ рдХрд╕реЗ рдерд╛рдВрдмрд╡рд▓реЗ рдЖрдгрд┐ RKN рдЪреНрдпрд╛ рдкреНрд░реЗрдорд╛рдд рдкрдбрд▓реЛ"

рдмрд░рдВ, рдареАрдХ рдЖрд╣реЗ, "рдкреНрд░реЗрдо" рдмрджреНрджрд▓ рдЕрддрд┐рд╢рдпреЛрдХреНрддреА рдЖрд╣реЗ. рддреНрдпрд╛рдРрд╡рдЬреА, "рд╕реЛрдмрдд рд░рд╛рд╣рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ."

рддреБрдореНрд╣рд╛ рд╕рд░реНрд╡рд╛рдВрдирд╛ рдорд╛рд╣реАрдд рдЖрд╣реЗ рдХреА, 16 рдПрдкреНрд░рд┐рд▓ 2018 рдкрд╛рд╕реВрди, Roskomnadzor рдЕрддрд┐рд╢рдп рд╡реНрдпрд╛рдкрдХ рд╕реНрдЯреНрд░реЛрдХрдордзреНрдпреЗ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдд рдЖрд╣реЗ, "рдпреБрдирд┐рдлрд╛рдЗрдб рд░рдЬрд┐рд╕реНрдЯрд░ рдСрдл рдбреЛрдореЗрди рдиреЗрдореНрд╕, рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рд╕рд╛рдЗрдЯреНрд╕рдЪреЗ рдкреГрд╖реНрда рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрддреНрддреЗ рдЬреЗ рд╕рд╛рдЗрдЯ рдУрд│рдЦреВ рджреЗрддрд╛рдд. рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░, "рд░рд╢рд┐рдпрди рдлреЗрдбрд░реЗрд╢рдирдордзреНрдпреЗ рдЬреНрдпрд╛рдЪреЗ рд╡рд┐рддрд░рдг рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрд╣реЗ рдЕрд╢рд╛ рдорд╛рд╣рд┐рддреАрд╕рд╣" (рдордЬрдХреВрд░рд╛рдд - рдлрдХреНрдд рдПрдХ рдиреЛрдВрджрдгреА) /10 рдХрдзреАрдХрдзреА. рдкрд░рд┐рдгрд╛рдореА, рд░рд╢рд┐рдпрди рдлреЗрдбрд░реЗрд╢рдирдЪреЗ рдирд╛рдЧрд░рд┐рдХ рдЖрдгрд┐ рд╡реНрдпрд╡рд╕рд╛рдп рддреНрд░рд╕реНрдд рдЖрд╣реЗрдд, рддреНрдпрд╛рдВрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рдпрджреЗрд╢реАрд░ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЧрдорд╛рд╡рд▓рд╛ рдЖрд╣реЗ.

рдмрд╛рдпрдкрд╛рд╕ рдпреЛрдЬрдирд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореА рдкреАрдбрд┐рддрд╛рдВрдирд╛ рдорджрдд рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЗ рдЕрд╕реЗ рд╣реЕрдмреНрд░реЗрд╡рд░реАрд▓ рдПрдХрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдореА рдореНрд╣рдЯрд▓реНрдпрд╛рдирдВрддрд░, рдЕрдиреЗрдХ рд▓реЛрдХ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдЕрд╢реА рдорджрдд рдорд╛рдЧрдгреНрдпрд╛рд╕рд╛рдареА рдЖрд▓реЗ. рдЬреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдкреИрдХреА рдПрдХрд╛рдиреЗ рдПрдХрд╛ рд▓реЗрдЦрд╛рдд рддрдВрддреНрд░рд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА. рдХрд╛рд╣реА рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдореА рд╕рд╛рдЗрдЯрд╡рд░реАрд▓ рдорд╛рдЭреЗ рдореМрди рддреЛрдбрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдк рдЖрдгрд┐ рдлреЗрд╕рдмреБрдХ рдкреЛрд╕реНрдЯ рджрд░рдореНрдпрд╛рди рдХрд╛рд╣реАрддрд░реА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛, рдореНрд╣рдгрдЬреЗ. habrapost рдирд┐рдХрд╛рд▓ рддреБрдордЪреНрдпрд╛ рд╕рдореЛрд░ рдЖрд╣реЗ.

рдЬрдмрд╛рдмрджрд╛рд░реА рдирд╛рдХрд╛рд░рдгреЗ

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

рддрд╕реЗрдЪ, рдореА рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡реНрдпрд╡рд╕рд╛рдп рдЖрдгрд┐ рдЬреАрд╡рди рдорд╛рд░реНрдЧ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдгрд┐ рд▓рд┐рдирдХреНрд╕ рд╣реЗ рдорд╛рдЭреЗ рдордЬрдмреВрдд рдореБрджреНрджреЗ рдирд╛рд╣реАрдд. рддреНрдпрд╛рдореБрд│реЗ, рдЕрд░реНрдерд╛рддрдЪ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, VPS рдордзреАрд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ рд╕рдЦреЛрд▓рдкрдгреЗ рд╢реЛрдзрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЗ. рддреБрдордЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдХреГрддрдЬреНрдЮрддреЗрдиреЗ рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓, рдЬрд░ рддреЗ рдкреБрд░реЗрд╕реЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЕрд╕рддреАрд▓ - рдорд▓рд╛ рддреНрдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдордЬрдХреБрд░рд╛рдд рдЬреЛрдбрдгреНрдпрд╛рд╕ рдЖрдирдВрдж рд╣реЛрдИрд▓.

TL; рдбреЙ

рдЖрдореНрд╣реА рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдЖрдгрд┐ BGP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдПрдХ рдкреНрд░рдд рд╡рд╛рдкрд░реВрди рддреБрдордЪреНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рдмреЛрдЧрджреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рддреЛ. рдмреЛрдЧрджреНрдпрд╛рдордзреНрдпреЗ рдЕрд╡рд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрдирд╛рдВрдирд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХреЗрд▓реЗрд▓реА рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рд╣реЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. рдХрд┐рдорд╛рди рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг, рдореБрдЦреНрдпрддрдГ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реВрдЪрдирд╛.

рдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ?

рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рд╣реЗ рдкреЛрд╕реНрдЯ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдирд╛рд╣реА. рд╣реЗ рддрдВрддреНрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрдиреЗрдХ рдШрдЯрдХ рдПрдХрддреНрд░ рдареЗрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдлреАрд▓реНрдбрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдХреБрдареЗрддрд░реА рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрд┐рдВрд╡рд╛ рдХрд┐рдорд╛рди рдЕрд╕рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рдгреНрдпрд╛рдЪреА рдЗрдЪреНрдЫрд╛ - рд╕реБрджреИрд╡рд╛рдиреЗ рдЖрддрд╛ рддреНрдпрд╛рдЪреА рдХрд┐рдВрдордд $9/рд╡рд░реНрд╖ рдЖрдгрд┐ рд╢рдХреНрдпрддреЛ рдХрдореА рдЖрд╣реЗ. рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╡реЗрдЧрд│рд╛ рд╡реНрд╣реАрдкреАрдПрди рдмреЛрдЧрджрд╛ рдЕрд╕реЗрд▓ рддрд░ рд╣реА рдкрджреНрдзрдд рджреЗрдЦреАрд▓ рдпреЛрдЧреНрдп рдЖрд╣реЗ, рдирдВрддрд░ рд╕рд░реНрд╡реНрд╣рд░ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдлреАрд▓реНрдбрдордзреНрдпреЗ рд╕реНрдерд┐рдд рдЕрд╕реВ рд╢рдХрддреЛ.
  2. рддреБрдордЪрд╛ рд░рд╛рдЙрдЯрд░ рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рд╕реНрдорд╛рд░реНрдЯ рдЕрд╕рд╛рд╡рд╛
    • рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбрдгрд╛рд░рд╛ рдХреЛрдгрддрд╛рд╣реА VPN рдХреНрд▓рд╛рдпрдВрдЯ (рдореА OpenVPN рд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддреЛ, рдкрд░рдВрддреБ рддреЗ PPTP, L2TP, GRE+IPSec рдХрд┐рдВрд╡рд╛ рдЯрдиреЗрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгрд╛рд░рд╛ рдХреЛрдгрддрд╛рд╣реА рдкрд░реНрдпрд╛рдп рдЕрд╕реВ рд╢рдХрддреЛ);
    • BGPv4 рдкреНрд░реЛрдЯреЛрдХреЙрд▓. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА SOHO рд╕рд╛рдареА рддреЗ Mikrotik рдХрд┐рдВрд╡рд╛ OpenWRT/LEDE/рддрддреНрд╕рдо рд╕рд╛рдиреБрдХреВрд▓ рдлрд░реНрдорд╡реЗрдЕрд░ рдЕрд╕рд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рд░рд╛рдЙрдЯрд░ рдЕрд╕реВ рд╢рдХрддреЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ Quagga рдХрд┐рдВрд╡рд╛ Bird рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдкреАрд╕реА рд░рд╛рдЙрдЯрд░ рд╡рд╛рдкрд░рдгреЗ рджреЗрдЦреАрд▓ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╛рд╣реА. рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рддреБрдордЪреНрдпрд╛ рдмреЙрд░реНрдбрд░ рд░рд╛рдЙрдЯрд░рд╕рд╛рдареА рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдордзреНрдпреЗ BGP рд╕рдорд░реНрдерди рд╢реЛрдзрд╛.
  3. рддреБрдореНрд╣рд╛рд▓рд╛ BGP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╣ Linux рд╡рд╛рдкрд░ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреА рдорд╛рд╣рд┐рддреА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрд┐рдВрд╡рд╛ рдирд┐рджрд╛рди рдЕрд╢реА рдХрд▓реНрдкрдирд╛ рддрд░реА рдпрд╛рд╡реА рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ. рдпрд╛ рд╡реЗрд│реА рдореА рд╡рд┐рд╢рд╛рд▓рддреЗрдЪрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рддрдГрд╣реВрди рдЕрдирд╛рдХрд▓рдиреАрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдкреИрд▓реВрдВрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓. рддрдерд╛рдкрд┐, рдореА рдЕрд░реНрдерд╛рддрдЪ, рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдИрди рдЖрдгрд┐ рдЙрддреНрддрд░ рджреЗрдгрд╛рд░рд╛ рдореА рдПрдХрдЯрд╛ рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд╛рд╣реА, рдореНрд╣рдгреВрди рд╡рд┐рдЪрд╛рд░рдгреНрдпрд╛рд╕ рдЕрдЬрд┐рдмрд╛рдд рд╕рдВрдХреЛрдЪ рдХрд░реВ рдирдХрд╛.

рдЙрджрд╛рд╣рд░рдгрд╛рдд рдХрд╛рдп рд╡рд╛рдкрд░рд▓реЗ рдЖрд╣реЗ

  • рд░рдЬрд┐рд╕реНрдЯрд░рдЪреА рдПрдХ рдкреНрд░рдд - рдкрд╛рд╕реВрди https://github.com/zapret-info/z-i 
  • VPS - рдЙрдмрдВрдЯреВ 16.04
  • рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ - рдкрдХреНрд╖реА 1.6.3   
  • рд░рд╛рдЙрдЯрд░ - Mikrotik hAP ac
  • рдХрд╛рд░реНрдпрд░рдд рдлреЛрд▓реНрдбрд░реНрд╕ - рдЖрдореНрд╣реА рд░реВрдЯ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдмрд╣реБрддреЗрдХ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреА рд░реВрдЯрдЪреНрдпрд╛ рд╣реЛрдо рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдЕрд╕рддреАрд▓. рдЕрдиреБрдХреНрд░рдореЗ:
    • /root/blacklist - рд╕рдВрдХрд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕рд╣ рдХрд╛рд░реНрдпрд░рдд рдлреЛрд▓реНрдбрд░
    • /root/zi - github рд╡рд░реВрди рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреА рдкреНрд░рдд
    • /etc/bird - рдкрдХреНрд╖реА рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╛рдареА рдорд╛рдирдХ рдлреЛрд▓реНрдбрд░
  • рд░реВрдЯрд┐рдВрдЧ рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдЯрдиреЗрд▓ рдЯрд░реНрдорд┐рдиреЗрд╢рди рдкреЙрдЗрдВрдЯрд╕рд╣ VPS рдЪрд╛ рдмрд╛рд╣реНрдп IP рдкрддреНрддрд╛ 194.165.22.146, ASN 64998 рдЖрд╣реЗ; рд░рд╛рдЙрдЯрд░рдЪрд╛ рдмрд╛рд╣реНрдп IP рдкрддреНрддрд╛ - 81.177.103.94, ASN 64999
  • рдмреЛрдЧрджреНрдпрд╛рддреАрд▓ IP рдкрддреНрддреЗ рдЕрдиреБрдХреНрд░рдореЗ 172.30.1.1 рдЖрдгрд┐ 172.30.1.2 рдЖрд╣реЗрдд.

рдмреНрд▓реЙрдХрд┐рдВрдЧрд▓рд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА BGP рд╕реЗрдЯ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ "рдореА рдШрд╛рдмрд░рдгреЗ рдХрд╕реЗ рдерд╛рдВрдмрд╡рд▓реЗ рдЖрдгрд┐ RKN рдЪреНрдпрд╛ рдкреНрд░реЗрдорд╛рдд рдкрдбрд▓реЛ"

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

рдереЛрдбрдХреНрдпрд╛рдд - рд╕рдорд╛рдзрд╛рдирд╛рдЪреЗ рддрд░реНрдХ

  1. рддрдпрд╛рд░реА рдХреГрддреА
    1. VPS рдорд┐рд│рд╡рдд рдЖрд╣реЗ
    2. рд░рд╛рдЙрдЯрд░рдкрд╛рд╕реВрди VPS рдкрд░реНрдпрдВрдд рдмреЛрдЧрджрд╛ рд╡рд╛рдврд╡рдгреЗ
  2. рдЖрдореНрд╣реА рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреА рдкреНрд░рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ рдЖрдгрд┐ рдирд┐рдпрдорд┐рддрдкрдгреЗ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рддреЛ
  3. рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ
  4. рдЖрдореНрд╣реА рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рд░реВрдЯрд┐рдВрдЧ рд╕реЗрд╡реЗрд╕рд╛рдареА рд╕реНрдерд┐рд░ рдорд╛рд░реНрдЧрд╛рдВрдЪреА рд╕реВрдЪреА рддрдпрд╛рд░ рдХрд░рддреЛ
  5. рдЖрдореНрд╣реА рд░рд╛рдЙрдЯрд░рд▓рд╛ рд╕реЗрд╡реЗрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рдмреЛрдЧрджреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рдкрд╛рдард╡рд┐рдгреНрдпрд╛рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ.

рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрд╛рдп

рддрдпрд╛рд░реА рдХреГрддреА

рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдЕрд╢рд╛ рдЕрдиреЗрдХ рд╕реЗрд╡рд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдЕрддреНрдпрдВрдд рд╡рд╛рдЬрд╡реА рдХрд┐рдорддреАрдд VPS рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд. рдЖрддреНрддрд╛рдкрд░реНрдпрдВрдд рдорд▓рд╛ $9/рд╡рд░реНрд╖рд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдп рд╕рд╛рдкрдбрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреБрдореНрд╣рд╛рд▓рд╛ рдЬрд╛рд╕реНрдд рддреНрд░рд╛рд╕ рд╣реЛрдд рдирд╕рд▓рд╛ рддрд░реАрд╣реА, рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдкрд▒реНрдпрд╛рд╡рд░ 1E/рдорд╣рд┐рдирд╛ рд╕рд╛рдареА рдмрд░реЗрдЪ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд. VPS рдирд┐рд╡рдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╢реНрди рдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдЪреНрдпрд╛ рдкрд▓реАрдХрдбреЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реА рд╕рдордЬрдд рдирд╕реЗрд▓ рддрд░ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рдЪрд╛рд░рд╛.

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

рдиреЛрдВрджрдгреАрдЪреА рдкреНрд░рдд рдорд┐рд│рд╡рдгреЗ

рдЬрдмреНрд░рд╛рдИрд▓рдиреЗ рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, "рдЬреЛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдбрдерд│рд╛ рдЖрдгрддреЛ рддреЛ рдЖрдореНрд╣рд╛рд▓рд╛ рдорджрдд рдХрд░реЗрд▓." RKN рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╕реНрддреНрд░реЛрддрд╛рдВрдЪреЗ рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЖрдордЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛ рд░рдЬрд┐рд╕реНрдЯрд░рдЪрд╛ рд╡рд╛рдкрд░ рди рдХрд░рдгреЗ рд╣реЗ рдкрд╛рдк рдЕрд╕реЗрд▓. рдЖрдореНрд╣рд╛рд▓рд╛ github рд╡рд░реВрди рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреА рдПрдХ рдкреНрд░рдд рдорд┐рд│реЗрд▓.

рдЖрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЬрд╛рддреЛ, рд░реВрдЯ рд╕рдВрджрд░реНрднрд╛рдд рдкрдбрддреЛ (sudo su -) рдЖрдгрд┐ git рдЖрдзреАрдкрд╛рд╕реВрди рд╕реНрдерд╛рдкрд┐рдд рдирд╕рд▓реНрдпрд╛рд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛.

apt install git

рддреБрдордЪреНрдпрд╛ рд╣реЛрдо рдбрд┐рд░реЗрдХреНрдЯрд░реАрд╡рд░ рдЬрд╛ рдЖрдгрд┐ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреА рдПрдХ рдкреНрд░рдд рдХрд╛рдврд╛.

cd ~ && git clone --depth=1 https://github.com/zapret-info/z-i 

рдЖрдореНрд╣реА рдПрдХ рдХреНрд░реЙрди рдЕрдкрдбреЗрдЯ рд╕реЗрдЯ рдХрд░рддреЛ (рдореА рддреЗ рдкреНрд░рддреНрдпреЗрдХ 20 рдорд┐рдирд┐рдЯрд╛рдВрдиреА рдПрдХрджрд╛ рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЖрдкрдг рдЖрдкрд▓реНрдпрд╛ рдЖрд╡рдбреАрдЪреЗ рдХреЛрдгрддреЗрд╣реА рдЕрдВрддрд░ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛). рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд▓рд╛рдБрдЪ рдХрд░рддреЛ crontab -e рдЖрдгрд┐ рддреНрдпрд╛рдд рдЦрд╛рд▓реАрд▓ рдУрд│ рдЬреЛрдбрд╛:

*/20 * * * * cd ~/z-i && git pull && git gc

рдЖрдореНрд╣реА рдПрдХ рд╣реБрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ рдЬреЛ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡реЗрд╕рд╛рдареА рдлрд╛рдпрд▓реА рддрдпрд╛рд░ рдХрд░реЗрд▓. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛ /root/zi/.git/hooks/post-merge рдЦрд╛рд▓реАрд▓ рд╕рд╛рдордЧреНрд░реАрд╕рд╣:

#!/usr/bin/env bash
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
    echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_run dump.csv "/root/blacklist/makebgp"

рдЖрдгрд┐ рддреЗ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдХрд░рд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░реВ рдирдХрд╛

chmod +x /root/z-i/.git/hooks/post-merge

рдЖрдореНрд╣реА рдореЗрдХрдмреАрдЬреАрдкреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдХрд░реВ рдЬреНрдпрд╛рдЪрд╛ рд╣реБрдХ рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ.

рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ

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

add-apt-repository ppa:cz.nic-labs/bird
apt update
apt install bird

рдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА IPv6 рд╕рд╛рдареА рдкрдХреНрд╖реА рддрд╛рдмрдбрддреЛрдм рдЕрдХреНрд╖рдо рдХрд░рддреЛ - рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╕реНрдерд╛рдкрдиреЗрдд рддреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

systemctl stop bird6
systemctl disable bird6

рдЦрд╛рд▓реА рдПрдХ рдХрд┐рдорд╛рдирдкрдХреНрд╖реА рд╕реЗрд╡рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЖрд╣реЗ (/etc/bird/bird.conf), рдЬреЗ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ (рдЖрдгрд┐ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛ рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЛ рдХреА рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЧрд░рдЬреЗрдиреБрд╕рд╛рд░ рдХрд▓реНрдкрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЯреНрдпреВрди рдХрд░рдгреНрдпрд╛рд╕ рдХреЛрдгреАрд╣реА рдордирд╛рдИ рдХрд░рдд рдирд╛рд╣реА)

log syslog all;
router id 172.30.1.1;

protocol kernel {
        scan time 60;
        import none;
#       export all;   # Actually insert routes into the kernel routing table
}

protocol device {
        scan time 60;
}

protocol direct {
        interface "venet*", "tun*"; # Restrict network interfaces it works with
}

protocol static static_bgp {
        import all;
        include "pfxlist.txt";
        #include "iplist.txt";
}

protocol bgp OurRouter {
        description "Our Router";
        neighbor 81.177.103.94 as 64999;
        import none;
        export where proto = "static_bgp";
        local as 64998;
        passive off;
        multihop;
}

рд░рд╛рдЙрдЯрд░ рдЖрдпрдбреА - рд░рд╛рдЙрдЯрд░ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░, рдЬреЛ рджреГрд╖реНрдпрджреГрд╖реНрдЯреНрдпрд╛ IPv4 рдкрддреНрддреНрдпрд╛рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рддреЛ, рдкрд░рдВрддреБ рдПрдХ рдирд╛рд╣реА. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рддреЛ IPv32 рдЕреЕрдбреНрд░реЗрд╕ рдлреЙрд░рдореЕрдЯрдордзреНтАНрдпреЗ рдХреЛрдгрддрд╛рд╣реА 4-рдмрд┐рдЯ рдирдВрдмрд░ рдЕрд╕реВ рд╢рдХрддреЛ, рдкрд░рдВрддреБ рддреБрдордЪреНрдпрд╛ рдбрд┐рд╡реНтАНрд╣рд╛рдЗрд╕рдЪрд╛ IPv4 рдЕреЕрдбреНрд░реЗрд╕ (рдпрд╛ рдмрд╛рдмрддреАрдд, VPS) рддрдВрддреЛрддрдВрдд рд╕реВрдЪрд┐рдд рдХрд░рдгреНтАНрдпрд╛рдЪрд╛ рд╣рд╛ рдЪрд╛рдВрдЧрд▓рд╛ рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ.

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╣ рдХреЛрдгрддреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛рд░реНрдп рдХрд░рддреАрд▓ рд╣реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ. рдЙрджрд╛рд╣рд░рдг рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреА рдирд╛рд╡реЗ рджреЗрддреЗ, рддреБрдореНрд╣реА рдЗрддрд░рд╛рдВрдирд╛ рдЬреЛрдбреВ рд╢рдХрддрд╛. рдЖрдкрдг рдлрдХреНрдд рдУрд│ рд╣рдЯрд╡реВ рд╢рдХрддрд╛; рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рд░реНрд╡реНрд╣рд░ IPv4 рдкрддреНрддреНрдпрд╛рд╕рд╣ рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдРрдХреЗрд▓.

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреЕрдЯрд┐рдХ рд╣реА рдЖрдордЪреА рдЬрд╛рджреВ рдЖрд╣реЗ рдЬреА рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдШреЛрд╖рдгреЗрд╕рд╛рдареА рдлрд╛рдпрд▓реАрдВрдордзреВрди рдЙрдкрд╕рд░реНрдЧ рдЖрдгрд┐ IP рдкрддреНрддреЗ (рдЬреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд /32 рдЙрдкрд╕рд░реНрдЧ рдЖрд╣реЗрдд) рд▓реЛрдб рдХрд░рддреЗ. рдпрд╛ рдпрд╛рджреНрдпрд╛ рдХреБрдареВрди рдпреЗрддрд╛рдд рдпрд╛рд╡рд░ рдЦрд╛рд▓реА рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдЖрдпрдкреА рдкрддреНрддреЗ рд▓реЛрдб рдХрд░рдгреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЯрд┐рдкреНрдкрдгреА рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрдкрд▓реЛрдбрд┐рдВрдЧрдЪреЗ рдореЛрдареЗ рдкреНрд░рдорд╛рдг рдЖрд╣реЗ. рддреБрд▓рдиреЗрд╕рд╛рдареА, рд▓реЗрдЦрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рдЙрдкрд╕рд░реНрдЧрд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ 78 рдУрд│реА рдЖрд╣реЗрдд рдЖрдгрд┐ IP рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ 85898 рдЖрд╣реЗрдд. рдореА рдЬреЛрд░рджрд╛рд░ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдХреА рдХреЗрд╡рд│ рдЙрдкрд╕рд░реНрдЧрд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрд╡рд░рдЪ рдкреНрд░рд╛рд░рдВрдн рдЖрдгрд┐ рдбреАрдмрдЧ рдХрд░рдгреЗ, рдЖрдгрд┐ рдордзреНрдпреЗ IP рд▓реЛрдбрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рд╛рдпрдЪреЗ рдХреА рдирд╛рд╣реА. рддреБрдордЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рдЪрд╛ рдкреНрд░рдпреЛрдЧ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рднрд╡рд┐рд╖реНрдп рддреБрдордЪреНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ. рддреНрдпрд╛рддреАрд▓ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓рдордзреАрд▓ реорел рд╣рдЬрд╛рд░ рдиреЛрдВрджреА рд╕рд╣рдЬ рдкрдЪрдиреА рдкрдбрдд рдирд╛рд╣реАрдд.

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ bgp, рдЦрд░рдВ рддрд░, рддреБрдордЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рд╕рд╣ bgp рдкреАрдЕрд░рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЗ. рдЖрдпрдкреА рдЕреЕрдбреНрд░реЗрд╕ рд╣рд╛ рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рдмрд╛рд╣реНрдп рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдкрддреНрддрд╛ рдЖрд╣реЗ (рдХрд┐рдВрд╡рд╛ рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯрдиреЗрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдкрддреНрддрд╛), 64998 рдЖрдгрд┐ 64999 рд╣реЗ рд╕реНрд╡рд╛рдпрддреНрдд рд╕рд┐рд╕реНрдЯреАрдордЪреЗ рдХреНрд░рдорд╛рдВрдХ рдЖрд╣реЗрдд. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА 16-рдмрд┐рдЯ рдХреНрд░рдорд╛рдВрдХрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ RFC6996 - 64512-65534 рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЦрд╛рдЬрдЧреА рд╢реНрд░реЗрдгреАрддреВрди AS рдХреНрд░рдорд╛рдВрдХ рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ (32-рдмрд┐рдЯ ASN рд╕рд╛рдареА рдПрдХ рд╕реНрд╡рд░реВрдк рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╣реЗ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдУрд╡реНрд╣рд░рдХрд┐рд▓ рдЖрд╣реЗ). рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдИрдмреАрдЬреАрдкреА рдкреАрдЕрд░рд┐рдВрдЧ рд╡рд╛рдкрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЖрдгрд┐ рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рд╕реНрд╡рд╛рдпрддреНрдд рдкреНрд░рдгрд╛рд▓реАрдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рднрд┐рдиреНрди рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, рд╕реЗрд╡реЗрд▓рд╛ рд░рд╛рдЙрдЯрд░рдЪрд╛ IP рдкрддреНрддрд╛ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдбрд╛рдпрдиреЕрдорд┐рдХ рдХрд┐рдВрд╡рд╛ рдиреЙрди-рд░реВрдЯреЗрдмрд▓ рдкреНрд░рд╛рдпрд╡реНрд╣реЗрдЯ (RFC1918) рдХрд┐рдВрд╡рд╛ рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓рд╛ (RFC6598) рдкрддреНрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдмрд╛рд╣реНрдп рд╡рд░ рдкреАрдЕрд░рд┐рдВрдЧ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рдирд╛рд╣реА. рдЗрдВрдЯрд░рдлреЗрд╕, рдкрд░рдВрддреБ рд╕реЗрд╡рд╛ рдЕрджреНрдпрд╛рдк рдмреЛрдЧрджреНрдпрд╛рдЪреНрдпрд╛ рдЖрдд рдХрд╛рд░реНрдп рдХрд░реЗрд▓.

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

рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡реЗрд╕рд╛рдареА рдиреЛрдВрджрдгреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдЖрд╣реЗ

рдЖрддрд╛ рдЖрдореНрд╣рд╛рд▓рд╛, рдЦрд░рдВ рддрд░, рдЙрдкрд╕рд░реНрдЧ рдЖрдгрд┐ IP рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдпрд╛рджреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдорд╛рдЧреАрд▓ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреЕрдЯрд┐рдХрдордзреНрдпреЗ рдХреЗрд▓рд╛ рд╣реЛрддрд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдлрд╛рдЗрд▓ рдШреЗрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдд рдареЗрд╡рд▓реЗрд▓реНрдпрд╛ рдЦрд╛рд▓реАрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдмрдирд╡рддреЛ. /root/blacklist/makebgp

#!/bin/bash
cut -d";" -f1 /root/z-i/dump.csv| tr '|' 'n' |  tr -d ' ' > /root/blacklist/tmpaddr.txt
cat /root/blacklist/tmpaddr.txt | grep / | sed 's_.*_route & reject;_' > /etc/bird/pfxlist.txt
cat /root/blacklist/tmpaddr.txt | sort | uniq | grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}" | sed 's_.*_route &/32 reject;_' > /etc/bird/iplist.txt
/etc/init.d/bird reload
logger 'bgp list compiled'

рддреЗ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдмрдирд╡рд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░реВ рдирдХрд╛

chmod +x /root/blacklist/makebgp

рдЖрддрд╛ рддреБрдореНрд╣реА рддреЗ рд╕реНрд╡рд╣рд╕реНрддреЗ рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ /etc/bird рдордзреАрд▓ рдлрд╛рдЗрд▓реНрд╕рдЪреЗ рд╕реНрд╡рд░реВрдк рдкрд╛рд╣реВ рд╢рдХрддрд╛.

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

systemctl start bird
birdc show route

рджреБрд╕рд░реНтАНрдпрд╛ рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рд╕реБрдорд╛рд░реЗ 80 рд░реЗрдХреЙрд░реНрдбреНрд╕ рджрд┐рд╕рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд (рд╣реЗ рдЖрддреНрддрд╛рд╕рд╛рдареА рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рддреЗ рд╕реЗрдЯ рдХрд░рд╛рд▓ рддреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рдмреНрд▓реЙрдХрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ RKN рдЪреНрдпрд╛ рдЖрд╡реЗрд╢рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕реЗрд▓) рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА:

54.160.0.0/12      unreachable [static_bgp 2018-04-19] * (200)

рд╕рдВрдШ

birdc show protocol

рд╕реЗрд╡реЗрддреАрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рд╕реНрдерд┐рддреА рджрд░реНрд╢рд╡реЗрд▓. рдЬреЛрдкрд░реНрдпрдВрдд рддреБрдореНрд╣реА рд░рд╛рдЙрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд (рдкреБрдвреАрд▓ рдкреЙрдЗрдВрдЯ рдкрд╣рд╛), OurRouter рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдЯреЗрдЯ (рдХрдиреЗрдХреНрдЯ рдХрд┐рдВрд╡рд╛ рдЕреЕрдХреНрдЯрд┐рд╡реНрд╣ рдлреЗрдЬ) рдордзреНрдпреЗ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдпрд╢рд╕реНрд╡реА рдХрдиреЗрдХреНрд╢рдирдирдВрддрд░ рддреЗ рд╡рд░рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд (рд╕реНрдерд╛рдкрд┐рдд рдЯрдкреНрдкрд╛) рдЬрд╛рдИрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд╛рдЭреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдпрд╛ рдХрдорд╛рдВрдбрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

BIRD 1.6.3 ready.
name     proto    table    state  since       info
kernel1  Kernel   master   up     2018-04-19
device1  Device   master   up     2018-04-19
static_bgp Static   master   up     2018-04-19
direct1  Direct   master   up     2018-04-19
RXXXXXx1 BGP      master   up     13:10:22    Established
RXXXXXx2 BGP      master   up     2018-04-24  Established
RXXXXXx3 BGP      master   start  2018-04-22  Connect       Socket: Connection timed out
RXXXXXx4 BGP      master   up     2018-04-24  Established
RXXXXXx5 BGP      master   start  2018-04-24  Passive

рд░рд╛рдЙрдЯрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдд рдЖрд╣реЗ

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

рддрдерд╛рдкрд┐, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рджрд╛рдЦрд╡реВ рд╢рдХрддреЛ. BGP рдкреАрдЕрд░рд┐рдВрдЧ рд╡рд╛рдврд╡рдгреЗ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рдмреЛрдЧрджреНрдпрд╛рдХрдбреЗ (рдЖрдореНрд╣рд╛рд▓рд╛ p2p рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рд░рд╣рджрд╛рд░реА рдкрд╛рдард╡рд╛рдпрдЪреА рдЕрд╕рд▓реНрдпрд╛рд╕) рдХрд┐рдВрд╡рд╛ рдЯреНрд░реЕрдлрд┐рдХ рдЗрдерд░рдиреЗрдЯрд╡рд░ рдЧреЗрд▓реНрдпрд╛рд╕ рдиреЗрдХреНрд╕реНрдЯрд╣реЙрдк рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░реВрди рд╕рд░реНрд╡ рдкреНрд░рд╛рдкреНрдд рдЙрдкрд╕рд░реНрдЧрд╛рдВрдирд╛ рдиреЗрдХреНрд╕реНрдЯрд╣реЙрдк рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ рд╣реЗ рдореБрдЦреНрдп рддрд░реНрдХ рдЖрд╣реЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, RouterOS рдордзреАрд▓ Mikrotik рд╡рд░ рд╣реЗ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕реЛрдбрд╡рд▓реЗ рдЬрд╛рддреЗ

/routing bgp instance set default as=64999 ignore-as-path-len=yes router-id=172.30.1.2
/routing bgp peer add in-filter=dynamic-in multihop=yes name=VPS remote-address=194.165.22.146 remote-as=64998 ttl=default
/routing filter add action=accept chain=dynamic-in protocol=bgp comment="Set nexthop" set-in-nexthop=172.30.1.1

рдЖрдгрд┐ Cisco IOS рдордзреНрдпреЗ - рдпрд╛рд╕рд╛рд░рдЦреЗ

router bgp 64999
  neighbor 194.165.22.146 remote-as 64998
  neighbor 194.165.22.146 route-map BGP_NEXT_HOP in
  neighbor 194.165.22.146 ebgp-multihop 250
!
route-map BGP_NEXT_HOP permit 10
  set ip next-hop 172.30.1.1

рдЬрд░ рдПрдХрдЪ рдмреЛрдЧрджрд╛ BGP рдкреАрдЕрд░рд┐рдВрдЧрд╕рд╛рдареА рдЖрдгрд┐ рдЙрдкрдпреБрдХреНрдд рд░рд╣рджрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рдиреЗрдХреНрд╕реНрдЯрд╣реЙрдк рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА; рддреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓. рдкрд░рдВрддреБ рдЖрдкрдг рддреЗ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╕, рддреЗ рдЖрдгрдЦреА рд╡рд╛рдИрдЯ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

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

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

systemctl reload bird

рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рдиреЗ рд╣реЗ реорел рд╣рдЬрд╛рд░ рдорд╛рд░реНрдЧ рдХрд╕реЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рддреЗ рдкрд╣рд╛. рдЕрдирдкреНрд▓рдЧ рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рд░рд╣рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдХрд╛рдп рдХрд░рд╛рдпрдЪреЗ рдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛ :)

рдПрдХреВрдг

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

рддреНрдпрд╛рдд рдЕрд░реНрдерд╛рддрдЪ рд╕реБрдзрд╛рд░рдгрд╛ рд╣реЛрдК рд╢рдХрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрд░реНрд▓ рдХрд┐рдВрд╡рд╛ рдкрд╛рдпрдерди рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рд╡рд╛рдкрд░реВрди рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рдВрдЪреА рд╕реВрдЪреА рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ. Net::CIDR::Lite рд╡рд╛рдкрд░реВрди рд╣реЗ рдХрд░рдд рдЕрд╕рд▓реЗрд▓реА рдПрдХ рд╕рд╛рдзреА рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ 85 рд╣рдЬрд╛рд░ рдЙрдкрд╕рд░реНрдЧ 60 (рд╣рдЬрд╛рд░ рдирд╛рд╣реА) рдордзреНрдпреЗ рдмрджрд▓рддреЗ, рдкрд░рдВрддреБ, рдЕрд░реНрдерд╛рддрдЪ, рдмреНрд▓реЙрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрддреНрддреНрдпрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЦреВрдк рдореЛрдареА рд╢реНрд░реЗрдгреА рд╡реНрдпрд╛рдкрддреЗ.

рд╕реЗрд╡рд╛ ISO/OSI рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рддрд┐рд╕рд░реНтАНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдиреЛрдВрджрдгреАрдордзреНрдпреЗ рдиреЛрдВрджрд╡рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЪреБрдХреАрдЪреНрдпрд╛ рдкрддреНрддреНрдпрд╛рд╡рд░ рдирд┐рд░рд╛рдХрд░рдг рдЭрд╛рд▓реНрдпрд╛рд╕ рд╕рд╛рдЗрдЯ/рдкреГрд╖реНрда рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рддреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЪрд╡рдгрд╛рд░ рдирд╛рд╣реА. рдкрд░рдВрддреБ рдиреЛрдВрджрдгреАрд╕рд╣, nxdomain.txt рд╣реА рдлрд╛рдЗрд▓ github рд╡рд░реВрди рдпреЗрддреЗ, рдЬреА рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреНрдпрд╛ рдХрд╛рд╣реА рд╕реНрдЯреНрд░реЛрдХрд╕рд╣ рд╕рд╣рдЬрдкрдгреЗ рдкрддреНрддреНрдпрд╛рдВрдЪреЗ рд╕реНрддреНрд░реЛрдд рдмрдирддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Chrome рдордзреАрд▓ SwitchyOmega рдкреНрд▓рдЧрдЗрди.

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

рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдкреНрд░рд╢реНрди рдЕрд╕рддреАрд▓ рддрд░ рд╡рд┐рдЪрд╛рд░рд╛, рдореА рдЙрддреНрддрд░ рджреНрдпрд╛рдпрд▓рд╛ рддрдпрд╛рд░ рдЖрд╣реЗ.

UPD. рдзрдиреНрдпрд╡рд╛рдж navion ╨╕ TerAnYu git рдЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рдареА рдЬреЗ рдбрд╛рдЙрдирд▓реЛрдб рд╡реНрд╣реЙрд▓реНрдпреВрдо рдХрдореА рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд.

UPD2. рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрдиреЛ, рд▓реЗрдЦрд╛рдд VPS рдЖрдгрд┐ рд░рд╛рдЙрдЯрд░ рджрд░рдореНрдпрд╛рди рдмреЛрдЧрджрд╛ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рди рдЬреЛрдбреВрди рдореА рдЪреВрдХ рдХреЗрд▓реА рдЕрд╕реЗ рджрд┐рд╕рддреЗ. рдпрд╛рд╡рд░реВрди рдЕрдиреЗрдХ рдкреНрд░рд╢реНрди рдЙрдкрд╕реНрдерд┐рдд рд╣реЛрдд рдЖрд╣реЗрдд.
рдлрдХреНрдд рдмрд╛рдмрддреАрдд, рдореА рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрдИрди рдХреА рд╣реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рдПрдХ VPN рдмреЛрдЧрджрд╛ рдЖрдзреАрдЪ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддрдкрд╛рд╕рд▓реА рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреЗрдереЗ рдбреАрдлреЙрд▓реНрдЯ рдХрд┐рдВрд╡рд╛ рд╕реНрдерд┐рд░рдкрдгреЗ рд░рд╣рджрд╛рд░реА рд╡рд│рд╡реВрди). рддреБрдореНрд╣реА рд╣рд╛ рдЯрдкреНрдкрд╛ рдЕрдЬреВрди рдкреВрд░реНрдг рдХреЗрд▓рд╛ рдирд╕реЗрд▓, рддрд░ рд▓реЗрдЦрд╛рддреАрд▓ рдкрд╛рдпрд▒реНрдпрд╛ рдлреЙрд▓реЛ рдХрд░рдгреНрдпрд╛рдд рдлрд╛рд░рд╕рд╛ рдЕрд░реНрде рдирд╛рд╣реА. рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдЕрджреНрдпрд╛рдк рдпрд╛рд╡рд░ рдорд╛рдЭрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдордЬрдХреВрд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА рд╡реНрд╣реАрдкреАрдПрд╕рд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдирд╛рд╡рд╛рд╕рд╣ "рдУрдкрдирд╡реНрд╣реАрдкреАрдПрди рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдЕрдк рдХрд░рдд рдЖрд╣реЗ" рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╕рд╣ "рдУрдкрдирд╡реНрд╣реАрдкреАрдПрди рдХреНрд▓рд╛рдпрдВрдЯ рд╕реЗрдЯ рдЕрдк рдХрд░рдд рдЖрд╣реЗ" , рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдЕрдиреЗрдХ рд▓реЗрдЦ рд╕рд╛рдкрдбрддреАрд▓, рдЬреНрдпрд╛рдд Habr├й рд╡рд░ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.

UPD3. рдЕрд╢рдХреНрдд рдореА рдПрдХ рдХреЛрдб рд▓рд┐рд╣рд┐рд▓рд╛ рдЖрд╣реЗ рдЬреЛ dump.csv рд▓рд╛ рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд╛рд░рд╛рдВрд╢рд╛рд╕рд╣ рдкрдХреНрд╖реНрдпрд╛рдВрд╕рд╛рдареА рдкрд░рд┐рдгрд╛рдореА рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдмрджрд▓рддреЛ. рдореНрд╣рдгреВрди, "рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕реЗрд╡реЗрд╕рд╛рдареА рдиреЛрдВрджрдгреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ" рд╣рд╛ рд╡рд┐рднрд╛рдЧ рддреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдХреЙрд▓ рдХрд░реВрди рдмрджрд▓рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. https://habr.com/post/354282/#comment_10782712

UPD4. рддреНрд░реБрдЯреАрдВрд╡рд░ рдереЛрдбреЗ рдХрд╛рдо (рдореА рддреНрдпрд╛рдВрдирд╛ рдордЬрдХреВрд░рд╛рдд рдЬреЛрдбрд▓реЗ рдирд╛рд╣реА):
1) рддреНрдпрд╛рдРрд╡рдЬреА systemctl рд░реАрд▓реЛрдб рдкрдХреНрд╖реА рдХрдорд╛рдВрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ birdc рдХреЙрдиреНрдлрд┐рдЧрд░.
2) рдорд┐рдХреНрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░рдордзреНрдпреЗ, рдиреЗрдХреНрд╕реНрдЯрд╣реЙрдкрд▓рд╛ рдмреЛрдЧрджреНрдпрд╛рдЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рдмрд╛рдЬреВрдЪреНрдпрд╛ рдЖрдпрдкреАрдордзреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рдРрд╡рдЬреА /рд░рд╛рдЙрдЯрд┐рдВрдЧ рдлрд┐рд▓реНрдЯрд░ рдЕреЕрдб рдЕреЕрдХреНрд╢рди = accept chain=dynamic-in protocol=bgp comment=┬╗Set nexthop┬╗ set-in-nexthop=172.30.1.1 рдкрддреНрддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдереЗрдЯ рдмреЛрдЧрджреНрдпрд╛рдЪреНрдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ /рд░рд╛рдЙрдЯрд┐рдВрдЧ рдлрд┐рд▓реНрдЯрд░ рдЕреЕрдб рдЕреЕрдХреНрд╢рди = accept chain=dynamic-in protocol=bgp comment=┬╗Set nexthop┬╗ set-in-nexthop-direct=<interface name>

UPD5. рдПрдХ рдирд╡реАрди рд╕реЗрд╡рд╛ рдЖрд▓реА рдЖрд╣реЗ https://antifilter.download, рдЬрд┐рдереВрди рддреБрдореНрд╣реА рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░реЗрдбреАрдореЗрдб рдпрд╛рджреНрдпрд╛ рдШреЗрдК рд╢рдХрддрд╛. рджрд░ рдЕрд░реНрдзреНрдпрд╛ рддрд╛рд╕рд╛рдиреЗ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ, рдлрдХреНрдд рд╕рдВрдмрдВрдзрд┐рдд тАЬрдорд╛рд░реНрдЧ... рдирдХрд╛рд░тАЭ рд╕рд╣ рд░реЗрдХреЙрд░реНрдб рдлреНрд░реЗрдо рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ.
рдЖрдгрд┐ рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдХрджрд╛рдЪрд┐рдд, рдЖрдкрд▓реНрдпрд╛ рдЖрдЬреАрд▓рд╛ рд░реЕрдЧ рдХрд░рдгреЗ рдЖрдгрд┐ рд▓реЗрдЦ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.

UPD6. рдЬреНрдпрд╛рдВрдирд╛ рд╣реЗ рд╢реЛрдзреВрди рдХрд╛рдврд╛рдпрдЪреЗ рдирд╛рд╣реА, рдкрдг рд╕реБрд░реБрд╡рд╛рдд рдХрд░рд╛рдпрдЪреА рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рд▓реЗрдЦрд╛рдЪреА рд╕реБрдзрд╛рд░рд┐рдд рдЖрд╡реГрддреНрддреА - рдпреЗрдереЗ.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛