DNSTap рд░ BGP рд╕рдБрдЧ ILV рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН

DNSTap рд░ BGP рд╕рдБрдЧ ILV рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╡рд┐рд╖рдп рдзреЗрд░реИ рдкрд┐рдЯрд┐рдПрдХреЛ рдЫ, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рдорд╣рд╛рди рдЫ рд▓реЗрдЦ, рддрд░ рдмреНрд▓рдХрд▓рд┐рд╕реНрдЯрдХреЛ IP рднрд╛рдЧ рдорд╛рддреНрд░ рддреНрдпрд╣рд╛рдБ рдорд╛рдирд┐рдиреНрдЫред рд╣рд╛рдореА рдбреЛрдореЗрдирд╣рд░реВ рдкрдирд┐ рдердкреНрдиреЗрдЫреМрдВред

рдЕрджрд╛рд▓рдд рд░ RKN рд▓реЗ рд╕рдмреИ рджрд╛рдпрд╛рдБ рд░ рдмрд╛рдпрд╛рдБ рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдиреЗ рддрдереНрдпрдХреЛ рдХрд╛рд░рдг, рд░ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрд▓реЗ Revizorro рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЬрд░рд┐рд╡рд╛рдирд╛ рдЕрдиреНрддрд░реНрдЧрдд рдирдкрд░реНрдиреЗ рдХрдбрд╛ рдкреНрд░рдпрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН, рдЕрд╡рд░реБрджреНрдзрдмрд╛рдЯ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣рд╛рдирд┐рд╣рд░реВ рдзреЗрд░реИ рдареВрд▓реЛ рдЫрдиреНред рд░ "рдХрд╛рдиреВрдиреА рд░реВрдкрдорд╛" рдЕрд╡рд░реБрджреНрдз рд╕рд╛рдЗрдЯрд╣рд░реВ рдмреАрдЪ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдЫрдиреН (рдирдорд╕реНрддреЗ, rutracker)

рдо RKN рдХреЛ рдЕрдзрд┐рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдмрд╛рд╣рд┐рд░ рдмрд╕реНрдЫреБ, рддрд░ рдореЗрд░рд╛ рдЖрдорд╛рдмрд╛рдмреБ, рдЖрдлрдиреНрдд рд░ рд╕рд╛рдереАрд╣рд░реВ рдШрд░рдореИ рд░рд╣рдиреБрднрдпреЛред рддреНрдпрд╕реИрд▓реЗ рдпреЛ IT рдмрд╛рдЯ рдЯрд╛рдврд╛ рд░рд╣реЗрдХрд╛ рдорд╛рдирд┐рд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛рдХреЛ рд╕рд╛рде рдЖрдЙрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛ, рдЕрдзрд┐рдорд╛рдирддрдГ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдмрд┐рдирд╛ред

рдпрд╕ рдиреЛрдЯрдорд╛, рдо рдЖрдзрд╛рд░рднреВрдд рдиреЗрдЯрд╡рд░реНрдХ рдЪреАрдЬрд╣рд░реВ рдЪрд░рдгрд╣рд░реВрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдЫреИрди, рддрд░ рдо рдпреЛ рдпреЛрдЬрдирд╛ рдХрд╕рд░реА рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рднрдиреНрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреБред рддреНрдпрд╕реЛрднрдП рдиреЗрдЯрд╡рд░реНрдХрд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рд▓рд┐рдирдХреНрд╕рдорд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреНрдиреЗ рдЬреНрдЮрд╛рди рд╣реБрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫред

рддрд╛рд▓рд╛рдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ

рдкрд╣рд┐рд▓реЗ, рдЕрд╡рд░реБрджреНрдз рднрдПрдХреЛ рдХреБрд░рд╛рдХреЛ рд╣рд╛рдореНрд░реЛ рдореЗрдореЛрд░реАрд▓рд╛рдИ рддрд╛рдЬрд╛ рдЧрд░реМрдВред

RKN рдмрд╛рдЯ рдЕрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ XML рдорд╛ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рддрд╛рд▓рд╛рд╣рд░реВ рдЫрдиреН:

  • IP
  • ╨Ф╨╛╨╝╨╡╨╜
  • URL

рд╕рд░рд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рджреБрдИрдорд╛ рдШрдЯрд╛рдЙрдиреЗрдЫреМрдВ: рдЖрдИрдкреА рд░ рдбреЛрдореЗрди, рд░ рд╣рд╛рдореА рдХреЗрд╡рд▓ рдбреЛрдореЗрдирд▓рд╛рдИ URL рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдирдмрд╛рдЯ рдмрд╛рд╣рд┐рд░ рдирд┐рдХрд╛рд▓реНрдиреЗрдЫреМрдВ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдкрдорд╛, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдпреЛ рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫрдиреН)ред

рдмрд╛рдЯ рд░рд╛рдореНрд░реЛ рдорд╛рдиреНрдЫреЗ Roskomsvoboda рдЕрджреНрднреБрдд рдорд╣рд╕реБрд╕ рднрдпреЛ рдПрдкреАрдЖрдИ, рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдПрдХреЛ рдХреБрд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ:

рдЕрд╡рд░реБрджреНрдз рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ

рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╣рд┐ рд╕рд╛рдирд╛ рд╡рд┐рджреЗрд╢реА VPS рдЪрд╛рд╣рд┐рдиреНрдЫ, рдЕрдзрд┐рдорд╛рдирддрдГ рдЕрд╕реАрдорд┐рдд рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рд╕рд╛рде - рддреНрдпрд╣рд╛рдБ 3-5 рдкреИрд╕рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЫрдиреНред рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдирдЬрд┐рдХреИрдХреЛ рд╡рд┐рджреЗрд╢рдорд╛ рд▓рд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ рддрд╛рдХрд┐ рдкрд┐рдВрдЧ рдзреЗрд░реИ рдареВрд▓реЛ рдирд╣реЛрд╕реН, рддрд░ рдлреЗрд░рд┐, рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдЗрдиреНрдЯрд░рдиреЗрдЯ рд░ рднреВрдЧреЛрд▓ рд╕рдзреИрдВ рдореЗрд▓ рдЦрд╛рдБрджреИрдиред рд░ 5 рдбрд▓рд░рдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ SLA рдирднрдПрдХреЛ рдХрд╛рд░рдг, рдЧрд▓реНрддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдмрд╛рдЯ реи+ рдЯреБрдХреНрд░рд╛рд╣рд░реВ рд▓рд┐рдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдЫред

рдЕрд░реНрдХреЛ, рд╣рд╛рдореАрд▓реЗ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд░рд╛рдЙрдЯрд░рдмрд╛рдЯ VPS рдорд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЯрдиреЗрд▓ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдо Wireguard рд▓рд╛рдИ рд╕рдмреИрднрдиреНрджрд╛ рдЫрд┐рдЯреЛ рд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБред рдорд╕рдБрдЧ рд▓рд┐рдирдХреНрд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЧреНрд░рд╛рд╣рдХ рд░рд╛рдЙрдЯрд░рд╣рд░реВ рдкрдирд┐ рдЫрдиреН (APU2 рд╡рд╛ OpenWRT рдорд╛ рдХреЗрд╣рд┐)ред рдХреЗрд╣рд┐ Mikrotik / Cisco рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛, рддрдкрд╛рдЗрдБ OpenVPN рд░ GRE-over-IPSEC рдЬрд╕реНрддрд╛ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдЪрд╛рд╕реЛрдХреЛ рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рдкрд╣рд┐рдЪрд╛рди рд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди

рддрдкрд╛рдИрдВ, рдЕрд╡рд╢реНрдп рдкрдирд┐, рд╡рд┐рджреЗрд╢реА рджреЗрд╢рд╣рд░реВ рдорд╛рд░реНрдлрдд рд╕рдмреИ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЯреНрд░рд╛рдлрд┐рдХ рдмрдиреНрдж рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░, рд╕рдореНрднрд╡рддрдГ, рд╕реНрдерд╛рдиреАрдп рд╕рд╛рдордЧреНрд░реАрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЧрддрд┐рд▓реЗ рдпрд╕рдмрд╛рдЯ рдареВрд▓реЛ рдЕрд╕рд░ рдкрд╛рд░реНрдиреЗрдЫред рд╕рд╛рдереИ, VPS рдорд╛ рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдзреЗрд░реИ рдЙрдЪреНрдЪ рд╣реБрдиреЗрдЫред

рддрд╕рд░реНрде, рд╣рд╛рдореАрд▓реЗ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рдЕрд╡рд░реБрджреНрдз рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд░ рдЪрдпрдирдкреВрд░реНрд╡рдХ рдпрд╕рд▓рд╛рдИ рд╕реБрд░реБрдЩрдорд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджрд┐ рдХреЗрд╣рд┐ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдЯреНрд░рд╛рдлрд┐рдХ рддреНрдпрд╣рд╛рдБ рдкреБрдЧреНрдЫ рднрдиреЗ, рдпреЛ рдЕрдЭреИ рдкрдирд┐ рд╕реБрд░реБрдЩ рдорд╛рд░реНрдлрдд рд╕рдмреИ рдбреНрд░рд╛рдЗрдн рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЫред

рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди, рд╣рд╛рдореА BGP рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рд╣рд╛рдореНрд░рд╛ VPS рдмрд╛рдЯ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрдорд╛ рдорд╛рд░реНрдЧрд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрдиреЗрдЫреМрдВред BIRD рд▓рд╛рдИ рд╕рдмреИрднрдиреНрджрд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ BGP рдбреЗрдордирдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреБрд╣реЛрд╕реНред

IP

IP рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╕рдВрдЧ, рд╕рдмреИ рдХреБрд░рд╛ рд╕реНрдкрд╖реНрдЯ рдЫ: рд╣рд╛рдореА рдХреЗрд╡рд▓ VPS рдХреЛ рд╕рд╛рде рд╕рдмреИ рдЕрд╡рд░реБрджреНрдз рдЖрдИрдкреАрд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрдЫреМрдВред рд╕рдорд╕реНрдпрд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╕реВрдЪреАрдорд╛ рд▓рдЧрднрдЧ 600 рд╣рдЬрд╛рд░ рд╕рдмрдиреЗрдЯрд╣рд░реВ рдЫрдиреН рдЬреБрди API рд▓реЗ рдлрд░реНрдХрд╛рдЙрдБрдЫ, рд░ рддреА рдордзреНрдпреЗ рдареВрд▓реЛ рдмрд╣реБрдордд /32 рд╣реЛрд╕реНрдЯрд╣рд░реВ рдЫрдиреНред рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рдпреЛ рд╕рдВрдЦреНрдпрд╛рд▓реЗ рдХрдордЬреЛрд░ рдЧреНрд░рд╛рд╣рдХ рд░рд╛рдЙрдЯрд░рд╣рд░реВрд▓рд╛рдИ рднреНрд░рдорд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред

рддрд╕рд░реНрде, рд╕реВрдЪреА рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛, рдпреЛ рдиреЗрдЯрд╡рд░реНрдХ / 24 рдорд╛ 2 рд╡рд╛ рдмрдвреА рд╣реЛрд╕реНрдЯ рдЫ рднрдиреЗ рд╕рдВрдХреНрд╖реЗрдк рдЧрд░реНрди рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛред рдпрд╕рд░реА, рдорд╛рд░реНрдЧ рд╕рдВрдЦреНрдпрд╛ ~ 100 рд╣рдЬрд╛рд░ рдорд╛ рдШрдЯреНрдпреЛред рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдЫреНрдпрд╛рдЙрдиреЗрдЫред

рдбреЛрдореЗрдирд╣рд░реВ

рдпреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЫ рд░ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд░рд╛рдЙрдЯрд░рдорд╛ рдкрд╛рд░рджрд░реНрд╢реА рд╕реНрдХреНрд╡рд┐рдб рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддреНрдпрд╣рд╛рдБ HTTP рдЕрд╡рд░реЛрдз рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдкрд╣рд┐рд▓реЛ рдХреЗрд╕рдорд╛ рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ URL рд░ рджреЛрд╕реНрд░реЛрдорд╛ SNI рдмрд╛рдЯ рдбреЛрдореЗрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди TLS рд╣реНрдпрд╛рдиреНрдбрд╕реЗрдХрдорд╛ рдкрд┐рдк рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рддрд░ рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдирдпрд╛рдБ TLS1.3 + eSNI рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, HTTPS рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣рд░реЗрдХ рджрд┐рди рдХрдо рд░ рдХрдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реБрдБрджреИ рдЧрдЗрд░рд╣реЗрдХреЛ рдЫред рд╣реЛ, рд░ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖рдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдердк рдЬрдЯрд┐рд▓ рд╣реБрдБрджреИ рдЧрдЗрд░рд╣реЗрдХреЛ рдЫ - рддрдкрд╛рдИрдВрд▓реЗ рдХрдореНрддрд┐рдорд╛ OpenWRT рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред

рддреНрдпрд╕рдХрд╛рд░рдг, рдореИрд▓реЗ DNS рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдЕрд╡рд░реЛрдз рдЧрд░реНрдиреЗ рдмрд╛рдЯреЛ рд▓рд┐рдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рдпрд╣рд╛рдБ рдкрдирд┐, рдХреБрдиреИ рдкрдирд┐ DNS-over-TLS/HTTPS рддрдкрд╛рдИрдВрдХреЛ рдЯрд╛рдЙрдХреЛрдорд╛ рд╣реЛрднрд░ рдЧрд░реНрди рдерд╛рд▓реНрдЫ, рддрд░ рд╣рд╛рдореА (рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐) рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ рдпреЛ рднрд╛рдЧ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ - рдХрд┐ рдд рдпрд╕рд▓рд╛рдИ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ DoT / DoH рдХрд╛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рд╕рд░реНрднрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

DNS рдХрд╕рд░реА рдЕрд╡рд░реЛрдз рдЧрд░реНрдиреЗ?

рдпрд╣рд╛рдБ рдкрдирд┐, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реБрди рд╕рдХреНрдЫред

  • PCAP рд╡рд╛ NFLOG рдорд╛рд░реНрдлрдд DNS рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рдЕрд╡рд░реЛрдз
    рдЕрд╡рд░реЛрдзрдХрд╛ рдпреА рджреБрд╡реИ рд╡рд┐рдзрд┐рд╣рд░реВ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреН sidmatред рддрд░ рдпреЛ рд▓рд╛рдореЛ рд╕рдордп рдХреЛ рд▓рд╛рдЧреА рд╕рдорд░реНрдерд┐рдд рдЫреИрди рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдзреЗрд░реИ рдЖрджрд┐рдо рдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдЗрдБ рдЕрдЭреИ рдкрдирд┐ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╣рд╛рд░реНрдиреЗрд╕ рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
  • DNS рд╕рд░реНрднрд░ рд▓рдЧрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
    рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рднрдПрдХрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд╣рд░реВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд▓рдЧ рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫреИрдирдиреН, рддрд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдорд╛рддреНрд░ред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпреЛ рддрд╛рд░реНрдХрд┐рдХ рдЫ, рдХрд┐рдирдХрд┐, рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, рдЬрд╡рд╛рдлрд╣рд░реВрдХреЛ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрд╛рда рдлрд╛рд░рдордорд╛ рд▓реЗрдЦреНрди рдЧрд╛рд╣реНрд░реЛ рдЫред
  • DNSTap
    рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рддрд┐рдиреАрд╣рд░реВ рдордзреНрдпреЗ рдзреЗрд░реИ рдкрд╣рд┐рд▓реЗ рдиреИ рдпрд╕ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐ DNSTap рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред

DNSTap рдХреЗ рд╣реЛ?

DNSTap рд░ BGP рд╕рдБрдЧ ILV рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ DNS рд╕рд░реНрднрд░рдмрд╛рдЯ рд╕рдВрд░рдЪрд┐рдд DNS рдкреНрд░рд╢реНрдирд╣рд░реВ рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рдХрд▓реЗрдХреНрдЯрд░рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрдЯреЛрдХрд▓ рдмрдлрд░рд╣рд░реВ рд░ рдлреНрд░реЗрдо рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЧреНрд░рд╛рд╣рдХ-рд╕рд░реНрднрд░ рдкреНрд░реЛрдЯреЛрдХрд▓ рд╣реЛред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛, DNS рд╕рд░реНрднрд░рд▓реЗ рдХреНрд╡реЗрд░реА рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рд╕рдиреНрджреЗрд╢рдХреЛ рдкреНрд░рдХрд╛рд░, рдХреНрд▓рд╛рдЗрдиреНрдЯ/рд╕рд░реНрднрд░ рдЖрдИрдкреА, рдЖрджрд┐) рд░ рдкреВрд░рд╛ DNS рд╕рдиреНрджреЗрд╢рд╣рд░реВ (рдмрд╛рдЗрдирд░реА) рдлрд╛рд░рдордорд╛ рдкреНрд░рд╕рд╛рд░рдг рдЧрд░реНрджрдЫ рдЬрд╕рдорд╛ рдпрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред

рдпреЛ рдмреБрдЭреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ DNSTap рдкреНрд░рддрд┐рдорд╛рдирдорд╛, DNS рд╕рд░реНрднрд░рд▓реЗ рдЧреНрд░рд╛рд╣рдХрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫ рд░ рдХрд▓реЗрдХреНрдЯрд░рд▓реЗ рд╕рд░реНрднрд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫред рддреНрдпреЛ рд╣реЛ, DNS рд╕рд░реНрднрд░ рдХрд▓реЗрдХреНрдЯрд░рдорд╛ рдЬрдбрд╛рди рд╣реБрдиреНрдЫ, рд░ рдпрд╕рдХреЛ рд╡рд┐рдкрд░реАрдд рд╣реЛрдЗрдиред

рдЖрдЬ DNSTap рд╕рдмреИ рд▓реЛрдХрдкреНрд░рд┐рдп DNS рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рд╕рдорд░реНрдерд┐рдд рдЫред рддрд░, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, BIND рдзреЗрд░реИ рд╡рд┐рддрд░рдгрд╣рд░реВрдорд╛ (рдЬрд╕реНрддреИ Ubuntu LTS) рдкреНрд░рд╛рдп: рдпрд╕рдХреЛ рд╕рдорд░реНрдерди рдмрд┐рдирд╛ рдХреБрдиреИ рдХрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдмрдирд╛рдЗрдиреНрдЫред рддреНрдпрд╕реЛрднрдП рд╣рд╛рдореА рдкреБрди: рд╕рдВрдпреЛрдЬрдирдХреЛ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирдЧрд░реМрдВ, рддрд░ рд╣рд▓реНрдХрд╛ рд░ рдЫрд┐рдЯреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓рд┐рдиреБрд╣реЛрд╕реН - рдЕрдирдмрд╛рдЙрдиреНрдбред

DNSTap рдХрд╕рд░реА рд╕рдорд╛рддреНрдиреЗ?

рдЫрдиреН рдХреЗрд╣реА рдХреЛ рд░рд╛рд╢рд┐ DNSTap рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕реНрдЯреНрд░рд┐рдорд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ CLI рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ, рддрд░ рддрд┐рдиреАрд╣рд░реВ рд╣рд╛рдореНрд░реЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЙрдкрдпреБрдХреНрдд рдЫреИрдирдиреНред рддрд╕рд░реНрде, рдореИрд▓реЗ рдореЗрд░реЛ рдЖрдлреНрдиреИ рд╕рд╛рдЗрдХрд▓ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ рдЬреБрди рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫ: dnstap-bgp

рдХрд╛рд░реНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:

  • рдЬрдм рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдпрд╕рд▓реЗ рдкрд╛рда рдлрд╛рдЗрд▓рдмрд╛рдЯ рдбреЛрдореЗрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рд▓реЛрдб рдЧрд░реНрджрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЙрд▓реНрдЯреЛ рдЧрд░реНрджрдЫ (habr.com -> com.habr), рдЯреБрдЯреЗрдХреЛ рд▓рд╛рдЗрдирд╣рд░реВ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯрд╣рд░реВ рд░ рд╕рдмрдбреЛрдореЗрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрди (рдЕрд░реНрдерд╛рдд рдпрджрд┐ рд╕реВрдЪреАрдорд╛ habr.com рд░ www.habr.com рд╕рдорд╛рд╡реЗрд╢ рдЫ рднрдиреЗ, рдпреЛ рдХреЗрд╡рд▓ рдкрд╣рд┐рд▓реЛ рд▓реЛрдб рд╣реБрдиреЗрдЫ) рд░ рдпреЛ рд╕реВрдЪреА рдорд╛рд░реНрдлрдд рдЫрд┐рдЯреЛ рдЦреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд╕рд░реНрдЧ рд░реВрдЦ рдмрдирд╛рдЙрдБрдЫ
  • DNSTap рд╕рд░реНрднрд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджреИ, рдпрд╕рд▓реЗ DNS рд╕рд░реНрднрд░рдмрд╛рдЯ рдЬрдбрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдиреНрдЫред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпрд╕рд▓реЗ UNIX рд░ TCP рд╕рдХреЗрдЯ рджреБрд╡реИрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рддрд░ рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ DNS рд╕рд░реНрднрд░рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ UNIX рд╕рдХреЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред
  • рдЖрдЧрдорди DNSTap рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдкреНрд░реЛрдЯреЛрдмрдл рд╕рдВрд░рдЪрдирд╛рдорд╛ рдбрд┐рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬ рд╣реБрдиреНрдЫрдиреН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░реЛрдЯреЛрдмрдл рдлрд┐рд▓реНрдбрд╣рд░реВ рдордзреНрдпреЗ рдПрдХрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдмрд╛рдЗрдирд░реА DNS рд╕рдиреНрджреЗрд╢рд▓рд╛рдИ DNS RR рд░реЗрдХрд░реНрдбрд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рдкрд╛рд░реНрд╕ рдЧрд░рд┐рдиреНрдЫред
  • рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ рд╣реЛрд╕реНрдЯ (рд╡рд╛ рдпрд╕рдХреЛ рдЕрднрд┐рднрд╛рд╡рдХ рдбреЛрдореЗрди) рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рд╕реВрдЪреАрдорд╛ рдЫ рдХрд┐ рдЫреИрди рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ, рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░рд┐рдиреНрдЫред
  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдмрд╛рдЯ A/AAAA/CNAME RR рд╣рд░реВ рдорд╛рддреНрд░ рдЪрдпрди рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рд╕рдореНрдмрдиреНрдзрд┐рдд IPv4/IPv6 рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдирд┐рдХрд╛рд▓рд┐рдПрдХрд╛ рдЫрдиреНред
  • IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдпреЛрдЧреНрдп TTL рд╕рдБрдЧ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдиреНрдЫ рд░ рд╕рдмреИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ BGP рд╕рд╛рдереАрд╣рд░реВрд▓рд╛рдИ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЧрд░рд┐рдиреНрдЫред
  • рдкрд╣рд┐рд▓реЗ рдиреИ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдЖрдИрдкреАрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрд╛, рдпрд╕рдХреЛ TTL рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╣реБрдиреНрдЫ
  • TTL рдореНрдпрд╛рдж рд╕рдХрд┐рдПрдкрдЫрд┐, рдХреНрдпрд╛рд╕ рд░ BGP рдШреЛрд╖рдгрд╛рд╣рд░реВрдмрд╛рдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣рдЯрд╛рдЗрдиреНрдЫ

рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛:

  • SIGHUP рджреНрд╡рд╛рд░рд╛ рдбреЛрдореЗрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкреБрди: рдкрдвреНрджреИ
  • рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрд╕рдБрдЧ рд╕рд┐рдЩреНрдХрдорд╛ рдХреНрдпрд╛рд╕ рд░рд╛рдЦреНрджреИ dnstap-bgp HTTP/JSON рдорд╛рд░реНрдлрдд
  • рдбрд┐рд╕реНрдХрдорд╛ рдХреНрдпрд╛рд╕ рдирдХреНрдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдмреЛрд▓реНрдЯрдбреАрдмреА рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛) рдкреБрди: рд╕реБрд░реБ рдЧрд░реЗрдкрдЫрд┐ рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиред
  • рдлрд░рдХ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди (рдпреЛ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ рддрд▓ рд╡рд░реНрдгрди рдЧрд░рд┐рдиреЗрдЫ)
  • IPv6 рд╕рдорд░реНрдерди

рд╕реАрдорд╛рд╣рд░реВ:

  • IDN рдбреЛрдореЗрдирд╣рд░реВ рдЕрдЭреИ рд╕рдорд░реНрдерд┐рдд рдЫреИрдирдиреН
  • рдХреЗрд╣реА BGP рд╕реЗрдЯрд┐рдЩрд╣рд░реВ

рдЬрдореНрдорд╛ рдЧрд░реЗрдБ RPM рд░ DEB рд╕рдЬрд┐рд▓реЛ рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВред systemd рд╕рдБрдЧ рд╕рдмреИ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рднрд░реНрдЦрд░рдХрд╛ OS рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫред рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХреБрдиреИ рдирд┐рд░реНрднрд░рддрд╛ рдЫреИрдиред

рдпреЛрдЬрдирд╛

рддреНрдпрд╕реЛрднрдП, рд╕рдмреИ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕рдБрдЧреИ рдЬреЛрдбреНрди рд╕реБрд░реБ рдЧрд░реМрдВред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдпреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЛрдЬреА рдЬрд╕реНрддреИ рдХреЗрд╣рд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫ:
DNSTap рд░ BGP рд╕рдБрдЧ ILV рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдХрд╛рдордХреЛ рддрд░реНрдХ, рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ, рд░реЗрдЦрд╛рдЪрд┐рддреНрд░рдмрд╛рдЯ рд╕реНрдкрд╖реНрдЯ рдЫ:

  • рдХреНрд▓рд╛рдЗрдиреНрдЯрд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рд╕рд░реНрднрд░ DNS рдХреЛ рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ DNS рдХреНрд╡реЗрд░реАрд╣рд░реВ рдкрдирд┐ VPN рдорд╛ рдЬрд╛рдиреБрдкрд░реНрдЫред рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдкреНрд░рджрд╛рдпрдХрд▓реЗ рдмреНрд▓рдХ рдЧрд░реНрди DNS рдЕрд╡рд░реЛрдз рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрджреИрдиред
  • рд╕рд╛рдЗрдЯ рдЦреЛрд▓реНрджрд╛, рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓реЗ "xxx.org рдХреЛ IPs рдХреЗ рд╣реЛ" рдЬрд╕реНрддреЛ DNS рдХреНрд╡реЗрд░реА рдкрдард╛рдЙрдБрдЫред
  • рдирдмрд╛рдБрдзрд┐рдПрдХреЛ xxx.org рд▓рд╛рдИ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ (рд╡рд╛ рдХреНрдпрд╛рд╕рдмрд╛рдЯ рд▓рд┐рдиреНрдЫ) рд░ рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓рд╛рдИ рдЬрд╡рд╛рдл рдкрдард╛рдЙрдБрдЫ "xxx.org рдорд╛ рдпрд╕реНрддреЛ рд░ рдпрд╕реНрддреЛ IP рдЫ", DNSTap рдорд╛рд░реНрдлрдд рд╕рдорд╛рдирд╛рдиреНрддрд░ рд░реВрдкрдорд╛ рдирдХреНрдХрд▓ рдЧрд░реНрджреИред
  • dnstap-bgp рдорд╛ рдпреА рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрдЫ рдмрд░реНрдб рдпрджрд┐ рдбреЛрдореЗрди рдЕрд╡рд░реБрджреНрдз рд╕реВрдЪреАрдорд╛ рдЫ рднрдиреЗ BGP рдорд╛рд░реНрдлрдд
  • рдмрд░реНрдб рдпреА рдЖрдИрдкреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рд░реНрдЧрдХреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЧрд░реНрджрдЫ next-hop self рдЧреНрд░рд╛рд╣рдХ рд░рд╛рдЙрдЯрд░
  • рдЧреНрд░рд╛рд╣рдХрдмрд╛рдЯ рдпреА рдЖрдИрдкреАрд╣рд░реВрдорд╛ рдкрдЫрд┐рд▓реНрд▓рд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕реБрд░реБрдЩ рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫрдиреН

рд╕рд░реНрднрд░рдорд╛, рдЕрд╡рд░реБрджреНрдз рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдорд╛рд░реНрдЧрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдо BIRD рднрд┐рддреНрд░ рдЫреБрдЯреНрдЯреИ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ рд░ рдпрд╕рд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╣рд┐рд╕рд╛рдмрд▓реЗ OS рд╕рдБрдЧ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдЧрд░реНрджреИрдиред

рдпреЛ рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдПрдХ рдХрдордЬреЛрд░реА рдЫ: рдЧреНрд░рд╛рд╣рдХрдмрд╛рдЯ рдкрд╣рд┐рд▓реЛ SYN рдкреНрдпрд╛рдХреЗрдЯ, рд╕рдореНрднрд╡рддрдГ, рдШрд░реЗрд▓реБ рдкреНрд░рджрд╛рдпрдХ рдорд╛рд░реНрдлрдд рдЫреЛрдбреНрдиреЗ рд╕рдордп рд╣реБрдиреЗрдЫред рд░реБрдЯ рддрддреНрдХрд╛рд▓ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рд░ рдпрд╣рд╛рдБ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд╕рдореНрднрд╡ рдЫрдиреН рдХрд╕рд░реА рдкреНрд░рджрд╛рдпрдХрд▓реЗ рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдЖрдзрд╛рд░рдорд╛ред рдпрджрд┐ рдЙрд╕рд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХ рдЫреЛрдбреНрдЫ рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫреИрдиред рд░ рдпрджрд┐ рдЙрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдХреЗрд╣рд┐ DPI рдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрдЫ рднрдиреЗ, рддрдм (рд╕реИрджреНрдзрд╛рдиреНрддрд┐рдХ рд░реВрдкрдорд╛) рд╡рд┐рд╢реЗрд╖ рдкреНрд░рднрд╛рд╡рд╣рд░реВ рд╕рдореНрднрд╡ рдЫрдиреНред

рдпреЛ рдкрдирд┐ рд╕рдореНрднрд╡ рдЫ рдХрд┐ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ DNS TTL рдЪрдорддреНрдХрд╛рд░рд╣рд░реВрд▓рд╛рдИ рд╕рдореНрдорд╛рди рдЧрд░реНрджреИрдирдиреН, рдЬрд╕рд▓реЗ рдЧрд░реНрджрд╛ рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдЕрдирдмрд╛рдЙрдиреНрдб рд╕реЛрдзреНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдпрд╕рдХреЛ рд╕рдбреЗрдХреЛ рдХреНрдпрд╛рд╕рдмрд╛рдЯ рдХреЗрд╣реА рдмрд╛рд╕реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫред

рдЕрднреНрдпрд╛рд╕рдорд╛, рди рдд рдкрд╣рд┐рд▓реЛ рд╡рд╛ рджреЛрд╕реНрд░реЛрд▓реЗ рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдпреЛ, рддрд░ рддрдкрд╛рдИрдВрдХреЛ рдорд╛рдЗрд▓реЗрдЬ рдлрд░рдХ рд╣реБрди рд╕рдХреНрдЫред

рд╕рд░реНрднрд░ рдЯреНрдпреБрдирд┐рдЩ

рд░реЛрд▓рд┐рдЩ рдХреЛ рд╕рдЬрд┐рд▓реЛ рдХреЛ рд▓рд╛рдЧреА, рдореИрд▓реЗ рд▓реЗрдЦреЗ рдЙрддреНрддрд░рджрд╛рдпреА рдХреЛ рд▓рд╛рдЧреА рднреВрдорд┐рдХрд╛ред рдпрд╕рд▓реЗ рд▓рд┐рдирдХреНрд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд рджреБрдмреИ рд╕рд░реНрднрд░ рд░ рдХреНрд▓рд╛рдЗрдиреНрдЯрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдЫ (рдбреЗрдм-рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ)ред рд╕рдмреИ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдПрдХрджрдо рд╕реНрдкрд╖реНрдЯ рдЫрдиреН рд░ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ inventory.ymlред рдпреЛ рднреВрдорд┐рдХрд╛ рдореЗрд░реЛ рдареВрд▓реЛ рдкреНрд▓реЗрдмреБрдХрдмрд╛рдЯ рдХрд╛рдЯрд┐рдПрдХреЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН - рдЕрдиреБрд░реЛрдзрд╣рд░реВ рддрд╛рдиреНрдиреБрд╣реЛрд╕реН рд╕реНрд╡рд╛рдЧрдд рдЫ ЁЯЩВ

рдореБрдЦреНрдп рдШрдЯрдХ рдорд╛рд░реНрдлрдд рдЬрд╛рдФрдВред

BGP

рдПрдЙрдЯреИ рд╣реЛрд╕реНрдЯрдорд╛ рджреБрдИ BGP рдбреЗрдордирд╣рд░реВ рдЪрд▓рд╛рдЙрдБрджрд╛ рдПрдЙрдЯрд╛ рдЖрдзрд╛рд░рднреВрдд рд╕рдорд╕реНрдпрд╛ рдЫ: BIRD рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ (рд╡рд╛ рдХреБрдиреИ рд╕реНрдерд╛рдиреАрдп рдЗрдиреНрдЯрд░рдлреЗрд╕) рд╕рдБрдЧ BGP рдкрд┐рдпрд░рд┐рдЩ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдЪрд╛рд╣рдБрджреИрдиред рд╢рдмреНрджрдмрд╛рдЯ рдмрд┐рд▓реНрдХреБрд▓реИред рдЧреБрдЧрд▓рд┐рдЩ рд░ рдореЗрд▓рд┐рдЩ-рд╕реВрдЪреАрд╣рд░реВ рдкрдвреНрди рдорджреНрджрдд рдЧрд░реЗрди, рддрд┐рдиреАрд╣рд░реВ рджрд╛рд╡реА рдЧрд░реНрдЫрдиреН рдХрд┐ рдпреЛ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реЛред рд╕рд╛рдпрдж рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рддрд░рд┐рдХрд╛ рдЫ, рддрд░ рдореИрд▓реЗ рдпреЛ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдиред

рддрдкрд╛рдИрдВ рдЕрд░реНрдХреЛ BGP рдбреЗрдорди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдорд▓рд╛рдИ BIRD рдорди рдкрд░реНрдЫ рд░ рдпреЛ рдо рджреНрд╡рд╛рд░рд╛ рдЬрддрд╛рддрддреИ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдо рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдиред

рддреНрдпрд╕рдХрд╛рд░рдг, рдореИрд▓реЗ dnstap-bgp рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рднрд┐рддреНрд░ рд▓реБрдХрд╛рдПрдБ, рдЬреБрди veth рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрдд рд░реВрдЯрдорд╛ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ: рдпреЛ рдкрд╛рдЗрдк рдЬрд╕реНрддреИ рд╣реЛ, рдЬрд╕рдХреЛ рдЫреЗрдЙ рдлрд░рдХ рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдорд╛ рдЯрд╛рдБрд╕рд┐рдПрдХреЛ рдЫред рдпреА рдкреНрд░рддреНрдпреЗрдХ рдЫреЗрдЙрдорд╛, рд╣рд╛рдореА рдирд┐рдЬреА p2p IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рд╣реНрдпрд╛рдЩреНрдЧ рдЧрд░реНрдЫреМрдВ рдЬреБрди рд╣реЛрд╕реНрдЯ рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рди рд╕рдХреНрджреИрди, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВ рдЬреЗ рдкрдирд┐ рд╣реБрди рд╕рдХреНрдЫрдиреНред рдпреЛ рдЙрд╣реА рд╕рдВрдпрдиреНрддреНрд░ рд╣реЛ рдЬреБрди рднрд┐рддреНрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рд╕рдмреИрд▓реЗ рдорд╛рдпрд╛ рдЧрд░реЗрдХреЛ рдбрдХрд░ рд░ рдЕрдиреНрдп рдХрдиреНрдЯреЗрдирд░рд╣рд░реВред

рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦрд┐рдПрдХреЛ рд╣реЛ рд▓рд┐рдкрд┐ рд░ рдкрд╣рд┐рд▓реЗ рдиреИ рдХрдкрд╛рд▓рдмрд╛рдЯ рдЖрдлреВрд▓рд╛рдИ рдЕрд░реНрдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рддрд╛рдиреЗрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ dnstap-bgp рдорд╛ рдердкрд┐рдпреЛред рдпреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдпрд╕рд▓рд╛рдИ рд░реВрдЯрдХреЛ рд░реВрдкрдорд╛ рдЪрд▓рд╛рдЙрдиреБ рдкрд░реНрдЫ рд╡рд╛ рд╕реЗрдЯрдХреНрдпрд╛рдк рдЖрджреЗрд╢ рдорд╛рд░реНрдлрдд CAP_SYS_ADMIN рдмрд╛рдЗрдирд░реАрдорд╛ рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫред

рдирд╛рдо рд╕реНрдерд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдкрд┐

#!/bin/bash

NS="dtap"

IP="/sbin/ip"
IPNS="$IP netns exec $NS $IP"

IF_R="veth-$NS-r"
IF_NS="veth-$NS-ns"

IP_R="192.168.149.1"
IP_NS="192.168.149.2"

/bin/systemctl stop dnstap-bgp || true

$IP netns del $NS > /dev/null 2>&1
$IP netns add $NS

$IP link add $IF_R type veth peer name $IF_NS
$IP link set $IF_NS netns $NS

$IP addr add $IP_R remote $IP_NS dev $IF_R
$IP link set $IF_R up

$IPNS addr add $IP_NS remote $IP_R dev $IF_NS
$IPNS link set $IF_NS up

/bin/systemctl start dnstap-bgp

dnstap-bgp.conf

namespace = "dtap"
domains = "/var/cache/rkn_domains.txt"
ttl = "168h"

[dnstap]
listen = "/tmp/dnstap.sock"
perm = "0666"

[bgp]
as = 65000
routerid = "192.168.149.2"

peers = [
    "192.168.149.1",
]

bird.conf

router id 192.168.1.1;

table rkn;

# Clients
protocol bgp bgp_client1 {
    table rkn;
    local as 65000;
    neighbor 192.168.1.2 as 65000;
    direct;
    bfd on;
    next hop self;
    graceful restart;
    graceful restart time 60;
    export all;
    import none;
}

# DNSTap-BGP
protocol bgp bgp_dnstap {
    table rkn;
    local as 65000;
    neighbor 192.168.149.2 as 65000;
    direct;
    passive on;
    rr client;
    import all;
    export none;
}

# Static routes list
protocol static static_rkn {
    table rkn;
    include "rkn_routes.list";
    import all;
    export none;
}

rkn_routes.list

route 3.226.79.85/32 via "ens3";
route 18.236.189.0/24 via "ens3";
route 3.224.21.0/24 via "ens3";
...

DNS

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, Ubuntu рдорд╛, рдЕрдирдмрд╛рдЙрдиреНрдб рдмрд╛рдЗрдирд░реАрд▓рд╛рдИ AppArmor рдкреНрд░реЛрдлрд╛рдЗрд▓рджреНрд╡рд╛рд░рд╛ рдХреНрд▓реНрдпрд╛рдореНрдк рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ DNSTap рд╕рдХреЗрдЯрд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдирдмрд╛рдЯ рд░реЛрдХреНрдЫред рддрдкрд╛рдИрдВ рдпрд╛ рдд рдпреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╡рд╛ рдпрд╕рд▓рд╛рдИ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

# cd /etc/apparmor.d/disable && ln -s ../usr.sbin.unbound .
# apparmor_parser -R /etc/apparmor.d/usr.sbin.unbound

рдпреЛ рд╕рдореНрднрд╡рддрдГ рдкреНрд▓реЗрдмреБрдХрдорд╛ рдердкрд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫред рдпреЛ рдЖрджрд░реНрд╢ рд╣реЛ, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕рдЪреНрдпрд╛рдЙрди рд░ рдЖрд╡рд╢реНрдпрдХ рдЕрдзрд┐рдХрд╛рд░ рдЬрд╛рд░реА рдЧрд░реНрди, рддрд░ рдо рдзреЗрд░реИ рдЕрд▓реНрдЫреА рдерд┐рдПрдБред

unbound.conf

server:
    chroot: ""
    port: 53
    interface: 0.0.0.0
    root-hints: "/var/lib/unbound/named.root"
    auto-trust-anchor-file: "/var/lib/unbound/root.key"
    access-control: 192.168.0.0/16 allow

remote-control:
    control-enable: yes
    control-use-cert: no

dnstap:
    dnstap-enable: yes
    dnstap-socket-path: "/tmp/dnstap.sock"
    dnstap-send-identity: no
    dnstap-send-version: no

    dnstap-log-client-response-messages: yes

рдбрд╛рдЙрдирд▓реЛрдб рд░ рдкреНрд░рд╢реЛрдзрди рд╕реВрдЪреА

рдЖрдИрдкреА тАЛтАЛрдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдбрд╛рдЙрдирд▓реЛрдб рд░ рдкреНрд░рд╢реЛрдзрдирдХрд╛ рд▓рд╛рдЧрд┐ рд▓рд┐рдкрд┐
рдпрд╕рд▓реЗ рд╕реВрдЪреА рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрджрдЫ, рдЙрдкрд╕рд░реНрдЧ рд╕рдореНрдордХреЛ рдпреЛрдЧрдлрд▓ pfxред рдХреЛ рди_рдердкреНрдиреБрд╣реЛрд╕реН ╨╕ summarize рдирдЧрд░реНрдиреБрд╣реЛрд╕реН рддрдкрд╛рдИрд▓реЗ рдЖрдИрдкреА рд░ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрд▓рд╛рдИ рдЫрд╛рдбреНрди рд╡рд╛ рд╕рдВрдХреНрд╖реЗрдкрдорд╛ рдирдЧрд░реНрди рднрдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдорд▓рд╛рдИ рдпреЛ рдЪрд╛рд╣рд┐рдПрдХреЛ рдерд┐рдпреЛред рдореЗрд░реЛ VPS рдХреЛ рд╕рдмрдиреЗрдЯ рдмреНрд▓рдХрд▓рд┐рд╕реНрдЯрдорд╛ рдерд┐рдпреЛ ЁЯЩВ

рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ RosKomSvoboda API рд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд╛рдЗрдерди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдиреНрдЯрд╕рдБрдЧ рдЕрдиреБрд░реЛрдзрд╣рд░реВрд▓рд╛рдИ рд░реЛрдХреНрдЫред рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдХрд┐рдбреАрд▓реЗ рдмреБрдЭреЗрдХреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдУрдЧреНрдиреЗрд▓рд┐рд╕рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫреМрдВред

рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо, рдпрд╕рд▓реЗ IPv4 рд╕рдБрдЧ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрджрдЫред IPv6 рдХреЛ рд╢реЗрдпрд░ рд╕рд╛рдиреЛ рдЫ, рддрд░ рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреЗрдЫред рддрдкрд╛рдИрдВрд▓реЗ bird6 рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрджреИрдиред

rkn.py

#!/usr/bin/python3

import json, urllib.request, ipaddress as ipa

url = 'https://api.reserve-rbl.ru/api/v2/ips/json'
pfx = '24'

dont_summarize = {
    # ipa.IPv4Network('1.1.1.0/24'),
}

dont_add = {
    # ipa.IPv4Address('1.1.1.1'),
}

req = urllib.request.Request(
    url,
    data=None, 
    headers={
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
    }
)

f = urllib.request.urlopen(req)
ips = json.loads(f.read().decode('utf-8'))

prefix32 = ipa.IPv4Address('255.255.255.255')

r = {}
for i in ips:
    ip = ipa.ip_network(i)
    if not isinstance(ip, ipa.IPv4Network):
        continue

    addr = ip.network_address

    if addr in dont_add:
        continue

    m = ip.netmask
    if m != prefix32:
        r[m] = [addr, 1]
        continue

    sn = ipa.IPv4Network(str(addr) + '/' + pfx, strict=False)

    if sn in dont_summarize:
        tgt = addr
    else:
        tgt = sn

    if not sn in r:
        r[tgt] = [addr, 1]
    else:
        r[tgt][1] += 1

o = []
for n, v in r.items():
    if v[1] == 1:
        o.append(str(v[0]) + '/32')
    else:
        o.append(n)

for k in o:
    print(k)

рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдо рдпрд╕рд▓рд╛рдИ рджрд┐рдирдХреЛ рдПрдХ рдкрдЯрдХ рдореБрдХреБрдЯрдорд╛ рдЪрд▓рд╛рдЙрдБрдЫреБ, рд╣реБрдирд╕рдХреНрдЫ рдпреЛ рд╣рд░реЗрдХ 4 рдШрдгреНрдЯрд╛рдорд╛ рддрд╛рдиреНрди рд▓рд╛рдпрдХ рдЫред рдпреЛ, рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛, RKN рд▓рд╛рдИ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдмрд╛рдЯ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдирд╡реАрдХрд░рдг рдЕрд╡рдзрд┐ рд╣реЛред рд╕рд╛рдереИ, рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХреЗрд╣реА рдЕрдиреНрдп рдЕрддрд┐-рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рдЕрд╡рд░реЛрдзрд╣рд░реВ рдЫрдиреН, рдЬреБрди рдЫрд┐рдЯреЛ рдкреБрдЧреНрди рд╕рдХреНрдЫред

рдирд┐рдореНрди рдЧрд░реНрдЫ:

  • рдкрд╣рд┐рд▓реЛ рд▓рд┐рдкрд┐ рдЪрд▓рд╛рдЙрдБрдЫ рд░ рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫ (rkn_routes.listBIRD рдХреЛ рд▓рд╛рдЧрд┐
  • BIRD рдкреБрди: рд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН
  • dnstap-bgp рдХреЛ рд▓рд╛рдЧрд┐ рдбреЛрдореЗрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд░ рд╕рдлрд╛ рдЧрд░реНрджрдЫ
  • dnstap-bgp рдкреБрди: рд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН

rkn_update.sh

#!/bin/bash

ROUTES="/etc/bird/rkn_routes.list"
DOMAINS="/var/cache/rkn_domains.txt"

# Get & summarize routes
/opt/rkn.py | sed 's/(.*)/route 1 via "ens3";/' > $ROUTES.new

if [ $? -ne 0 ]; then
    rm -f $ROUTES.new
    echo "Unable to download RKN routes"
    exit 1
fi

if [ -e $ROUTES ]; then
    mv $ROUTES $ROUTES.old
fi

mv $ROUTES.new $ROUTES

/bin/systemctl try-reload-or-restart bird

# Get domains
curl -s https://api.reserve-rbl.ru/api/v2/domains/json -o - | jq -r '.[]' | sed 's/^*.//' | sort | uniq > $DOMAINS.new

if [ $? -ne 0 ]; then
    rm -f $DOMAINS.new
    echo "Unable to download RKN domains"
    exit 1
fi

if [ -e $DOMAINS ]; then
    mv $DOMAINS $DOMAINS.old
fi

mv $DOMAINS.new $DOMAINS

/bin/systemctl try-reload-or-restart dnstap-bgp

рддрд┐рдиреАрд╣рд░реВ рдзреЗрд░реИ рд╕реЛрдЪрд╡рд┐рдирд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдерд┐рдП, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдХреЗрд╣реА рджреЗрдЦреНрдиреБрднрдпреЛ рднрдиреЗ - рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдиреБрд╣реЛрд╕реНред

рдЧреНрд░рд╛рд╣рдХ рд╕реЗрдЯрдЕрдк

рдпрд╣рд╛рдБ рдо рд▓рд┐рдирдХреНрд╕ рд░рд╛рдЙрдЯрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдг рджрд┐рдиреЗрдЫреБ, рддрд░ Mikrotik / Cisco рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рдЕрдЭ рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреБрдкрд░реНрдЫред

рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореАрд▓реЗ BIRD рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдпреМрдВ:

bird.conf

router id 192.168.1.2;
table rkn;

protocol device {
    scan time 10;
};

# Servers
protocol bgp bgp_server1 {
    table rkn;
    local as 65000;
    neighbor 192.168.1.1 as 65000;
    direct;
    bfd on;
    next hop self;
    graceful restart;
    graceful restart time 60;
    rr client;
    export none;
    import all;
}

protocol kernel {
    table rkn;
    kernel table 222;
    scan time 10;
    export all;
    import none;
}

рдпрд╕рд░реА, рд╣рд╛рдореА BGP рдмрд╛рдЯ рдкреНрд░рд╛рдкреНрдд рдорд╛рд░реНрдЧрд╣рд░реВрд▓рд╛рдИ рдХрд░реНрдиреЗрд▓ рд░рд╛рдЙрдЯрд┐рдЩ рддрд╛рд▓рд┐рдХрд╛ рдирдореНрдмрд░ 222 рд╕рдБрдЧ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрдиреЗрдЫреМрдВред

рддреНрдпрд╕ рдкрдЫрд┐, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдПрдХ рд╣реЗрд░реНрдиреБ рдЕрдШрд┐ рдХрд░реНрдиреЗрд▓рд▓рд╛рдИ рдпреЛ рдкреНрд▓реЗрдЯ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реЛрдзреНрдиреБ рдкрд░реНрдпрд╛рдкреНрдд рдЫ:

# ip rule add from all pref 256 lookup 222
# ip rule
0:  from all lookup local
256:    from all lookup 222
32766:  from all lookup main
32767:  from all lookup default

рд╕рдмреИ рдХреБрд░рд╛, рдпреЛ DNS рдХреЛ рд░реВрдкрдорд╛ рд╕рд░реНрднрд░рдХреЛ рдЯрдиреЗрд▓ IP рдареЗрдЧрд╛рдирд╛ рд╡рд┐рддрд░рдг рдЧрд░реНрди рд░рд╛рдЙрдЯрд░рдорд╛ DHCP рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫ, рд░ рдпреЛрдЬрдирд╛ рддрдпрд╛рд░ рдЫред

рдХрдореАрдХрдордЬреЛрд░реА

рдбреЛрдореЗрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЙрддреНрдкрдиреНрди рд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рд▓рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рд╕рд╛рде, рдпрд╕рд▓реЗ рдЕрдиреНрдп рдЪреАрдЬрд╣рд░реВ рдмреАрдЪрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, youtube.com рд░ рдпрд╕рдХреЛ CDNsред

рд░ рдпрд╕рд▓реЗ рдпрд╕ рддрдереНрдпрд▓рд╛рдИ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ рдХрд┐ рд╕рдмреИ рднрд┐рдбрд┐рдпреЛрд╣рд░реВ VPN рдорд╛рд░реНрдлрдд рдЬрд╛рдиреЗрдЫрдиреН, рдЬрд╕рд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдЪреНрдпрд╛рдирд▓рд▓рд╛рдИ рдмрдиреНрдж рдЧрд░реНрди рд╕рдХреНрдЫред рд╣реБрдирд╕рдХреНрдЫ рдпреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЛрдореЗрди-рдмрд╣рд┐рд╖реНрдХрд░рдгрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдЬреБрди рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ RKN рдмреНрд▓рдХ рдЧрд░реНрджрдЫ, рд╣рд┐рдореНрдордд рдкрд╛рддрд▓реЛ рдЫред рд░ рдкрд╛рд░реНрд╕рд┐рдЩ рдЧрд░реНрджрд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЫреЛрдбреНрдиреБрд╣реЛрд╕реНред

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рдзрд┐рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрд▓реЗ рд╣рд╛рд▓ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рд▓рдЧрднрдЧ рдХреБрдиреИ рдкрдирд┐ рдмреНрд▓рдХрд┐рдЩрд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, dnstap-bgp рдбреЛрдореЗрди рдирд╛рдордХреЛ рдЖрдзрд╛рд░рдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдирд┐рдпрдиреНрддреНрд░рдгрдХреЛ рдХреЗрд╣реА рд╕реНрддрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдХреБрдиреИ рдкрдирд┐ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╣рд╛рдореНрд░реЛ рд╕рдордпрдорд╛, рдПрдХ рд╣рдЬрд╛рд░ рд╕рд╛рдЗрдЯрд╣рд░реВ рдПрдЙрдЯреИ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ (рдХреЗрд╣реА рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдкрдЫрд┐, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐) рдорд╛ рд╣реНрдпрд╛рдЩ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рд╡рд┐рдзрд┐рдХреЛ рд╕рдЯреНрдЯрд╛ рдХрдо рд╕рдЯреАрдХрддрд╛ рдЫред

рддрд░ рд▓рдХрд╣рд░реВ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЫред

рдердкрд╣рд░реВ, рд╕рдореНрдкрд╛рджрдирд╣рд░реВ, рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВ - рд╕реНрд╡рд╛рдЧрдд рдЫ!

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

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