áá±á«ááºážá
ááºá áá±á¬áºáá±á¬áºááá¯ááºáá¬áá² áááááºá á¥ááᬠáá
áºáá¯ááŸááá±ážáááºá
ááá¬ážáá¯á¶ážáá»á¬ážááŸáá·áº RKN ááá¯á·ááẠáá¬áááºááŸáá·áº áááºáááºá¡áá¬á¡á¬ážáá¯á¶ážááᯠááááºááá¯á·áá¬ážááŒá®ážá áááºáá±á¬ááºááŸá¯áá±ážáá°áá»á¬ážááẠRevizorro ááŸáá¯ááºáá±ážáá±á¬ áááºááŒá±ážáá»á¬ážá¡á±á¬ááºááœáẠááá»áá±á¬ááºá á±ááẠááŒááºážááŒááºážáááºááẠááŒáá¯ážáááºážáá±ááŒááºážááŒá±á¬áá·áºá ááááºááá¯á·ááŒááºážá០áááºá ááºáá¯á¶ážááŸá¯á¶ážááŸá¯ááẠá¡ááœááºááŒá®ážáá¬ážáá«áááºá "ááá¬ážáááºááááºááá¯á·áá¬ážáá±á¬" ááá¯ááºáá»á¬ážááŒá¬ážááœáẠá¡áá¯á¶ážáááºááá·áºá¡áá¬áá»á¬ážá áœá¬ááŸáááẠ(áááºá¹ááá¬áá« rutracker)
áá»áœááºá¯ááºááẠRKN áááá¬ážá á®áááºááá¯ááºááœáá·áºááŒááºáááœááºáá±ááá¯ááºáá±á¬áºáááºážá áá»áœááºá¯ááºáááááá»á¬ážá ááœá±áá»áá¯ážáá»á¬ážááŸáá·áºáá°áááºáá»ááºážáá»á¬ážáááºá¡áááºááœááºáá»ááºáá áºáá²á·áááºá ááá¯á·ááŒá±á¬áá·áº á¡áá¯ááºáá®ááŸáá·áºáá±ážáá±áá°áá»á¬ážá¡ááœáẠááœááºáá°áá±á¬áááºážáááºážááŒáá·áº ááááºááá¯á·ááŒááºážáá»á¬ážááᯠáá»á±á¬áºááœáŸá¬ážááá¯ááºá á±áááºá ááŒá áºááá¯ááºááẠáááºážááá¯á·ááá«áááºááŸá¯áá¯á¶ážááááŸááá² áá¯ááºáá±á¬ááºááẠáá¯á¶ážááŒááºáá²á·áááºá
á€ááŸááºá á¯ááœááºá á¡ááŒá±áá¶ááœááºáááºá¡áá¬áá»á¬ážááᯠá¡ááá·áºááá·áºáá±á¬áºááŒáááºááá¯ááºáá±á¬áºáááºáž á€á¡á á®á¡á ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºáá¯á¶á áá±áá°áá»á¡ááŒá±áá¶áá°áá»á¬ážááᯠáá±á¬áºááŒáá«áááºá ááá¯á·ááŒá±á¬áá·áº ááœááºáááºááẠáá±áá°áá»ááŸáá·áº á¡áá°ážáááŒáá·áº Linux ááœáẠáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááᯠá¡ááááá¬ááŸáááẠááá¯á¡ááºáá«áááºá
áá±á¬á·áááºá¡áá»áá¯ážá¡á á¬ážáá»á¬áž
áŠážá áœá¬á ááááºááá¯á·áá±ááá·áºá¡áá¬áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·áááŸááºáá¬ááºááᯠááŒááºáááºáááºážáá áºááŒáá«á áá¯á·á
RKN á០unloaded XML ááœááºáá±á¬á·ááá±á¬ááºáá»á¬ážá áœá¬ááŸááááº-
- IP
- ÐПЌеМ
- URL ááá¯
ááá¯ážááŸááºážá á±áááºá¡ááœááºá áááºážááá¯á·ááᯠIP ááŸáá·áº domain ááŸá áºáá¯ááá¯á· áá»áŸá±á¬á·áá»áááºááŒá áºááŒá®ážá URL ááŒáá·áº ááááºááá¯á·ááŒááºážá០ááá¯ááááºážááᯠááá¯ážááŸááºážá áœá¬ áááºááŸá¬ážááá¯ááºááẠ(á¡ááá¡áá»ááŒá±á¬ááá»áŸáẠáááºážááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáá¯ááºáá±á¬ááºáá¬ážááŒá®ážááŒá áºáááº)á
áá°áá±á¬ááºážáá»á¬ážááŸ
- á¡áá¯ááºáá®:
https://api.reserve-rbl.ru/api/v2/ips/json - ááá¯ááááºážáá»á¬áž-
https://api.reserve-rbl.ru/api/v2/domains/json
ááááºááá¯á·áá¬ážáá±á¬ ááá¯ááºáá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áº
áá«ááá¯áá¯ááºááá¯á·á á¡ááá·áºá¡áááºáá²á·á¡ááœá¬ážá¡áá¬áá²á· ááŒá áºááá¯ááºááẠááá¯ááºáá¶ááŒá¬áž VPS áá±ážáá±ážáá±ážááœá± ááá¯á¡ááºáá«ááẠ- 3-5 áá±á«áºáá¬áá²á· áá«ááœá± á¡áá»á¬ážááŒá®ážááŸááááºá ping ááẠá¡ááœááºáááŒá®ážá á±áááºá¡ááœáẠá¡áá®ážáá¬ážááŒááºáááœáẠáá°áá±á¬ááºááœá¬ážáááºááá¯á¡ááºáááºá ááá¯á·áá±á¬áº á¡ááºáá¬áááºááŸáá·áº áááá®áááºááẠá¡ááŒá²áááºáž áááá¯ááºááá¯ááºááŒá±á¬ááºáž ááá·áºááœááºážá ááºážá á¬ážáá«á 5 áá±á«áºáá¬á¡ááœáẠSLA áááŸááá±á¬ááŒá±á¬áá·áºá á¡ááŸá¬ážá¡ááœááºážáá¶ááá¯ááºáááºááŸááááºá¡ááœáẠááá°áá®áá±á¬áááºáá±á¬ááºááŸá¯áá±ážáá°áá»á¬ážáá¶á០2+ á¡ááá¯ááºážááᯠáá°ááŒááºážá ááá¯áá±á¬ááºážáá«áááºá
ááá¯á·áá±á¬ááºá client router á០VPS ááá¯á· áá¯ááºááŸááºáá¬ážáá±á¬ á¥áááºááá¯ááºáá±á«ááºážáá
áºáá¯ááᯠáááºááŸááºááẠááá¯á¡ááºáááºá áá»áœááºá¯ááºááẠWireguard ááᯠá
áá
áºááá·áºááœááºážááẠá¡ááŒááºáááºáá¯á¶ážááŸáá·áº á¡ááœááºáá°áá¯á¶ážá¡ááŒá
Ạá¡áá¯á¶ážááŒá¯áá«áááºá áá«á·ááŸá¬ Linux ááá¯á¡ááŒá±áá¶áá²á· client router ááœá±ááŸáááẠ(
á áááºáá«áááºá á¬ážáá±á¬ á¡ááœá¬ážá¡áá¬áá»á¬ážááᯠáá±á¬áºáá¯ááºááŒááºážááŸáá·áº ááŒááºáááºáááºážááœáŸááºááŒááºážá
ááá¯ááºáá¶ááŒá¬ážááá¯ááºážááŒááºáá»á¬ážááŸáááá·áº á¡ááºáá¬áááºá¡ááœá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºááááºáá¬ážááá¯ááºáááºá ááá¯á·áá±á¬áº ááŒá áºááá¯ááºáá»á± á¡áá»á¬ážá á¯ááŸá¬á áá±áááá¯ááºáᬠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá á¡ááŸáááºááẠáááºážá¡ááœáẠáá»á¬ážá áœá¬ áá áºáá¬áááá·áºááẠááŒá áºáááºá ááá¯á·á¡ááŒááºá VPS ááŸá bandwidth ááá¯á¡ááºáá»ááºáá»á¬ážááẠááá¯á ááŒáá·áºáá¬ážáááá·áºáááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááœá¬ážá¡áá¬áá»á¬ážááᯠááááºááá¯á·áá¬ážáá±á¬ááá¯ááºáá»á¬ážááá¯á· áá áºáááºážáááºážááŒáá·áº ááœá²áá±áá±ážáᬠáááºážá¡á¬áž á¥áááºááá¯ááºáá±á«ááºážááá¯á· ááœá±ážáá»ááºááá¯á·áá±á¬ááºááẠááá¯á¡ááºáá«áááºá "á¡ááá¯" á¡ááœá¬ážá¡áá¬á¡áá»áá¯á·ááẠááá¯áá±áá¬ááá¯á·áá±á¬ááºáá»áŸááºááẠá¥áááºááá¯ááºáá±á«ááºážááŸáááá·áº á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá±á¬ááºážááŸááºááŒááºážááẠáá»á¬ážá áœá¬áá¬ááœááºáá±ážáááºá
á¡ááœá¬ážá¡áá¬ááᯠá á®áá¶ááá·áºááœá²áááºá áá»áœááºá¯ááºááá¯á·ááẠBGP áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž áá»áœááºá¯ááºááá¯á·á VPS á០áá¯á¶ážá áœá²áá°áá»á¬ážáᶠááá¯á¡ááºáá±á¬ ááœááºáááºáá»á¬ážááá¯á· áááºážááŒá±á¬ááºážáá»á¬ážááᯠááŒá±áá¬áá«áááºá BIRD ááᯠá¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážááŸáá·áº á¡áááºááŒá±áá¯á¶áž BGP daemons áá»á¬ážáá²á០áá áºáá¯á¡ááŒá Ạáá°ááŒáá«á áá¯á·á
IP
IP ááŒáá·áº ááááºááá¯á·ááŒááºážááŒáá·áºá á¡áá¬á¡á¬ážáá¯á¶áž ááŸááºážáá±áááº- áá»áœááºá¯ááºááá¯á·ááẠááááºááá¯á·áá¬ážáá±á¬ IP á¡á¬ážáá¯á¶ážááᯠVPS ááŒáá·áº ááŒá±áá¬áá«áááºá ááŒá¿áá¬ááŸá¬ API ááŒááºááá¯á·ááá·áºá á¬áááºážááœáẠsubnet 600 ááá·áºááŸáááŒá®áž á¡áá»á¬ážá á¯ááŸá¬ /32 host áá»á¬ážááŒá áºáááºá á€áááºážááŒá±á¬ááºážá¡áá±á¡ááœááºááẠá¡á¬ážáááºážáá±á¬ client router áá»á¬ážááᯠááŸá¯ááºááœá±ážá á±ááá¯ááºáááºá
ááá¯á·ááŒá±á¬áá·áºá á á¬áááºážááá¯áá¯ááºáá±á¬ááºáá±á¬á¡áá«á áááºážááœáẠhost 24 áᯠááá¯á·ááá¯áẠááá¯á·áááºááá¯áá«á network / 2 á¡ááá¡áá»ááºážáá»á¯ááºáááºáá¯á¶ážááŒááºáá²á·áááºá ááá¯á·ááŒá±á¬áá·áº áááºážááŒá±á¬ááºáž á¡áá±á¡ááœáẠ100 ááá¯á· áá»áŸá±á¬á·áá»áá²á·áááºá á€á¡ááœáẠáá¬ááºááœáŸááºážááẠááá¯ááºáá¬áá«áááºá
ááá¯ááááºážáá»á¬áž
ááá¯ááŸá¯ááºááœá±ážááŒá®áž áááºážáááºážáá»á¬ážá áœá¬ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáá±á¬ááºááẠrouter áá áºáá¯á á®ááœáẠááœáá·áºáááºážááŒááºáá¬áá±á¬ Squid áá áºáá¯ááᯠáááºáááºááá¯ááºááŒá®áž áááºážááœáẠHTTP ááŒá¬ážááŒááºááá°ááŒá®áž áááááá á¹á ááœáẠáá±á¬ááºážááá¯áá¬ážááá·áº URL ááŸáá·áº áá¯áááááœáẠSNI á០ááá¯ááááºážááᯠááá°áááºá¡ááœáẠTLS ááá¯á· áááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááºá
ááá¯á·áá±á¬áº á¡áá áºá¡áááºážááŒá áºáá±áá±á¬ TLS1.3 + eSNI á¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážááŒá±á¬áá·áº HTTPS ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááẠáá±á·á ááºááŸáá·áºá¡áá»áŸ áááºážáá«ážáá¬áá«áááºá áá¯ááºáá²á·á ááŸáá·áº client áááºá០á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬áž ááá¯ááá¯ááŸá¯ááºááœá±ážáá¬ááẠ- áááºááẠá¡áááºážáá¯á¶áž OpenWRT ááᯠá¡áá¯á¶ážááŒá¯ááááºááŒá áºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá DNS áá±ážááŒááºážááŸá¯áá»á¬ážááᯠááŒá¬ážááŒááºáá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠááŒá¬ážááŒááºáá¯ááºáá±á¬ááºááẠáá¯á¶ážááŒááºáá²á·áááºá á€áá±áá¬ááœááºáááºáž DNS-over-TLS/HTTPS ááẠááá·áºáá±á«ááºážáá±á«áºááœáẠáá»á¶áá²áá¬áááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠá€á¡ááá¯ááºážááᯠclient áá±á«áºááœáẠááááºážáá»á¯ááºááá¯ááºááẠ- áááºážááᯠááááºáá áºááẠááá¯á·ááá¯áẠDoT / DoH á¡ááœáẠááá·áºááá¯ááºááá¯ááºáá¬áá¬ááᯠá¡áá¯á¶ážááŒá¯áá«á
DNS ááá¯áááºááá¯ááŒá¬ážááŒááºááá²á
á€áá±áá¬ááœááºáááºáž áá»ááºážáááºááŸá¯áá»á¬ážá áœá¬ ááŸáááá¯ááºáá«áááºá
- PCAP ááá¯á·ááá¯áẠNFLOG ááŸáááá·áº DNS á¡ááœá¬ážá¡áá¬ááᯠááŒá¬ážááŒááºáá¬ážáá®ážááŒááºážá
á€ááŒá¬ážááŒááºááŒááºážáááºážáááºážááŸá áºáá¯áá¯á¶ážááᯠutility ááœááºá¡áá±á¬ááºá¡áááºáá±á¬áºáááºásidmat . áá«áá±ááá·áº á¡á²áá«ááᯠá¡áá»áááºá¡ááŒá¬ááŒá®áž áá¶á·ááá¯ážááá±ážáá¬ážáá² áá¯ááºáá±á¬ááºáá»ááºá á¡ááœááºááᯠá¡ááŒá±áá¶áá»áá²á·á¡ááœáẠá¡á²áá«á¡ááœáẠááŒáá¯ážáá áºáá»á±á¬ááºážááᯠáá±ážááá¯á· ááá¯á¡ááºáá«áá±ážáááºá - DNS server ááŸááºáááºážáá»á¬ážááᯠáá±á·áá¬ááŒááºážá
áá¶ááá±á¬ááºážá áœá¬áá²á áá»áœááºá¯ááºáááá±á¬ recursors áá»á¬ážááẠáá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠááŸááºáááºážááááºááá¯ááºáá±á¬áºáááºáž áá±á¬ááºážááá¯ááŸá¯áá»á¬ážáá¬ááŒá áºáááºá áá°á¡áá áá±á¬ááºážááá¯áá»ááºáá»á¬ážááŸáá·áºááá°áá²á á¡ááŒá±áá»á¬ážááẠááŸá¯ááºááœá±ážáá±á¬ááœá²á·á ááºážáá¯á¶ááŸáááŒá®áž áááºážááá¯á·ááᯠá á¬áá¬ážáá¯á¶á á¶ááŒáá·áº áá±ážáá¬ážááẠáááºáá²áá±á¬ááŒá±á¬áá·áºá áááºážááẠáá¯áá¹áááá»áá«áááºá DNSTap
áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á áááºážááá¯á·áá²á០á¡áá»á¬ážá¡ááŒá¬ážááẠá€áááºááœááºáá»ááºá¡ááœáẠDNSTap ááᯠáá±á¬ááºáá¶ááŒá®ážááŒá áºáááºá
DNSTap ááá¯áá¬áá¬áá²á
áááºážááẠDNS áá¬áá¬áá áºáá¯á០áááºáá±á¬ááºáá¬ážáá±á¬ DNS áá±ážááŒááºážáá»ááºáá»á¬ážááŸáá·áº áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠá á¯áá±á¬ááºážáá°áᶠááœáŸá²ááŒá±á¬ááºážáááºá¡ááœáẠProtocol Buffers ááŸáá·áº Frame Stream áá»á¬ážá¡áá±á«áº á¡ááŒá±áá¶áá¬ážáá±á¬ client-server protocol áá áºáá¯ááŒá áºáááºá á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá DNS server ááẠquery ááŸáá·áº response metadata ( message á¡áá»áá¯ážá¡á á¬ážá client/server IP á áááº
DNSTap áá«áá¬ááá¯ááºážááœááºá DNS áá¬áá¬ááẠclient áá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒá®áž á á¯áá±á¬ááºážáá°ááẠáá¬áá¬á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒá±á¬ááºáž áá¬ážáááºááẠá¡áá±ážááŒá®ážáá«áááºá ááá¯ááá¯áááºááŸá¬á DNS áá¬áá¬ááẠá á¯áá±á¬ááºážáá°áá¶ááá¯á· áá»áááºáááºááŒá®áž á¡ááŒááºá¡ááŸááºááá¯ááºáá±á
ááá±á· DNSTap ááᯠáá¬áááºááŒá®áž DNS áá¬áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáá¶á·ááá¯ážáá¬ážáá«áááºá ááá¯á·áá±á¬áºá á¥ááá¬á¡á¬ážááŒáá·áºá ááŒáá·áºáá±ááŸá¯áá»á¬ážá áœá¬ááœáẠBIND ( Ubuntu LTS áá²á·ááá¯á·) ááẠáááºážááá¶á·ááá¯ážááŸá¯ááá«áá² á¡ááŒá±á¬ááºážááŒáá»ááºáá áºáá¯áá¯ááŒá±á¬áá·áº áááºáá±á¬ááºáá±á·ááŸááááºá ááá¯á·ááŒá±á¬áá·áº ááŒááºáááºá á¯áá¯á¶ááŒááºážá¡ááœáẠá áááºááááºá á¬ážáá¡á±á¬ááºá áá±á«á·áá«ážááŒá®áž ááá¯ááá¯ááŒááºáááºáá±á¬ recursor - Unbound ááá¯áá°áá«á
DNSTap ááᯠáááºááá¯áááºážááá²á
ááŸááá«áááº
á¡áá¯áẠá¡ááºáááá¯áá®áááº-
- á áááºáá±á¬á¡áá«á áááºážááẠá á¬áá¬ážááá¯ááºáá áºáá¯á០ááá¯ááááºážá á¬áááºážááᯠááœáá·áºááŒá®áž áááºážááá¯á·ááᯠááŒá±á¬ááºážááŒááºááŸááºááŒááºáž (habr.com -> com.habr)á áá»ááºáá±áá±á¬ ááá¯ááºážáá»á¬ážá áááºáá°áá»á¬ážááŸáá·áº ááá¯ááááºážááœá²áá»á¬áž ááá«áááºáá« (ááá¯ááá¯áááºááŸá¬ á á¬áááºážááœáẠhabr.com ááŸáá·áº www.habr.com áá«áá»áŸááºá áááºážááẠááááá áºáá¯áᬠáááºáááá·áºáááº) ááŸáá·áº á€á á¬áááºážááᯠá¡ááŒááºááŸá¬ááœá±áááºá¡ááœáẠááŸá±á·áááºáá áºáááºááᯠáááºáá±á¬ááºáá«á
- DNSTap áá¬áá¬á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº áááºážááẠDNS áá¬áá¬áá áºáá¯á០áá»áááºáááºááŸá¯ááᯠá á±á¬áá·áºáá»áŸá±á¬áºáá±áá«áááºá áá°á¡áá áááºážááẠUNIX ááŸáá·áº TCP socket ááŸá áºáá¯áá¯á¶ážááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºáááá±á¬ DNS áá¬áá¬áá»á¬ážááẠUNIX socket áá»á¬ážááá¯áᬠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
- áááºáá¬áá±á¬ DNSTap áááºáá±á·áá»áºáá»á¬ážááᯠProtobuf áááºáá±á¬ááºáá¯á¶ááœáẠááááŠážá áœá¬ áááºáá¯ááºáá¬ážááŒá®ážá ááá¯á·áá±á¬áẠProtobuf á¡ááœááºáá»á¬ážáá²á០áá áºáá¯ááœááºááŸááá±á¬ binary DNS áááºáá±á·áá»áºááá¯ááºááá¯ááºááᯠDNS RR ááŸááºáááºážá¡ááá·áºááá¯á· ááœá²ááŒááºážá áááºááŒá¬áá¬ážáááºá
- áá±á¬ááºážááá¯áá¬ážáá±á¬á¡áááºááŸáẠ(ááá¯á·ááá¯áẠáááºážááááºáááá¯ááááºáž) ááẠáá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬á á¬áááºážááœáẠááŸáá áááŸá á á áºáá±ážáá¬ážáááºá ááá¯ááºáá«áá áá¯á¶á·ááŒááºááŸá¯ááᯠáá»á áºáá»á°ááŸá¯áá¬ážáááº
- áá¯á¶á·ááŒááºááŸá¯á០A/AAAA/CNAME RR áá»á¬ážááá¯áᬠááœá±ážáá»ááºááŒá®áž áááºááá¯ááºáᬠIPv4/IPv6 ááááºá á¬áá»á¬ážááᯠáááºážááá¯á·áá¶á០áá¯ááºáá°áá«áááºá
- IP ááááºá á¬áá»á¬ážááᯠconfigureable TTL ááŒáá·áº ááááºážáááºážáá¬ážááŒá®áž configure BGP áá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážáᶠááŒá±á¬áºááŒá¬áá¬ážáááºá
- áááºááŸáºáá¯ááºááŒá®ážáá¬áž IP ááᯠââááœáŸááºááŒááá·áº áá¯á¶á·ááŒááºáá»ááºááᯠáááºáá¶áááŸááá±á¬á¡áá«á áááºážá TTL ááᯠááœááºážáá¶áá¬ážáááºá
- TTL áááºáááºážáá¯ááºááŒá®ážáá±á¬ááºá ááá·áºááœááºážááŸá¯ááᯠáááºááŸáºááŸáá·áº BGP ááŒá±áá¬áá»ááºáá»á¬ážá០áááºááŸá¬ážáááºá
á¡ááá¯áá¯ááºáá±á¬ááºáá»ááº-
- SIGHUP á០ááá¯ááááºážáá»á¬ážá á¬áááºážááᯠááŒááºáááºáááºááŸá¯ááŒááºážá
- áááºááŸáºááᯠá¡ááŒá¬ážááŒá áºáááºáá»á¬ážááŸáá·áº áááºáá°ááŒá¯áá¬ážááŒááºážááŒá áºáááºá dnstap-bgp HTTP/JSON ááŸáááá·áº
- ááŒááºáááºá áááºááŒá®ážáá±á¬áẠáááºážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááŒááºáááºááá°ááẠáá áºááºááŸá ( BoltDB áá±áá¬áá±á·á áºááœááº) áááºááŸáºááᯠáááá¹áá°ááœá¬ážáá«á
- ááá°áá®áá±á¬ network namespace ááá¯á·ááŒá±á¬ááºážááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ (áá¬ááŒá±á¬áá·áº ááá¯á¡ááºáááºááᯠá¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáááº)
- IPv6 áá¶á·ááá¯ážááŸá¯
áááºá·áááº:
- IDN ááá¯ááááºážáá»á¬ážááᯠááá¶á·ááá¯ážááá±ážáá«á
- BGP áááºáááºá¡áááºážáááº
á
á¯áá±á¬ááºážáá²á·áááºá
á¡á á®á¡á ááº
áá®áá±á¬á· á¡á
áááºá¡ááá¯ááºážááœá±á¡á¬ážáá¯á¶ážááᯠá
á¯á
ááºážááŒá®áž á
ááá¯ááºáá¡á±á¬ááºá ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá€ááœááºááẠtopology áá²á·ááá¯á·áá±á¬ á¡áá¬áá
áºáá¯ááᯠáááŸáááá·áºáááº-
á¡áá¯ááºá áá¯áá¹áááá±áááẠáá¯á¶ááŒááºážá០ááŸááºážáááºáᯠáááºáá«áááºá
- áá±á¬ááºáááºááẠáá»áœááºá¯ááºááá¯á·ááá¬áá¬ááᯠDNS á¡ááŒá áºáááºááŸááºáá¬ážááŒá®ážá DNS áá±ážááŒááºážááŸá¯áá»á¬ážáááºáááºáž VPN ááá¯áá»á±á¬áºááœá¬ážááá«áááºá ááááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá±ážáá°ááẠDNS ááŒá¬ážááŒááºá¡áá¯á¶ážáááŒá¯ááá¯ááºá á±ááẠáááºážááẠááá¯á¡ááºáá«áááºá
- ááá¯ááºááá¯ááœáá·áºáá±á¬á¡áá«á client ááẠ"xxx.org á IPs áá»á¬ážáá¬ááœá±áá²" áá²á·ááá¯á·áá±á¬ DNS query áá áºáá¯ááᯠáá±ážááá¯á·áááºá
- á¡ááá·áºá¡áááºáááŸá xxx.org ááá¯ááŒá±ááŸááºážáá±ážááẠ(ááá¯á·ááá¯ááºáááºážááᯠcache ááŸáá°áááº) ááŸáá·áº "xxx.org ááœááºááá¯áá²á·ááá¯á·áá±á¬ IP ááŸááááº" áá±á¬ááºáááºáá¶ááá¯á·áá¯á¶á·ááŒááºáá»ááºáá áºáá¯áá±ážááá¯á·ááŒá®áž DNSTap ááŸáááá·áºáááºážááá¯á¡ááŒáá¯ááºááœá¬ážááŒááºáž
- dnstap-bgp á€ááááºá á¬áá»á¬ážááá¯ááŒá±ááŒá¬áá«á ááŸáẠááá¯ááááºážááẠááááºááá¯á·áá¬ážáá±á¬á á¬áááºážááœáẠááŸááá±áá«á BGP ááŸáááá·áº
- ááŸáẠဠIP áá»á¬ážáᶠáááºážááŒá±á¬ááºážáá
áºáá¯ááᯠááŒá±á¬áºááŒá¬áááºá
next-hop self
client router - client á០ဠIP áá»á¬ážáá®ááá¯á· áá±á¬ááºáááºááœá² packet áá»á¬ážááẠtunnel ááŸáááá·áºááœá¬ážáá«áááºá
áá¬áá¬ááœááºá ááááºááá¯á·áá¬ážáá±á¬ááá¯ááºáá»á¬ážáá®ááá¯á· áááºážááŒá±á¬ááºážáá»á¬ážá¡ááœááºá áá»áœááºá¯ááºááẠBIRD á¡ááœááºážááŸá áá®ážááŒá¬ážááá¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®áž áááºážááẠOS ááŸáá·áº áááºááá¯á·áá»áŸááááá±á
á€á¡á á®á¡á á¥áºááœáẠá¡á¬ážáááºážáá»ááºáá áºáá¯ááŸááááº- á¡áá»á¬ážá¡á¬ážááŒáá·áº áá±á¬ááºáááºáá¶á០ááááá¯á¶áž SYN áááºáááºááẠááŒááºááœááºážáááºáá±á¬ááºááŸá¯áá±ážáá°ááŸáá áºááá·áº ááœááºááœá¬ááẠá¡áá»áááºááŸááááºááŒá áºáááºá áááºážááŒá±á¬ááºážááᯠáá»ááºááŒááºážáááŒá±áá¬áá°ážá áááºáá±á¬ááºááŸá¯áá±ážáá°á ááááºááá¯á·ááŒááºážááᯠáááºááá¯á·áá¯ááºáá±á¬ááºáááºáá±á«áºáá°áááºá á€áá±áá¬ááœáẠááœá±ážáá»ááºá áá¬áá»á¬áž ááŒá áºááá¯ááºáááºá áá°áᬠáá¬ááºááŒá±á¬ááááºááẠááŒá¿áá¬áááŸááá«áá°ážá áááºážááᯠá¡áá»áá¯á·áá±á¬ DPI ááá¯á· ááŒááºááœáŸááºážáá«áá (áá®á¡áá¯áá®á¡á) á¡áá°ážá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá»á¬áž ááŒá áºááá¯ááºáááºá
client ááẠUnbound ááá¯áá±ážááá·áºá¡á á¬áž áááºážá áá¯ááºáá±áá±á¬ cache áá²á០á¡áá»áá¯á·áá±á¬ áá±á¬ááºážááœááºážáá±áá±á¬ entry áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á±ááá·áº DNS TTL á¡á¶á·ááœááºá¡ááŸá¯áá»á¬ážááᯠááá±ážá á¬ážááŒááºážááŒá±á¬áá·áºáááºáž ááŒá áºááá¯ááºáááºá
áááºááœá±á·ááœááºá áááááŸáá·áº áá¯áááááẠáá»áœááºá¯ááºá¡ááœáẠááŒá¿áá¬áááŒá áºá á±áá±á¬áºáááºáž áááºá ááá®ážá¡ááœá¬á¡áá±ážááẠááœá²ááŒá¬ážááá¯ááºáááºá
Server Tuning
ááŸááá·áºáááœááºáá°á
á±áááºá
á¡ááá á¡á áááºá¡ááá¯ááºážááœá±ááᯠááŒáá·áºáá¡á±á¬ááºá
BGP
áá áºáá¯áááºážáá±á¬ host ááœáẠBGP daemons ááŸá áºáá¯ááá¯áá¯ááºáá±á¬ááºááŒááºážááẠá¡ááŒá±áá¶ááŒá¿áá¬áá áºáá¯ááŒá áºáááº- BIRD ááẠlocalhost (ááá¯á·ááá¯áẠáááºááá·áºáá±ááá¶á¡ááºáá¬áá±á·á áºááá¯áááá¯) ááŒáá·áº BGP áá»áááºáááºááŒááºážááᯠááááºááŸááºááá¯áá«á ááŸá¯ááºááááºáá±á¬áºááá± áá¯á¶ážáá Googling ááŸáá·áº mailing-lists áá»á¬ážááá¯áááºááŒááºážááá¯á·ááẠá¡áá±á¬ááºá¡áá°áááŒá áºáá²á á€á¡áá¬ááẠáá®ááá¯ááºážá¡á¬ážááŒáá·áºááŒá áºáááºáᯠááá¯ááŒáááºá áááºážáááºážá¡áá»áá¯á·ááŸááá±á¬ááºážááŸáááá¯ááºáá±á¬áºáááºáž áá»áœááºá¯ááºáááœá±á·áá²á·áá«á
áááºááẠá¡ááŒá¬ážáá±á¬ BGP daemon ááᯠá ááºážáá¯á¶ážááŒáá·áºááá¯ááºáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááẠBIRD ááᯠááŸá áºáááºááŒá®áž áááºážááᯠáá±áá¬ááá¯ááºážááœáẠá¡áá¯á¶ážááŒá¯áá±áááºá á¡áá¬áá»á¬ážááᯠááá¯ááºáá¯ááºáá»ááºáá«á
ááá¯á·ááŒá±á¬áá·áºá veth interface ááŸáááá·áº root ááŸáá·áºáá»áááºáááºáá¬ážááá·áº dnstap-bgp ááᯠááœááºááẠnamespace ááœáẠááŸááºáá¬ážáááº- áááºážááẠááá¯ááºáá áºáá¯áá²á·ááá¯á·ááŒá áºááŒá®ážá ááœá²ááŒá¬ážáá±á¬ namespace áá»á¬ážááœáẠáááºáá±áá±á¬ á áœááºážáá»á¬ážááᯠááŸááºáá¬ážáááºá á€á¡á áœááºážáá áºáá¯á á®ááœááºá host áááºááá»á±á¬áºááœááºáá±á¬áá¯áá¹áááá p2p IP ááááºá á¬áá»á¬ážááᯠáá»áááºááœá²áá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠáá¬áááá¯ááŒá áºááá¯ááºáááºá áááºážááẠá¡ááœááºážá០áá¯ááºáááºážá ááºáá»á¬ážááᯠáááºáá±á¬ááºááẠá¡áá¯á¶ážááŒá¯ááá·áº áá°áá®áá±á¬ ááá¹ááá¬ážááŒá áºáááºá á¡á¬ážáá¯á¶ážááá»á áºááŒáááºá Docker ááŸáá·áº á¡ááŒá¬ážááœááºááááºáá¬áá»á¬ážá
áá®á¡ááœáẠáá±ážáá¬ážáá¬áá«á
namespace áááºáá®ážáááºá¡ááœáẠááá°áᬠscript
#!/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 ááœááºá Unbound binary ááᯠDNSTap socket á¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážááᯠáá»áááºáááºááŒááºážá០áá¬ážááŒá áºááá·áº AppArmor áááá¯ááá¯ááºááŒáá·áº áá»á¯ááºáá¬ážáááºá áááºááẠá€áááá¯ááá¯ááºááᯠáá»ááºááá¯ááºááẠááá¯á·ááá¯áẠáááºážááᯠááááºááá¯ááºáááº-
# cd /etc/apparmor.d/disable && ln -s ../usr.sbin.unbound .
# apparmor_parser -R /etc/apparmor.d/usr.sbin.unbound
áááºážááᯠplaybook ááœááºááá·áºááá·áºáááºá áááá¯ááá¯ááºááá¯ááŒááºááŒá®áž ááá¯á¡ááºáá±á¬á¡ááœáá·áºá¡áá±ážáá»á¬ážááᯠáá¯ááºáá±ážááẠá á¶ááŒááŒá áºáá±áááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááẠá¡ááœááºáá»ááºážáááá«áááºá
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á á¡ááá¯áá« áááá·áºáá«ááŸáá·áº О Dont_á¡áá»ááºážáá»á¯áẠIP áá»á¬ážááŸáá·áº ááœááºáááºáá»á¬ážááᯠáá»á±á¬áºááẠááá¯á·ááá¯áẠá¡áá»ááºážáá»á¯áẠáááŒá±á¬ááá¯ááºáá«á áá«ááá¯á¡ááºáááºá áá»áœááºá¯ááºá VPS á subnet ááẠblocklist ááœááºááŸáááẠð
áááºá áá¬áá±á¬ááºážáá¬á RosKomSvoboda API ááẠáá°áááºáž Python á¡áá¯á¶ážááŒá¯áá° á¡á±ážáá»áá·áºááŒáá·áº áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠááááºááá¯á·áá¬ážáááºá áá¬ááºááœáŸááºáž- kiddy áááœá¬ážáá¯á¶ááááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠOgnelis ááá¯á· ááŒá±á¬ááºážáááºá
ááá¯á¡áá»áááºá¡áá áááºážááẠ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)
áááá°ááᯠáá
áºáá±á· áá
áºááŒááẠááŒá±ážáááºá á áá¬áá®ááá¯ááºáž ááœá²ááᬠáááºáááºá áá»áœááºá¯ááºáá¡ááŒááºá¡áá á€áááºááŸá¬ RKN ááẠáááºáá±á¬ááºááŸá¯áá±ážáá°áá»á¬ážáá¶á០ááá¯á¡ááºáá±á¬ áááºáááºážááá¯ážáá¬áááŒá
áºáááºá ááá¯á·á¡ááŒáẠáááºážááá¯á·ááœáẠááá¯ááá¯ááŒááºáááºá
áœá¬áá±á¬ááºááŸáááá¯ááºááá·áº á¡ááŒá¬ážáá±á¬ á¡áá°ážá¡áá±ážáá±á«áºááááºááá¯á·ááŒááºážá¡áá»áá¯á·áááºáž ááŸááááºá
á¡á±á¬ááºáá«ááá¯á·ááᯠáá¯ááºáá±á¬ááºáááº-
- ááááá¯á¶áž script ááᯠrun ááŒá®áž áááºážááŒá±á¬ááºážáá»á¬ážá
á¬áááºážááᯠá¡ááºááááºáá¯ááºááẠ(
rkn_routes.list
) BIRD á¡ááœáẠ- 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
áá°ááá¯á·áᬠá¡áá»á¬ážááŒá®áž ááœá±ážáá±á¬ááá±áá² áá±ážáá¬ážáá¬ááá¯á· ááá¯ážáááºá¡á±á¬áẠáá¯ááºááá¯á·ááá²á· á¡áá¬áá áºáá¯ááᯠááœá±á·ááẠááœá¬ážááá¯ááºáá«á
Client á áá áºááá·áºááœááºážááŒááºážá
á€áá±áá¬ááœáẠLinux routers áá»á¬ážá¡ááœáẠá¥ááá¬áá»á¬ážááᯠáá±ážáááºááŒá áºáá±á¬áºáááºáž 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 ááŸáááŸáááá·áºáááºážááŒá±á¬ááºážáá»á¬ážááᯠkernel routing table áá¶áá«áẠ222 ááŒáá·áº áááŒáá¯ááºáááºážáá¯ááºáá±á¬ááºáá«áááºá
áááºážáá±á¬ááºá áá°ááá¯á¶á á¶ááá¯áááŒáá·áºááŸá¯áá® á€áááºážáááºááŒá¬ážááá¯ááŒáá·áºááẠkernel á¡á¬áž áá±á¬ááºážááá¯ááẠáá¯á¶áá±á¬ááºáááº-
# 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
á¡áá¬á¡á¬ážáá¯á¶ážá áá¬áá¬áá¥áááºááá¯ááºáá±á«ááºáž IP ááááºá á¬ááᯠDNS á¡ááŒá áºááŒáá·áºáá±ááẠRouter ááœáẠDHCP ááᯠââconfigure áá¯ááºáááºáá»ááºááŸááá±ááŒá®áž á¡á á®á¡á ááºááẠá¡áááºááá·áºááŒá áºáá±áá«ááŒá®á
áá»áá¯á·ááœááºážáá»ááº
ááá¯ááááºážáá»á¬ážá
á¬áááºážááᯠáá¯ááºáá¯ááºááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáááºááŸá algorithm ááŒáá·áº áááºážááœáẠá¡ááŒá¬ážá¡áá¬áá»á¬áž áá«áááºáááºá youtube.com
ááŸáá·áºáááºážá CDN áá»á¬ážá
áááºážááẠáá®áá®ááá¯á¡á¬ážáá¯á¶ážááẠáá»ááºáááºáá áºáá¯áá¯á¶ážááᯠááááºááœá¬ážá á±ááá¯ááºááá·áº VPN ááŸáá áºááá·áº ááŒááºáááºážááœá¬ážáááá·áºáááºáá°áá±á¬á¡áá»ááºááᯠááŒá áºáá±á«áºá á±áááºá RKN ááᯠááááºááá¯á·ááá·áº áá°ááŒáá¯ááºáá»á¬ážáá±á¬ ááá¯ááááºážáá»á¬áž-áá»ááºááŸááºááŒááºážáá»á¬ážá á¬áááºážááᯠááŒá¯á á¯ááá»áá¯ážáááºááẠááŒá áºáá±á¬ááºážááŒá áºááá¯ááºááẠá ááœá²ááŒááºážá áááºááŒá¬ááá·áºá¡áá« áááºážááá¯á·ááᯠáá»á±á¬áºááœá¬ážáá«á
áá±á¬ááºáá»ááº
áá±á¬áºááŒáá¬ážáá±á¬áááºážáááºážááẠáá¶á·ááá¯ážáá±ážáá°áá»á¬áž áááºááŸááá»áá·áºáá¯á¶ážáá±ááá·áº áááºááá·áºááááºááá¯á·ááŒááºážáááá¯ááᯠáá»á±á¬áºááœáŸá¬ážááá¯ááºá á±áá«áááºá
áá°á¡ááá¯ááŸá áº, dnstap-bgp domain name ááá¯á¡ááŒá±áá¶á áááºážááŒá±á¬ááºážááááºážáá»á¯ááºááŸá¯á¡ááá·áºá¡áá»áá¯á·ááá¯á¡ááºááá·áºá¡ááŒá¬ážáááºááá·áºáááºááœááºáá»ááºá¡ááœááºáááá¯á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·áá±ááºááœááºá ááá¯ááºáá áºáá±á¬ááºááẠáá°áá®áá±á¬ IP ááááºá ᬠ(á¥ááᬠCloudflare á¡áá»áá¯á·ááá±á¬ááºááœááºááœááº) áá»áááºááœá²áá¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áº á€áááºážáááºážááẠáááá»ááŸá¯áááºážáá«ážáá«áááºá
áá«áá±ááá·áº áá±á¬á·ááá±á¬ááºááœá±ááᯠááŸá±á¬ááºááá¯á· ááá¯á¡ááºáá»ááºááœá±á¡ááœááºáá±á¬á· áá«áᬠáá¯á¶áá±á¬ááºáá«áááºá
áááºáá±á¬ááºážááŸá¯áá»á¬ážá áááºážááŒááºááŸá¯áá»á¬ážá áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠááœá²áá¯ááºáá« - ááŒáá¯ááá¯áá«áááºá
source: www.habr.com