DNSTap рдФрд░ BGP рдХреЗ рд╕рд╛рде ILV рд▓реЙрдХ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░реЗрдВ


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


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


рдореИрдВ ILV рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛, рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдФрд░ рджреЛрд╕реНрдд рдШрд░ рдкрд░ рд╣реА рд░рд╣рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рддрд╛рд▓реЗ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬреЛ рдЖрдИрдЯреА рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИ, рдЬреЛ рдЙрдирдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред


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


рддрд╛рд▓реЗ рдХреЗ рдкреНрд░рдХрд╛рд░


рдкрд╣рд▓реЗ, рдЬреЛ рдЕрд╡рд░реБрджреНрдз рд╣реИ рдЙрд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВред


ILV рд╕реЗ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд XML рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд╛рд▓реЗ рд╣реИрдВ:


  • рдЖрдИрдкреА
  • рдбреЛрдореЗрди
  • рдпреВрдЖрд░рдПрд▓

рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ рджреЛ рддрдХ рдХрдо рдХрд░ рджреЗрдВрдЧреЗ: рдЖрдИрдкреА рдФрд░ рдбреЛрдореЗрди, рдФрд░ рд╣рдо рдмрд╕ рдбреЛрдореЗрди рдХреЛ рдпреВрдЖрд░рдПрд▓ рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕реЗ рдмрд╛рд╣рд░ рдЦреАрдВрдЪ рд▓реЗрдВрдЧреЗ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд░ рджрд┐рдпрд╛ рд╣реИ)ред


Roskomsvoboda рдХреЗ рдЕрдЪреНрдЫреЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдПрдХ рдЕрджреНрднреБрдд API рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдо рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:



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


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


рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд░рд╛рдЙрдЯрд░ рд╕реЗ рд╡реАрдкреАрдПрд╕ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕реБрд░рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рд┐рдирдХреНрд╕ ( APU2 рдпрд╛ OpenWRT рдкрд░ рдХреБрдЫ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд░рд╛рдЙрдЯрд░ рднреА рд╣реИрдВред рдХреБрдЫ рдорд┐рдХрд░реЛрдЯрд┐рдХ / рд╕рд┐рд╕реНрдХреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЙрди рдкрд░ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдУрдкрдирд╡реАрдкреАрдПрди рдФрд░ рдЬреАрдЖрд░рдИ-рдУрд╡рд░-рдЖрдИрдкреАрдПрд╕рдИрд╕реАред


рдмреНрдпрд╛рдЬ рдХреА рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдкрд╣рдЪрд╛рди рдФрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди


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


рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЕрд╡рд░реБрджреНрдз рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕реБрд░рдВрдЧ рдореЗрдВ рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╣рд╛рдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрднреА рднреА рд╕реБрд░рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдм рдХреБрдЫ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред


рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмреАрдЬреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрдиреЗ рд╡реАрдкреАрдПрд╕ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рддрдХ рдЖрд╡рд╢реНрдпрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗред рдмреАрдЬреАрдкреА рдбреЗрдорди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП BIRD рд▓реЗрддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВред


рдЖрдИрдкреА


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


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


рдбреЛрдореЗрди


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


рд▓реЗрдХрд┐рди рд╕рднреА newfangled TLS1.3 + eSNI рдХреЗ рдХрд╛рд░рдг, HTTPS рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣рд░ рджрд┐рди рдХрдо рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ - рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо OpenWRT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ DNS рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реЛрдзрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдорд╛рд░реНрдЧ рдЕрдкрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣рд╛рдВ рднреА, рдХреЛрдИ рднреА DNS-over-TLS / HTTPS рд╣рдорд╛рд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рдЪрдврд╝рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо (рдЕрднреА рдХреЗ рд▓рд┐рдП) рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╛ рддреЛ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╛ DoT / DoH рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


DNS рдХреЛ рдХреИрд╕реЗ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░реЗрдВ?


рдХрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


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

DNSTap рдХреНрдпрд╛ рд╣реИ?



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


рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ DNSTap рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ, DNS рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрд▓реЗрдХреНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╣реА рд╣реИ, DNS рд╕рд░реНрд╡рд░ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВред


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


DNSTap рдХреИрд╕реЗ рдкрдХрдбрд╝реЗрдВ?


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


рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:


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

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


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

рдкреНрд░рддрд┐рдмрдВрдз:


  • IDN рдбреЛрдореЗрди рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ
  • рдХреБрдЫ рдмреАрдЬреАрдкреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рдореИрдВрдиреЗ рдЖрд╕рд╛рди рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП RPM рдФрд░ DEB рд╕рдВрдХреБрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдореИрдб рдХреЗ рд╕рд╛рде рд╕рднреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓ рдХреЗ рдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдирдХреА рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИред


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


рддреЛ, рдЪрд▓реЛ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдЬреИрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:


рдХрд╛рдо рдХрд╛ рддрд░реНрдХ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЖрд░реЗрдЦ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ:


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

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


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


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


рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рди рддреЛ рдкрд╣рд▓реЗ рдФрд░ рди рд╣реА рджреВрд╕рд░реЗ рдиреЗ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рджреАрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рд▓рд╛рдн рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк


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


рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред


BGP


рдЬрдм рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ рджреЛ рдмреАрдЬреАрдкреА рдбреЗрдорди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдореВрд▓рднреВрдд рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ: рдмреАрдЖрдИрдЖрд░рдбреА рдПрдХ рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ (рдпрд╛ рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдХреЗ рд╕рд╛рде рдмреАрдЬреАрдкреА peering рдХреЛ рдЙрдард╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╢рдмреНрдж рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ред Googling рдФрд░ рдореЗрд▓рд┐рдВрдЧ-рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА, рд╡реЗ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╣реИред рд╢рд╛рдпрдж рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ред


рдЖрдк рдПрдХ рдФрд░ рдмреАрдЬреАрдкреА рдбреЗрдорди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмреАрдЖрдИрдЖрд░рдбреА рдкрд╕рдВрдж рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрд░реЗ рд╕рд╛рде рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ dnstap-bgp рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛, рдЬреЛ рдХрд┐ рд╡реЗрдиреНрде рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ: рдпрд╣ рдПрдХ рдкрд╛рдЗрдк рдХреА рддрд░рд╣ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд┐рд░реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЫреЛрд░ рдкрд░ рд╣рдо рдирд┐рдЬреА рдкреА 2 рдкреА рдЖрдИрдкреА рдкрддреЗ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдореЗрдЬрдмрд╛рди рдХреЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рддрдВрддреНрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрдпрд╛рд░реЗ рдбреЛрдХрд░ рдФрд░ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЧрдИ рдереА рдФрд░ 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"; ... 

рдбреАрдПрдирдПрд╕


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЙрдмрдВрдЯреВ рдореЗрдВ, рдЕрдирдмрд╛рдЙрдВрдб рдмрд╛рдЗрдирд░реА рдХреЛ 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 

рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕реВрдЪреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг


IP рдкрддреЗ рдХреА рд╕реВрдЪреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдпрд╣ рд╕реВрдЪреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, pfx рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред NOT_add рдФрд░ NOT_summarize рдореЗрдВ, рдЖрдк IP рдФрд░ рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ VPS рд╕рдмрдиреЗрдЯ рдмреНрд▓реЙрдХрд▓рд┐рд╕реНрдЯ рдореЗрдВ рдерд╛ :)


рдордЬреЗрджрд╛рд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ RosKomSvoboda рдПрдкреАрдЖрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдбрдиреА рдорд┐рд▓ рдЧрдИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдлрд╛рдпрд░рд▓реАрд╕ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред


рдЕрдм рддрдХ, рдпрд╣ рдХреЗрд╡рд▓ IPv4 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ IPv6 рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдЬрдм рддрдХ рдХрд┐ рдмрд░реНрдб 6 рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред


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 рдШрдВрдЯреЗ рдореЗрдВ рдЗрд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЕрджреНрдпрддрди рдЕрд╡рдзрд┐ рд╣реИ рдХрд┐ ILV рдХреЛ рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдЕрдиреНрдп рдЕрддрд┐ рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓реЗ рд╣реИрдВ рдЬреЛ рддреЗрдЬреА рд╕реЗ рдЙрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:


  • рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ BIRD рдХреЗ рд▓рд┐рдП рд░реВрдЯ рд╕реВрдЪреА ( rkn_routes.list ) рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ
  • рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ
  • рдЕрджреНрдпрддрди рдФрд░ 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 

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


рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯрдЕрдк


рдпрд╣рд╛рдВ рдореИрдВ рд▓рд┐рдирдХреНрд╕ рд░рд╛рдЙрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдорд┐рдХрд░реЛрдЯрд┐рдХ / рд╕рд┐рд╕реНрдХреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдФрд░ рднреА рд╕рд░рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, 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; } 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдХрд░реНрдиреЗрд▓ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдирдВрдмрд░ 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 

рдЬреЛ рдХреБрдЫ рднреА рд╢реЗрд╖ рд╣реИ рд╡рд╣ рд░рд╛рдЙрдЯрд░ рдкрд░ рдбреАрдПрдЪрд╕реАрдкреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рд╕реБрд░рдВрдЧ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдбреАрдПрдирдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рд╣реЛред


рдХрдорд┐рдпреЛрдВ


рдбреЛрдореЗрди рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде, youtube.com рдФрд░ рдЗрд╕рдХреЗ CDN рдЗрд╕рдореЗрдВ рдЖрддреЗ рд╣реИрдВред


рдФрд░ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╡реАрдбрд┐рдпреЛ рд╡реАрдкреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ, рдЬреЛ рдкреВрд░реЗ рдЪреИрдирд▓ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдЙрди рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдкрд╡рд╛рдж рдбреЛрдореЗрди рдХреА рд╕реВрдЪреА рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ ILV рдореЗрдВ рдЗрд╕ рд╕рдордп рдЕрд╡рд░реБрджреНрдз рд╣реИрдВред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдЫреЛрдбрд╝ рджреЗрдВред


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


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


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


рд▓реЗрдХрд┐рди рддрд╛рд▓реЗ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


рдкрд░рд┐рд╡рд░реНрдзрди, рд╕рдВрдкрд╛рджрди, рдкреБрд▓-рдХреНрд╡реИрд╕реНрдЯ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

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


All Articles