แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— ILV แƒ‘แƒšแƒแƒ™แƒ˜แƒ แƒ”แƒ‘แƒ DNSTAp-แƒ˜แƒ— แƒ“แƒ BGP-แƒ˜แƒ—

แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— ILV แƒ‘แƒšแƒแƒ™แƒ˜แƒ แƒ”แƒ‘แƒ DNSTAp-แƒ˜แƒ— แƒ“แƒ BGP-แƒ˜แƒ—

แƒ”แƒก แƒ—แƒ”แƒ›แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒแƒคแƒฃแƒญแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ•แƒ˜แƒชแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒฅ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก IP แƒœแƒแƒฌแƒ˜แƒšแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒก.

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒกแƒแƒกแƒแƒ›แƒแƒ แƒ—แƒšแƒแƒ”แƒ‘แƒ˜ แƒ“แƒ RKN แƒ‘แƒšแƒแƒ™แƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ• แƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ•, แƒฎแƒแƒšแƒ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ”แƒœ แƒแƒ  แƒ›แƒแƒฎแƒ•แƒ“แƒœแƒ”แƒœ Revizorro-แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒฏแƒแƒ แƒ˜แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ, แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ–แƒแƒ แƒแƒšแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜แƒ. แƒ“แƒ "แƒ™แƒแƒœแƒแƒœแƒ˜แƒ”แƒ แƒแƒ“" แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ (แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ, rutracker)

แƒ›แƒ” แƒ•แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘ RKN-แƒ˜แƒก แƒ˜แƒฃแƒ แƒ˜แƒกแƒ“แƒ˜แƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ”แƒ›แƒ˜ แƒ›แƒจแƒแƒ‘แƒšแƒ”แƒ‘แƒ˜, แƒœแƒแƒ—แƒ”แƒกแƒแƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ”แƒ’แƒแƒ‘แƒ แƒ”แƒ‘แƒ˜ แƒกแƒแƒฎแƒšแƒจแƒ˜ แƒ“แƒแƒ แƒฉแƒœแƒ”แƒœ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ’แƒแƒ“แƒแƒฌแƒงแƒ“แƒ, แƒ’แƒแƒ›แƒแƒ”แƒ’แƒแƒœแƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒ–แƒ IT-แƒ˜แƒกแƒ’แƒแƒœ แƒจแƒแƒ แƒก แƒ›แƒงแƒแƒคแƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ—แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ, แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒ›แƒแƒ—แƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒแƒ› แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜ แƒ›แƒ” แƒแƒ  แƒแƒฆแƒ•แƒฌแƒ”แƒ  แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒก แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฆแƒ•แƒฌแƒ”แƒ  แƒ–แƒแƒ’แƒแƒ“ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ› แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒชแƒแƒ“แƒœแƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒฅแƒกแƒ”แƒšแƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ“แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“ Linux-แƒจแƒ˜, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒ”แƒ‘แƒ˜

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒแƒแƒฎแƒšแƒแƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒช แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒšแƒ˜แƒ.

RKN-แƒ“แƒแƒœ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒš XML-แƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒขแƒ˜แƒžแƒ˜แƒก แƒกแƒแƒ™แƒ”แƒขแƒ˜:

  • IP
  • แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก
  • URL

แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ— แƒแƒ แƒแƒ›แƒ“แƒ” แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ—: IP-แƒก แƒ“แƒ แƒ“แƒแƒ›แƒ”แƒœแƒก, แƒ“แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœแƒ— แƒ“แƒแƒ›แƒ”แƒœแƒก URL-แƒ˜แƒ— แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒกแƒ’แƒแƒœ (แƒฃแƒคแƒ แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“, แƒ›แƒแƒ— แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก).

แƒ™แƒแƒ แƒ’แƒ˜ แƒฎแƒแƒšแƒฎแƒ˜แƒ“แƒแƒœ แƒ แƒแƒกแƒ™แƒแƒ›แƒกแƒ•แƒแƒ‘แƒแƒ“แƒ แƒ›แƒ˜แƒฎแƒ•แƒ“แƒ แƒ›แƒจแƒ•แƒ”แƒœแƒ˜แƒ”แƒ แƒ˜ API, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ˜แƒก, แƒ แƒแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ:

แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ–แƒ”

แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒแƒขแƒแƒ แƒ แƒฃแƒชแƒฎแƒแƒฃแƒ แƒ˜ VPS, แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ แƒจแƒ”แƒฃแƒ–แƒฆแƒฃแƒ“แƒแƒ•แƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒ— - แƒแƒกแƒ”แƒ—แƒ˜ แƒ‘แƒ”แƒ•แƒ แƒ˜แƒ 3-5 แƒ“แƒแƒšแƒแƒ แƒแƒ“. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฌแƒแƒ˜แƒฆแƒแƒ— แƒ˜แƒ’แƒ˜ แƒแƒฎแƒšแƒ แƒกแƒแƒ–แƒฆแƒ•แƒแƒ แƒ’แƒแƒ แƒ”แƒ— แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒžแƒ˜แƒœแƒ’แƒ˜ แƒแƒ  แƒ˜แƒงแƒแƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒ˜แƒ“แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜ แƒ“แƒ แƒ’แƒ”แƒแƒ’แƒ แƒแƒคแƒ˜แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก. แƒ“แƒ แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก SLA 5 แƒ“แƒแƒšแƒแƒ แƒแƒ“, แƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ˜แƒ แƒแƒ˜แƒฆแƒแƒ— 2+ แƒชแƒแƒšแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— แƒ“แƒแƒจแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ˜แƒ แƒแƒ‘แƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜แƒ“แƒแƒœ VPS-แƒ›แƒ“แƒ”. แƒ›แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ Wireguard-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒฅแƒ•แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ Linux-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ (APU2 แƒแƒœ แƒ แƒแƒฆแƒแƒช OpenWRT-แƒจแƒ˜). แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ Mikrotik / Cisco-แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ›แƒแƒ—แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ OpenVPN แƒ“แƒ GRE-over-IPSEC.

แƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ—แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ

แƒ—แƒฅแƒ•แƒ”แƒœ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒข แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒฃแƒชแƒฎแƒ แƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒจแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ›, แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ™แƒแƒœแƒขแƒ”แƒœแƒขแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ“แƒ˜แƒ“แƒแƒ“ แƒ“แƒแƒ–แƒแƒ แƒแƒšแƒ“แƒ”แƒ‘แƒ. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, VPS-แƒ–แƒ” แƒ’แƒแƒ›แƒขแƒแƒ แƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ’แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ.

แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒ›แƒ” แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒ— แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ— แƒ’แƒ•แƒ˜แƒ แƒแƒ‘แƒจแƒ˜. แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ—แƒฃ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ "แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜" แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ˜แƒฅ แƒ›แƒแƒฎแƒ•แƒ“แƒ”แƒ‘แƒ, แƒ”แƒก แƒ›แƒแƒ˜แƒœแƒช แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ’แƒแƒขแƒแƒ แƒ”แƒ‘แƒ แƒ’แƒ•แƒ˜แƒ แƒแƒ‘แƒจแƒ˜.

แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒกแƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— BGP แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ— แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ”แƒ‘แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ แƒฉแƒ•แƒ”แƒœแƒ˜ VPS-แƒ“แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒแƒ›แƒ“แƒ”. แƒแƒ•แƒ˜แƒฆแƒแƒ— BIRD, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ BGP แƒ“แƒ”แƒ›แƒแƒœแƒ˜.

IP

IP-แƒ˜แƒ— แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ: แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš IP-แƒก VPS-แƒ˜แƒ—. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒ˜แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 600 แƒแƒ—แƒแƒกแƒ˜ แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช API แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒฃแƒ›แƒ แƒแƒ•แƒšแƒ”แƒกแƒแƒ‘แƒ แƒแƒ แƒ˜แƒก /32 แƒฐแƒแƒกแƒขแƒ˜. แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ› แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒ› แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒแƒ‘แƒœแƒ˜แƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒฃแƒกแƒขแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜.

แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒกแƒ˜แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ’แƒแƒ“แƒแƒฌแƒงแƒ“แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก / 24-แƒ›แƒ“แƒ” แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ›แƒแƒก แƒแƒฅแƒ•แƒก 2 แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒฐแƒแƒกแƒขแƒ˜. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ ~100 แƒแƒ—แƒแƒกแƒแƒ›แƒ“แƒ” แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ. แƒแƒ›แƒ˜แƒก แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜ แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ.

Domains

แƒ”แƒก แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ’แƒแƒ›แƒญแƒ•แƒ˜แƒ แƒ•แƒแƒšแƒ” Squid แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒฉแƒแƒแƒขแƒแƒ แƒแƒ— HTTP แƒฉแƒแƒ แƒ”แƒ•แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒแƒ— TLS แƒฎแƒ”แƒšแƒฉแƒแƒกแƒแƒญแƒ˜แƒ›แƒก, แƒ แƒแƒ—แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ URL แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒ›แƒ”แƒœแƒ˜ SNI-แƒ“แƒแƒœ แƒ›แƒ”แƒแƒ แƒ”แƒจแƒ˜.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ TLS1.3 + eSNI-แƒ˜แƒก แƒ’แƒแƒ›แƒ, HTTPS แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜ แƒกแƒฃแƒš แƒฃแƒคแƒ แƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒงแƒแƒ•แƒ”แƒšแƒ“แƒฆแƒ”. แƒ“แƒ˜แƒแƒฎ, แƒ“แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ - แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› OpenWRT.

แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ›แƒ” แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒแƒ•แƒ˜แƒฆแƒ DNS แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒ’แƒ–แƒ. แƒแƒฅแƒแƒช, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ DNS-over-TLS / HTTPS แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ—แƒแƒ•แƒ–แƒ” แƒขแƒ แƒ˜แƒแƒšแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ (แƒแƒ›แƒŸแƒแƒ›แƒแƒ“) แƒ’แƒแƒ•แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒ”แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ–แƒ” - แƒแƒœ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒ˜แƒ’แƒ˜ แƒแƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ DoT/DoH-แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ แƒแƒ’แƒแƒ  แƒฉแƒแƒ•แƒญแƒ แƒแƒ— DNS?

แƒแƒฅแƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ.

  • DNS แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒฉแƒแƒ แƒ”แƒ•แƒ PCAP แƒแƒœ NFLOG-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—
    แƒฉแƒแƒ แƒ”แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒ•แƒ” แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒจแƒ˜ แƒกแƒ˜แƒ“แƒ›แƒแƒข. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒแƒœแƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒžแƒ แƒ˜แƒ›แƒ˜แƒขแƒ˜แƒฃแƒšแƒ˜แƒ, แƒแƒกแƒ” แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒฆแƒ™แƒแƒ–แƒ›แƒฃแƒšแƒแƒ‘แƒ.
  • DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜
    แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒฉแƒ”แƒ›แƒ—แƒ•แƒ˜แƒก แƒชแƒœแƒแƒ‘แƒ˜แƒš แƒ แƒ”แƒ™แƒฃแƒ แƒกแƒแƒ แƒ”แƒ‘แƒก แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒ. แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜แƒ, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ“แƒแƒฌแƒ”แƒ แƒ.
  • DNSTap
    แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก DNSTap แƒแƒ› แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—.

แƒ แƒ แƒแƒ แƒ˜แƒก DNSTap?

แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— ILV แƒ‘แƒšแƒแƒ™แƒ˜แƒ แƒ”แƒ‘แƒ DNSTAp-แƒ˜แƒ— แƒ“แƒ BGP-แƒ˜แƒ—

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒข-แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒคแƒ แƒ”แƒ˜แƒ› แƒกแƒขแƒ แƒ˜แƒ›แƒ”แƒ‘แƒ–แƒ”, DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ DNS แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒแƒขแƒแƒœแƒแƒ“. แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“, DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก (แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜/แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก IP แƒ“แƒ แƒ.แƒจ.) แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒกแƒ แƒฃแƒš DNS แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒก (แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜) แƒคแƒแƒ แƒ›แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒแƒ—แƒ—แƒแƒœ แƒฅแƒกแƒ”แƒšแƒจแƒ˜.

แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒ’แƒ•แƒ”แƒกแƒ›แƒแƒ“แƒ”แƒก, แƒ แƒแƒ› DNSTap แƒžแƒแƒ แƒแƒ“แƒ˜แƒ’แƒ›แƒแƒจแƒ˜, DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜, แƒฎแƒแƒšแƒ แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒแƒœแƒ”แƒ แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜. แƒแƒœแƒฃ DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฃแƒ”แƒ แƒ—แƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒšแƒ”แƒฅแƒขแƒแƒ แƒก แƒ“แƒ แƒแƒ แƒ แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—.

แƒ“แƒฆแƒ”แƒก DNSTap แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒ›แƒแƒ’แƒ แƒแƒ›, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, BIND แƒ‘แƒ”แƒ•แƒ  แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒแƒจแƒ˜ (แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Ubuntu LTS) แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒกแƒ” แƒ แƒแƒ›, แƒœแƒฃ แƒจแƒ”แƒ•แƒ˜แƒฌแƒฃแƒฎแƒ”แƒ‘แƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒแƒฌแƒงแƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒฃแƒคแƒ แƒ แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜ แƒ“แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ แƒ”แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜ - Unbound.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒญแƒ˜แƒ แƒแƒ— DNSTap?

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒœแƒแƒ›แƒ”แƒ แƒ˜ CLI แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ”แƒ‘แƒ˜ DNSTap แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ›แƒ” แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ” แƒ’แƒแƒ›แƒแƒ›แƒ”แƒ’แƒแƒœแƒ แƒฉแƒ”แƒ›แƒ˜ แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ: dnstap-bgp

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜:

  • แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ˜แƒก แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒแƒก แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ, แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒแƒ— (habr.com -> com.habr), แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒแƒ•แƒก แƒ’แƒแƒขแƒ”แƒฎแƒ˜แƒš แƒฎแƒแƒ–แƒ”แƒ‘แƒก, แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒฅแƒ•แƒ”แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒก (แƒ›แƒแƒ’., แƒ—แƒฃ โ€‹โ€‹แƒกแƒ˜แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก habr.com แƒ“แƒ www.habr.com, แƒ˜แƒก แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜) แƒ“แƒ แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒก แƒฎแƒ”แƒก แƒแƒ› แƒกแƒ˜แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช DNSTap แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒ˜แƒก แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ. แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ แƒแƒ’แƒแƒ แƒช UNIX, แƒแƒกแƒ”แƒ•แƒ” TCP แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒ•แƒ˜แƒชแƒ˜, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ UNIX แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ.
  • แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ DNSTap แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒฏแƒ”แƒ  แƒ“แƒ”แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ Protobuf แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ DNS แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก Protobuf-แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ•แƒ”แƒšแƒจแƒ˜, แƒแƒœแƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ DNS RR แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”.
  • แƒ›แƒแƒฌแƒ›แƒ“แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ แƒฐแƒแƒกแƒขแƒ˜ (แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒ˜) แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒš แƒกแƒ˜แƒแƒจแƒ˜, แƒ—แƒฃ แƒแƒ แƒ, แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ˜แƒ’แƒœแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.
  • แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒ“แƒแƒœ แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ A/AAAA/CNAME RR แƒ“แƒ แƒ›แƒแƒ—แƒ’แƒแƒœ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ IPv4/IPv6 แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜
  • IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ TTL-แƒ˜แƒ— แƒ“แƒ แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ BGP แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒฃแƒ™แƒ•แƒ” แƒฅแƒ”แƒจแƒ”แƒ‘แƒฃแƒš IP-แƒ–แƒ”, แƒ›แƒ˜แƒกแƒ˜ TTL แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒ‘แƒ
  • TTL แƒ•แƒแƒ“แƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฅแƒ”แƒจแƒ˜แƒ“แƒแƒœ แƒ“แƒ BGP แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ:

  • แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ SIGHUP-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ 
  • แƒฅแƒ”แƒจแƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒจแƒ˜ dnstap-bgp HTTP/JSON-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—
  • แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒฅแƒ”แƒจแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” (BoltDB แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜), แƒ แƒแƒ—แƒ แƒแƒฆแƒแƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’
  • แƒกแƒฎแƒ•แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ (แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒ”แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜)
  • IPv6 แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ

แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜:

  • IDN แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜
  • แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” BGP แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜

แƒจแƒ”แƒ•แƒแƒ’แƒ แƒแƒ•แƒ” RPM แƒ“แƒ DEB แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฃแƒœแƒ“แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒฃแƒแƒฎแƒšแƒ”แƒก OS-แƒ–แƒ” systemd-แƒ˜แƒ—. แƒ›แƒแƒ— แƒแƒ  แƒแƒฅแƒ•แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ.

แƒกแƒฅแƒ”แƒ›แƒ

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ“ แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒขแƒแƒžแƒแƒšแƒแƒ’แƒ˜แƒ:
แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— ILV แƒ‘แƒšแƒแƒ™แƒ˜แƒ แƒ”แƒ‘แƒ DNSTAp-แƒ˜แƒ— แƒ“แƒ BGP-แƒ˜แƒ—

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ, แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ“แƒแƒœ:

  • แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก แƒแƒฅแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช DNS แƒ“แƒ DNS แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒก VPN-แƒ–แƒ”. แƒ”แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ›แƒ แƒ•แƒ”แƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก DNS แƒฉแƒแƒ แƒ”แƒ•แƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒกแƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก DNS แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ โ€žแƒ แƒ แƒแƒ แƒ˜แƒก xxx.org-แƒ˜แƒก IP-แƒ”แƒ‘แƒ˜โ€œ
  • unbound แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒก xxx.org-แƒก (แƒแƒœ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒก แƒฅแƒ”แƒจแƒ˜แƒ“แƒแƒœ) แƒ“แƒ แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก: โ€žxxx.org-แƒก แƒแƒฅแƒ•แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ“แƒ แƒแƒกแƒ”แƒ—แƒ˜ IPโ€œ, แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒก แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ DNSTap-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.
  • dnstap-bgp แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒก แƒแƒ› แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒก แƒฅ BIRD BGP-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฃ แƒ“แƒแƒ›แƒ”แƒœแƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš แƒกแƒ˜แƒแƒจแƒ˜แƒ
  • BIRD แƒ แƒ”แƒ™แƒšแƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒก แƒแƒ› IP-แƒ”แƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ next-hop self แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜
  • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒแƒ› IP-แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ’แƒแƒ“แƒ˜แƒก แƒ’แƒ•แƒ˜แƒ แƒแƒ‘แƒจแƒ˜

แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”, แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ˜แƒš แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ–แƒ” แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒชแƒแƒšแƒ™แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒก BIRD-แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ“แƒ แƒ˜แƒก แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒ™แƒ•แƒ”แƒ—แƒก OS-แƒก.

แƒแƒ› แƒกแƒฅแƒ”แƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒœแƒแƒ™แƒšแƒ˜: แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒกแƒ’แƒแƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒš SYN แƒžแƒแƒ™แƒ”แƒขแƒก, แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ, แƒ แƒแƒ› แƒ“แƒแƒขแƒแƒ•แƒแƒก แƒจแƒ˜แƒ“แƒ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ“แƒ แƒแƒฅ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒแƒก. แƒ—แƒฃ แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฉแƒแƒ›แƒแƒแƒ’แƒ“แƒ”แƒ‘แƒก แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒ  แƒแƒ แƒ˜แƒก. แƒ“แƒ แƒ—แƒฃ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— DPI-แƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ (แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“) แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜.

แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ›แƒ แƒแƒ  แƒกแƒชแƒ”แƒœ แƒžแƒแƒขแƒ˜แƒ•แƒก DNS TTL แƒกแƒแƒกแƒฌแƒแƒฃแƒšแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ›แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒ›แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ›แƒžแƒแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ“แƒแƒœ, Unbound-แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“.

แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒแƒ แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒก แƒ“แƒ แƒแƒ แƒช แƒ›แƒ”แƒแƒ แƒ”แƒก แƒแƒ  แƒจแƒ”แƒฃแƒฅแƒ›แƒœแƒ˜แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ‘แƒ”แƒœแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก.

แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ”แƒ•แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ” แƒ แƒแƒšแƒ˜ แƒแƒœแƒกแƒ˜แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ Linux-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ (แƒ’แƒแƒœแƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜แƒ deb-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒจแƒ™แƒแƒ แƒแƒ แƒ“แƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒœแƒ•แƒ”แƒœแƒขแƒแƒ แƒ˜.yml. แƒ”แƒก แƒ แƒแƒšแƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒ”แƒ›แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ˜แƒ“แƒแƒœ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ“แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒก - แƒ’แƒแƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒแƒ’แƒ”แƒกแƒแƒšแƒ›แƒ”แƒ‘แƒ˜แƒ— ๐Ÿ™‚

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ˜แƒแƒ แƒแƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜.

BGP

แƒแƒ แƒ˜ BGP แƒ“แƒ”แƒ›แƒแƒœแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒฐแƒแƒกแƒขแƒ–แƒ” แƒแƒฅแƒ•แƒก แƒคแƒฃแƒœแƒ“แƒแƒ›แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ: BIRD-แƒก แƒแƒ  แƒกแƒฃแƒ แƒก BGP peering-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒšแƒแƒ™แƒแƒšแƒฐแƒแƒกแƒขแƒ—แƒแƒœ (แƒแƒœ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒšแƒแƒ™แƒแƒšแƒฃแƒ  แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ—แƒแƒœ). แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒ“แƒแƒœ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“. แƒ’แƒฃแƒ’แƒšแƒ˜แƒœแƒ’แƒ›แƒ แƒ“แƒ แƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ› แƒแƒ  แƒฃแƒจแƒ•แƒ”แƒšแƒ, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ”แƒœ, แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒ—. แƒแƒšแƒ‘แƒแƒ— แƒแƒ แƒ˜แƒก แƒ แƒแƒฆแƒแƒช แƒ’แƒ–แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ”.

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒชแƒแƒ“แƒแƒ— แƒกแƒฎแƒ•แƒ BGP แƒ“แƒ”แƒ›แƒแƒœแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ” แƒ›แƒแƒ›แƒฌแƒแƒœแƒก BIRD แƒ“แƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฉแƒ”แƒ›แƒก แƒ›แƒ˜แƒ”แƒ , แƒแƒ  แƒ›แƒ˜แƒœแƒ“แƒ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ—แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ.

แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ›แƒ” แƒ“แƒแƒ•แƒ›แƒแƒšแƒ” dnstap-bgp แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ root-แƒ—แƒแƒœ veth แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—: แƒ˜แƒก แƒฐแƒ’แƒแƒ•แƒก แƒ›แƒ˜แƒšแƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒแƒ› แƒ‘แƒแƒšแƒแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒ— แƒ™แƒ”แƒ แƒซแƒ p2p IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ  แƒกแƒชแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ˜แƒแƒœ แƒฐแƒแƒกแƒขแƒก, แƒแƒกแƒ” แƒ แƒแƒ›, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒก แƒฃแƒงแƒ•แƒแƒ แƒก แƒ“แƒแƒ™แƒ”แƒ แƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜.

แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒฌแƒ”แƒ แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ“แƒ dnstap-bgp-แƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒฃแƒ™แƒ•แƒ” แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒแƒ‘แƒ แƒ—แƒ›แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒกแƒแƒขแƒแƒœแƒแƒ“ แƒกแƒฎแƒ•แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช root แƒแƒœ แƒ’แƒแƒ˜แƒชแƒ”แƒก CAP_SYS_ADMIN แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒจแƒ˜ setcap แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—.

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“

#!/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",
]

แƒฉแƒ˜แƒขแƒ˜.แƒ™แƒแƒœแƒค

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-แƒจแƒ˜ Unbound แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ AppArmor แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ™แƒ แƒซแƒแƒšแƒแƒ•แƒก แƒ›แƒแƒก แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก DNSTap แƒกแƒแƒ™แƒ”แƒขแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒœ แƒฌแƒแƒจแƒแƒšแƒแƒ— แƒ”แƒก แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜, แƒแƒœ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ—:

# cd /etc/apparmor.d/disable && ln -s ../usr.sbin.unbound .
# apparmor_parser -R /etc/apparmor.d/usr.sbin.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. In แƒแƒ  แƒ“แƒแƒแƒ›แƒแƒขแƒ ะธ แƒœแƒฃ_แƒจแƒ”แƒแƒฏแƒแƒ›แƒ”แƒ‘ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒ—แƒฎแƒ แƒแƒ— IP-แƒ”แƒ‘แƒก แƒ“แƒ แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒแƒœ แƒแƒœ แƒแƒ  แƒจแƒ”แƒแƒฏแƒแƒ›แƒแƒœ. แƒ›แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ. แƒฉแƒ”แƒ›แƒ˜ VPS-แƒ˜แƒก แƒฅแƒ•แƒ”แƒฅแƒกแƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒ‘แƒšแƒแƒ™ แƒกแƒ˜แƒแƒจแƒ˜ ๐Ÿ™‚

แƒกแƒแƒกแƒแƒชแƒ˜แƒšแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› RosKomSvoboda API แƒ‘แƒšแƒแƒ™แƒแƒ•แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ Python แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒแƒ’แƒ”แƒœแƒขแƒ˜แƒ—. แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ›แƒ แƒ”แƒก แƒ’แƒแƒ˜แƒ’แƒ. แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒแƒ’แƒœแƒ”แƒšแƒก.

แƒฏแƒ”แƒ แƒฏแƒ”แƒ แƒแƒ‘แƒ˜แƒ—, แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ 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.list) แƒคแƒ แƒ˜แƒœแƒ•แƒ”แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— 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

แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒคแƒ˜แƒฅแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒแƒกแƒ” แƒ แƒแƒ›, แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒ แƒแƒ˜แƒ›แƒ”แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒแƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ - แƒฌแƒแƒ“แƒ˜แƒ—.

แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒแƒฅ แƒ›แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒก Linux แƒ แƒแƒฃแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› Mikrotik / Cisco-แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ”แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— BIRD:

แƒฉแƒ˜แƒขแƒ˜.แƒ™แƒแƒœแƒค

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

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒฉแƒ”แƒ‘แƒ DHCP-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ แƒแƒฃแƒขแƒ”แƒ แƒ–แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒ•แƒ˜แƒ แƒแƒ‘แƒ˜แƒก IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก DNS-แƒแƒ“ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒกแƒฅแƒ”แƒ›แƒ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก.

แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜

แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜แƒ—, แƒ˜แƒ’แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก, แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, youtube.com แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ CDN-แƒ”แƒ‘แƒ˜.

แƒ“แƒ แƒ”แƒก แƒ›แƒ˜แƒ•แƒงแƒแƒ•แƒแƒ แƒ— แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ•แƒ˜แƒ“แƒ”แƒ แƒ’แƒแƒ˜แƒ•แƒšแƒ˜แƒก VPN-แƒ˜แƒ—, แƒ แƒแƒ›แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒแƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒแƒ แƒฎแƒ˜. แƒแƒšแƒ‘แƒแƒ—, แƒฆแƒ˜แƒ แƒก แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ-แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ‘แƒšแƒแƒ™แƒแƒ•แƒก RKN-แƒก แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒœแƒแƒฌแƒšแƒแƒ•แƒ”แƒ‘แƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜แƒ. แƒ“แƒ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒแƒก.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ”แƒœ แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜.

แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, dnstap-bgp แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒแƒœแƒ” แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”. แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒก แƒ“แƒ แƒแƒจแƒ˜ แƒแƒ—แƒแƒก แƒกแƒแƒ˜แƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ™แƒ˜แƒ“แƒแƒก แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ Cloudflare-แƒ˜แƒก แƒฃแƒ™แƒแƒœ), แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒ› แƒ›แƒ”แƒ—แƒแƒ“แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒกแƒ˜แƒ–แƒฃแƒกแƒขแƒ” แƒแƒฅแƒ•แƒก.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—, แƒ”แƒก แƒกแƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ - แƒ›แƒแƒ’แƒ”แƒกแƒแƒšแƒ›แƒ”แƒ‘แƒ˜แƒ—!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ