Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ тСхничСската ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Google Cloud

ΠžΡ‚ Google Blog Editor: Π§ΡƒΠ΄ΠΈΠ»ΠΈ Π»ΠΈ стС сС някога ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Google Cloud Technical Solutions (TSE) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ заявкитС Π²ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°? Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° тСхничСска ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° TSE са ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Някои ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ са доста прости, Π½ΠΎ понякога ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚Π΅ Π½Π° Π±ΠΈΠ»Π΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ изисква Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° няколко ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ Ρ‚Π°Π·ΠΈ статия Π΅Π΄ΠΈΠ½ ΠΎΡ‚ слуТитСлитС Π½Π° TSE Ρ‰Π΅ Π½ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° Π΅Π΄ΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΡ‚ ΡΠΊΠΎΡ€ΠΎΡˆΠ½Π°Ρ‚Π° си ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° - случай Π½Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π’ Ρ‚Π°Π·ΠΈ история Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ са успСли Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ ситуацията ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ Π½ΠΎΠ²ΠΈ Π½Π΅Ρ‰Π° са Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ са ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π»ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π°. НадявамС сС, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ история Π½Π΅ само Π²ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π·Π° дълбоко Π²ΠΊΠΎΡ€Π΅Π½Π΅Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΈ Π΄Π°Π²Π° прСдстава Π·Π° процСситС, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π»ΠΈΠ·Π°Ρ‚ Π² ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΠ»Π΅Ρ‚ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π² Google Cloud.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ тСхничСската ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Google Cloud

ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° нСизправности Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡƒΠΊΠ° ΠΈ изкуство. Всичко Π·Π°ΠΏΠΎΡ‡Π²Π° с ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·Π° Π·Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° нСстандартното ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° систСмата, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ тя сС тСства Π·Π° Π·Π΄Ρ€Π°Π²ΠΈΠ½Π°. ΠŸΡ€Π΅Π΄ΠΈ ΠΎΠ±Π°Ρ‡Π΅ Π΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·Π°, трябва ясно Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ ΠΈ ΠΏΡ€Π΅Ρ†ΠΈΠ·Π½ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Ако Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π·Π²ΡƒΡ‡ΠΈ Ρ‚Π²ΡŠΡ€Π΄Π΅ нСясСн, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ трябва Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ всичко; Π’ΠΎΠ²Π° Π΅ β€žΠΈΠ·ΠΊΡƒΡΡ‚Π²ΠΎΡ‚ΠΎβ€œ Π·Π° отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Под Google Cloud ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ процСси стават СкспонСнциално ΠΏΠΎ-слоТни, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Google Cloud сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° повСритСлността Π½Π° своитС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° TSE нямат Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚ Π²Π°ΡˆΠΈΡ‚Π΅ систСми, Π½ΠΈΡ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π·Π° Π΄Π° тСствамС някоя ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·ΠΈ, Π½ΠΈΠ΅ (ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅) Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°ΠΌΠ΅ систСмата.

Някои ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ смятат, Ρ‡Π΅ Ρ‰Π΅ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌ всичко ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° Π² автосСрвиз ΠΈ просто Π½ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² дСйствитСлност ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° Π² Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° информация, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Π½Π΅ (ΠΈΠ»ΠΈ ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π°Π²Π°Π½Π΅) Π½Π° Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·ΠΈ, ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС основават Π½Π° комуникацията с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π’ΡŠΠΏΡ€ΠΎΡΠ½ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

ДнСс ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π½Π° история с Π΄ΠΎΠ±ΡŠΡ€ ΠΊΡ€Π°ΠΉ. Π•Π΄Π½Π° ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° прСдлоТСния казус Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ описаниС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. По-Π΄ΠΎΠ»Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ Π±ΠΈΠ»Π΅Ρ‚ (Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½, Π·Π° Π΄Π° скриС ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½Π° информация):
Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ тСхничСската ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Google Cloud
Π’ΠΎΠ²Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° информация Π·Π° нас:

  • ΠŸΠΎΡΠΎΡ‡Π΅Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° VM
  • Бамият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ посочСн - DNS Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ
  • ΠŸΠΎΡΠΎΡ‡Π΅Π½ΠΎ Π΅ къдС сС проявява ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° - VM ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  • ΠŸΠΎΡΠΎΡ‡Π΅Π½ΠΈ са ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅, ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ ΠΎΡ‚ потрСбитСля, Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Заявката Π΅ рСгистрирана ΠΊΠ°Ρ‚ΠΎ β€žP1: Critical Impact - Service Unusable in productionβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° постоянно наблюдСниС Π½Π° ситуацията 24/7 ΠΏΠΎ схСмата β€žFollow the Sunβ€œ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ Π½Π° потрСбитСлскитС заявки), с ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ ΠΌΡƒ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠΈΠΏ Π·Π° тСхничСска ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° към Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΈ всяка смяна Π½Π° часовата Π·ΠΎΠ½Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ достигнС Π΄ΠΎ нашия Π΅ΠΊΠΈΠΏ Π² Π¦ΡŽΡ€ΠΈΡ…, Ρ‚ΠΎΠΉ Π²Π΅Ρ‡Π΅ Π΅ ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠ» Π·Π΅ΠΌΠ½ΠΎΡ‚ΠΎ кълбо. Π”ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ потрСбитСлят Π΅ Π²Π·Π΅Π» смСкчаващи ΠΌΠ΅Ρ€ΠΊΠΈ, Π½ΠΎ сС страхува ΠΎΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Π½Π° ситуацията Π² производството, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ основната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π°.

Π”ΠΎΠΊΠ°Ρ‚ΠΎ Π±ΠΈΠ»Π΅Ρ‚ΡŠΡ‚ стигнС Π΄ΠΎ Π¦ΡŽΡ€ΠΈΡ…, Π²Π΅Ρ‡Π΅ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ…ΠΌΠ΅ със слСдната информация:

  • ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ /etc/hosts
  • ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ /etc/resolv.conf
  • ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ iptables-save
  • Бглобява сС ΠΎΡ‚ Π΅ΠΊΠΈΠΏΠ° ngrep pcap Ρ„Π°ΠΉΠ»

Π‘ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ бяхмС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Ρ„Π°Π·Π°Ρ‚Π° Π½Π° β€žΡ€Π°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅β€œ ΠΈ отстраняванС Π½Π° нСизправности.

ΠŸΡŠΡ€Π²ΠΈΡ‚Π΅ Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ

ΠŸΡŠΡ€Π²ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ ΠΈ сС ΡƒΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ отговаря Π½Π° IP адрСс 169.254.169.254 ΠΈ, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, отговаря Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ…ΠΌΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΄Π°Π»ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½Π°Ρ‚Π° стСна Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

Π’ΠΎΠ²Π° бСшС някакъв странСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° nmap ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π° основната Π½ΠΈ Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·Π° Π·Π° Π·Π°Π³ΡƒΠ±Π°Ρ‚Π° Π½Π° UDP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ мислСно измислихмС ΠΎΡ‰Π΅ няколко ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ:

  • ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ пускат Π»ΠΈ сС ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»Π½ΠΎ? => ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π½Π° iptables
  • НС Π΅ Π»ΠΈ Ρ‚Π²ΡŠΡ€Π΄Π΅ малък? MTU? => ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΈΠ·Ρ…ΠΎΠ΄Π° ip a show
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ само UDP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π»ΠΈ засяга ΠΈΠ»ΠΈ ΠΈ TCP? => ΠšΠ°Ρ€Π°ΠΉΡ‚Π΅ dig +tcp
  • Π’Ρ€ΡŠΡ‰Π°Ρ‚ Π»ΠΈ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΎΡ‚ dig ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ? => ΠšΠ°Ρ€Π°ΠΉΡ‚Π΅ tcpdump
  • libdns Ρ€Π°Π±ΠΎΡ‚ΠΈ Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ? => ΠšΠ°Ρ€Π°ΠΉΡ‚Π΅ strace Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² Π΄Π²Π΅Ρ‚Π΅ посоки

Π’ΡƒΠΊ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Π΄Π° сС ΠΎΠ±Π°Π΄ΠΈΠΌ Π½Π° потрСбитСля Π·Π° отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΠΆΠΈΠ²ΠΎ.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ няколко Π½Π΅Ρ‰Π°:

  • Π‘Π»Π΅Π΄ няколко ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π½Π° iptables ΠΎΡ‚ списъка с ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ интСрфСйси ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ провСрявамС Π΄Π°Π»ΠΈ MTU Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½
  • НиС ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° dig +tcp google.com (TCP) Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ трябва, Π½ΠΎ dig google.com (UDP) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ
  • ΠšΠ°Ρ‚ΠΎ сС ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡ΠΈ tcpdump всС ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ dig, ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°ΠΌΠ΅, Ρ‡Π΅ сС Π²Ρ€ΡŠΡ‰Π°Ρ‚ UDP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ
  • НиС ΠΊΠ°Ρ€Π°ΠΌΠ΅ strace dig google.com ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ dig ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° sendmsg() ΠΈ recvms(), Π½ΠΎ вторият Π΅ ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚

Π—Π° съТалСниС Π½Π°Π±Π»ΠΈΠΆΠ°Π²Π° краят Π½Π° смяната ΠΈ смС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ΠΈ Π΄Π° СскалирамС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎ слСдващата часова Π·ΠΎΠ½Π°. Заявката ΠΎΠ±Π°Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° интСрСс Π² нашия Π΅ΠΊΠΈΠΏ ΠΈ ΠΊΠΎΠ»Π΅Π³Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° създадСм ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ DNS ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° scrapy Python ΠΌΠΎΠ΄ΡƒΠ»Π°.

from scapy.all import *

answer = sr1(IP(dst="169.254.169.254")/UDP(dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com")),verbose=0)
print ("169.254.169.254", answer[DNS].summary())

Π’ΠΎΠ·ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ създава DNS ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° заявката Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ.

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ изпълнява ΠΊΠΎΠ΄Π°, DNS ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ сС Π²Ρ€ΡŠΡ‰Π° ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°, ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°ΠΉΠΊΠΈ, Ρ‡Π΅ няма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΡ€Π΅ΠΆΠ°.

Π‘Π»Π΅Π΄ ΠΏΠΎΡ€Π΅Π΄Π½ΠΎΡ‚ΠΎ β€žΠΎΠΊΠΎΠ»ΠΎΡΠ²Π΅Ρ‚ΡΠΊΠΎ ΠΏΡŠΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅β€œ заявката сС Π²Ρ€ΡŠΡ‰Π° към нашия Π΅ΠΊΠΈΠΏ ΠΈ Π°Π· напълно я ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠΌ Π½Π° сСбС си, мислСйки, Ρ‡Π΅ Ρ‰Π΅ бъдС ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° потрСбитСля, Π°ΠΊΠΎ заявката спрС Π΄Π° обикаля ΠΎΡ‚ място Π½Π° място.

ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ потрСбитСлят любСзно сС съгласява Π΄Π° прСдостави ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка Π½Π° систСмния ΠΎΠ±Ρ€Π°Π·. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π° Π½ΠΎΠ²ΠΈΠ½Π°: Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° тСствам систСмата сам ΠΏΡ€Π°Π²ΠΈ отстраняванСто Π½Π° нСизправности ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° искам ΠΎΡ‚ потрСбитСля Π΄Π° изпълнява ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π΄Π° ΠΌΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΈ Π΄Π° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°, ΠΌΠΎΠ³Π° Π΄Π° направя всичко сам!

ΠšΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π»Π΅ΠΊΠΎ Π΄Π° ΠΌΠΈ Π·Π°Π²ΠΈΠΆΠ΄Π°Ρ‚. На обяд обсъТдамС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ, Π½ΠΎ Π½ΠΈΠΊΠΎΠΉ няма прСдстава ΠΊΠ°ΠΊΠ²ΠΎ сС случва. Π—Π° щастиС, самият ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π²Π΅Ρ‡Π΅ Π΅ Π²Π·Π΅Π» ΠΌΠ΅Ρ€ΠΊΠΈ Π·Π° смСкчаванС Π½Π° послСдствията ΠΈ Π½Π΅ Π±ΡŠΡ€Π·Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ всякакви тСстовС, ΠΊΠΎΠΈΡ‚ΠΎ Π½ΠΈ интСрСсуват. Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π΅Π½!

ΠŸΡ€Π°Π²Ρ ΠΊΡ€Π°Ρ‡ΠΊΠ° Π½Π°Π·Π°Π΄

Π•Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-популярнитС Π²ΡŠΠΏΡ€ΠΎΡΠΈ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŽ Π·Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° систСмСн ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π΅: β€žΠšΠ°ΠΊΠ²ΠΎ сС случва, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΈΠ½Π³Π²Π°Ρ‚Π΅ www.google.com? Π’ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅ страхотСн, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΡŠΡ‚ трябва Π΄Π° опишС всичко ΠΎΡ‚ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π΄ΠΎ потрСбитСлското пространство, Π΄ΠΎ систСмното ядро ​​и слСд Ρ‚ΠΎΠ²Π° Π΄ΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Усмихвам сС: понякога Π²ΡŠΠΏΡ€ΠΎΡΠΈΡ‚Π΅ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŽ сС ΠΎΠΊΠ°Π·Π²Π°Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π² рСалния ΠΆΠΈΠ²ΠΎΡ‚...

РСшавам Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ° Ρ‚ΠΎΠ·ΠΈ HR Π²ΡŠΠΏΡ€ΠΎΡ към настоящ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π“Ρ€ΡƒΠ±ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ DNS ΠΈΠΌΠ΅, сС случва слСдното:

  1. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° систСмна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ libdns
  2. libdns провСрява систСмната конфигурация към ΠΊΠΎΠΉ DNS ΡΡŠΡ€Π²ΡŠΡ€ трябва Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ (Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° Ρ‚ΠΎΠ²Π° Π΅ 169.254.169.254, ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ)
  3. libdns ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° систСмни извиквания, Π·Π° Π΄Π° създадС UDP сокСт (SOKET_DGRAM) ΠΈ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ UDP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с DNS заявка Π² Π΄Π²Π΅Ρ‚Π΅ посоки
  4. Π§Ρ€Π΅Π· интСрфСйса sysctl ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ UDP стСка Π½Π° Π½ΠΈΠ²ΠΎ ядро
  5. Π―Π΄Ρ€ΠΎΡ‚ΠΎ взаимодСйства с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Ρ‡Ρ€Π΅Π· мрСТовия интСрфСйс
  6. Π₯ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ΡŠΡ‚ улавя ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° към ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ с Π½Π΅Π³ΠΎ
  7. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ ΠΏΠΎ своя магия опрСдСля DNS ΠΈΠΌΠ΅Ρ‚ΠΎ ΠΈ Π²Ρ€ΡŠΡ‰Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡŠΡ‰ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ тСхничСската ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Google Cloud
НСка Π²ΠΈ напомня ΠΊΠ°ΠΊΠ²ΠΈ Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·ΠΈ Π²Π΅Ρ‡Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅:

Π₯ΠΈΠΏΠΎΡ‚Π΅Π·Π°: Π Π°Π·Π²Π°Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • ВСст 1: стартирайтС strace Π² систСмата, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ dig ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ систСмни извиквания
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: Π˜Π·Π²ΠΈΠΊΠ²Π°Ρ‚ сС ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ систСмни повиквания
  • ВСст 2: ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° srapy Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΈΠΌΠ΅Π½Π°Ρ‚Π°, заобикаляйки систСмнитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: ΠΌΠΎΠΆΠ΅ΠΌ
  • ВСст 3: стартирайтС rpm –V Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° libdns ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ md5sum
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ напълно ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ с ΠΊΠΎΠ΄Π° Π² Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма
  • ВСст 4: ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° root систСмата Π½Π° потрСбитСля Π½Π° VM Π±Π΅Π· Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, стартирайтС chroot, Π²ΠΈΠΆΡ‚Π΅ Π΄Π°Π»ΠΈ DNS Ρ€Π°Π±ΠΎΡ‚ΠΈ
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: DNS Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ въз основа Π½Π° тСстовС: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π½Π΅ Π΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅

Π₯ΠΈΠΏΠΎΡ‚Π΅Π·Π°: Има Π³Ρ€Π΅ΡˆΠΊΠ° Π² настройкитС Π½Π° DNS

  • ВСст 1: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ tcpdump ΠΈ Π²ΠΈΠΆΡ‚Π΅ Π΄Π°Π»ΠΈ DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΈ Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ слСд стартиранС Π½Π° dig
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ
  • ВСст 2: Π΄Π²ΠΎΠΉΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° /etc/nsswitch.conf ΠΈ /etc/resolv.conf
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: всичко Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ въз основа Π½Π° тСстовС: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π½Π΅ Π΅ Π² DNS конфигурацията

Π₯ΠΈΠΏΠΎΡ‚Π΅Π·Π°: ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½Π° ΡΡŠΡ€Ρ†Π΅Π²ΠΈΠ½Π°

  • ВСст: инсталирайтС Π½ΠΎΠ²ΠΎ ядро, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ подписа, рСстартирайтС
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ въз основа Π½Π° тСстовС: ядрото Π½Π΅ Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΎ

Π₯ΠΈΠΏΠΎΡ‚Π΅Π·Π°: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° потрСбитСлската ΠΌΡ€Π΅ΠΆΠ° (ΠΈΠ»ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ² интСрфСйс Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€)

  • ВСст 1: ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ настройкитС Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Π·Π°Ρ‰ΠΈΡ‚Π½Π° стСна
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: Π·Π°Ρ‰ΠΈΡ‚Π½Π°Ρ‚Π° стСна ΠΏΡ€Π΅Π΄Π°Π²Π° DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° хоста, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° GCP
  • ВСст 2: ΠΏΡ€ΠΈΡ…Π²Π°Π½Π΅Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°ΠΉΡ‚Π΅ корСктността Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° DNS заявки
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: tcpdump ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°, Ρ‡Π΅ Ρ…ΠΎΡΡ‚ΡŠΡ‚ Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π²ΡŠΡ€Π½Π°Ρ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ въз основа Π½Π° тСстовС: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π΅ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°

Π₯ΠΈΠΏΠΎΡ‚Π΅Π·Π°: ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ

  • ВСст 1: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π·Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: няма Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ Π² рСгистрационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅
  • ВСст 2: ЗаобикалянС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· dig @8.8.8.8
  • Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: Π Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡΡ‚Π° Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π° Π΄ΠΎΡ€ΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ въз основа Π½Π° тСстовС: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π½Π΅ Π΅ Π² ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка: тСствахмС всички подсистСми с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° настройки Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС!

Π“ΠΌΡƒΡ€ΠΊΠ°Π½Π΅ Π² настройкитС Π·Π° изпълнСниС Π½Π° ядрото

Π—Π° Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ срСдата Π·Π° изпълнСниС Π½Π° ядрото, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ Π½Π° командния Ρ€Π΅Π΄ (grub) ΠΈΠ»ΠΈ интСрфСйса sysctl. ΠŸΠΎΠ³Π»Π΅Π΄Π½Π°Ρ… /etc/sysctl.conf ΠΈ само помислСтС, ΠΎΡ‚ΠΊΡ€ΠΈΡ… няколко пСрсонализирани настройки. Чувствайки сС сякаш съм сС Ρ…Π²Π°Π½Π°Π» Π·Π° Π½Π΅Ρ‰ΠΎ, ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΠΈΡ… всички настройки Π±Π΅Π· ΠΌΡ€Π΅ΠΆΠ° ΠΈΠ»ΠΈ TCP, оставайки с планинскитС настройки net.core. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΈΠ΄ΠΎΡ… Π΄ΠΎ мястото, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ бяха Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° Π·Π° хост във VM ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌ настройкитС Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π°, Π΅Π΄Π½Π° слСд Π΄Ρ€ΡƒΠ³Π°, с ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½Π°Ρ‚Π° VM, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ… Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°:

net.core.rmem_default = 2147483647

Π•Ρ‚ΠΎ я, DNS-Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‰Π° конфигурация! НамСрих ΠΎΡ€ΡŠΠΆΠΈΠ΅Ρ‚ΠΎ Π½Π° убийството. Но Π·Π°Ρ‰ΠΎ сС случва Ρ‚ΠΎΠ²Π°? ВсС ΠΎΡ‰Π΅ ΠΈΠΌΠ°Ρ… Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΌΠΎΡ‚ΠΈΠ².

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· net.core.rmem_default. Π’ΠΈΠΏΠΈΡ‡Π½Π°Ρ‚Π° стойност Π΅ някъдС ΠΎΠΊΠΎΠ»ΠΎ 200KiB, Π½ΠΎ Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° искатС Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°. Ако Π±ΡƒΡ„Π΅Ρ€ΡŠΡ‚ Π΅ пълСн, ΠΊΠΎΠ³Π°Ρ‚ΠΎ пристигнС Π½ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π±ΡŠΡ€Π·ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Π³ΡƒΠ±ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ сС ΡΡ‚Ρ€Π°Ρ…ΡƒΠ²Π°ΡˆΠ΅ ΠΎΡ‚ Π·Π°Π³ΡƒΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ използвашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ‡Ρ€Π΅Π· DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Бтойността, която Ρ‚ΠΎΠΉ Π·Π°Π΄Π°Π΄Π΅, бСшС максимално Π²ΡŠΠ·ΠΌΠΎΠΆΠ½Π°Ρ‚Π°: 231-1 (Π°ΠΊΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π° 231, ядрото Ρ‰Π΅ Π²ΡŠΡ€Π½Π΅ β€žΠΠ•Π’ΠΠ›Π˜Π”Π•Π ΠΠ Π“Π£ΠœΠ•ΠΠ’β€œ).

ИзвСднъТ Ρ€Π°Π·Π±Ρ€Π°Ρ… Π·Π°Ρ‰ΠΎ nmap ΠΈ scapy работят ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ: Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ сокСти! НСобработСнитС сокСти са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ сокСти: Ρ‚Π΅ заобикалят iptables ΠΈ Π½Π΅ са Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ!

Но Π·Π°Ρ‰ΠΎ "Π±ΡƒΡ„Π΅Ρ€ΡŠΡ‚ Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ голям" създава ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ? ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ Π±ΠΈΡ… могъл Π΄Π° Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° мноТСство ядра ΠΈ мноТСство дистрибуции. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π²Π΅Ρ‡Π΅ сС появи Π² ядрото 3.x, Π° сСга сС появи ΠΈ Π² ядрото 5.x.

Наистина, ΠΏΡ€ΠΈ стартиранС

sysctl -w net.core.rmem_default=$((2**31-1))

DNS спря Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° Ρ‚ΡŠΡ€ΡΡ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ стойности Ρ‡Ρ€Π΅Π· прост Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΡ…, Ρ‡Π΅ систСмата Ρ€Π°Π±ΠΎΡ‚ΠΈ с 2147481343, Π½ΠΎ Ρ‚ΠΎΠ²Π° число бСшС бСзсмислСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ числа Π·Π° ΠΌΠ΅Π½. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄Π° ΠΎΠΏΠΈΡ‚Π° Ρ‚ΠΎΠ·ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΈ Ρ‚ΠΎΠΉ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ, Ρ‡Π΅ систСмата Ρ€Π°Π±ΠΎΡ‚ΠΈ с google.com, Π½ΠΎ всС ΠΎΡ‰Π΅ Π΄Π°Π²Π° Π³Ρ€Π΅ΡˆΠΊΠ° с Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ… разслСдванСто си.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ… ΠΏΠ°Π΄Π°Ρ‰ часовник, инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-Ρ€Π°Π½ΠΎ: Ρ‚ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ‚ΠΎΡ‡Π½ΠΎ къдС Π² ядрото Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° Π΄Π°Π΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚. Π’ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΡŠΡ‚ бСшС функцията udp_queue_rcv_skb. Π˜Π·Ρ‚Π΅Π³Π»ΠΈΡ… ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ядрото ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ… няколко функция printk Π·Π° Π΄Π° прослСдитС къдС Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠ²ΡŠΡ€ΡˆΠ²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚. Π‘ΡŠΡ€Π·ΠΎ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ if, ΠΈ просто Π³ΠΎ глСдашС извСстно Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° всичко Π½Π°ΠΉ-накрая сС ΡΡŠΠ±Ρ€Π° Π² Π΅Π΄Π½Π° цялостна ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°: 231-1, бСзсмислСно число, Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π΄ΠΎΠΌΠ΅ΠΉΠ½... Π‘Π΅ΡˆΠ΅ част ΠΎΡ‚ ΠΊΠΎΠ΄ Π² __udp_enqueue_schedule_skb:

if (rmem > (size + sk->sk_rcvbuf))
		goto uncharge_drop;

Моля, ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:

  • rmem Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏ int
  • size Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏ u16 (нСподписано ΡˆΠ΅ΡΡ‚Π½Π°Π΄Π΅ΡΠ΅Ρ‚-Π±ΠΈΡ‚ΠΎΠ²ΠΎ int) ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°
  • sk->sk_rcybuf Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏ int ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎ дСфиниция Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° стойността Π² net.core.rmem_default

ΠšΠΎΠ³Π°Ρ‚ΠΎ sk_rcvbuf Π½Π°Π±Π»ΠΈΠΆΠ°Π²Π° 231, сумиранСто Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ цСлочислСно ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ int, стойността ΠΌΡƒ става ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π½Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ условиСто става истина, ΠΊΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° Π΅ нСвярно (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°).

Π“Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π° ΠΏΠΎ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½ Π½Π°Ρ‡ΠΈΠ½: Ρ‡Ρ€Π΅Π· кастинг unsigned int. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠΈΡ… корСкцията ΠΈ рСстартирах систСмата ΠΈ DNS ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Вкус Π½Π° ΠΏΠΎΠ±Π΅Π΄Π°

ΠŸΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΈΡ… констатациитС си Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ… LKML корСкция Π½Π° ядрото. Π”ΠΎΠ²ΠΎΠ»Π΅Π½ съм: всяко ΠΏΠ°Ρ€Ρ‡Π΅ ΠΎΡ‚ пъзСла пасва, ΠΌΠΎΠ³Π° Π΄Π° обясня Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π°Ρ‰ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅, ΠΈ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ, успяхмС Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π΅ΠΊΠΈΠΏΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°!

Π‘Ρ‚Ρ€ΡƒΠ²Π° си Π΄Π° сС ΠΏΡ€ΠΈΠ·Π½Π°Π΅, Ρ‡Π΅ случаят сС ΠΎΠΊΠ°Π·Π° Ρ€ΡΠ΄ΡŠΠΊ ΠΈ Π·Π° щастиС рядко ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° слоТни заявки ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° липсващи DNS ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ тСхничСската ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Google Cloud


Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€