ฉันได้รับข้อผิดพลาดนี้บ่อยมาก:
ความร้ายแรง: คำเตือน --> mysqli::real_connect(): php_network_getaddresses: getaddrinfo ล้มเหลว: ความล้มเหลวชั่วคราวในการแก้ไขชื่อ
ปัญหานี้ได้รับการแก้ไขหลังจากรีสตาร์ทเซิร์ฟเวอร์เท่านั้น เมื่อพิจารณาว่าสิ่งนี้เกิดขึ้นบนเซิร์ฟเวอร์ที่ใช้งานจริงซึ่งมีคำขอหลายล้านรายการต่อวัน การรีสตาร์ทจึงไม่ใช่ตัวเลือกที่ดีที่สุด
[แก้ไข]
ฉันใช้ Ubuntu 18.04 และเชื่อมต่อกับ Aurora Cluster บน AWS และโค้ดส่วนหลังอยู่บน EC2
@matigo บน Askubuntu ดูเหมือนจะคิดว่าฉันอาจจะถึงขีด จำกัด :
https://askubuntu.com/a/1363447/135086
ดังนั้นฉันจึงทำการดีบั๊กเพื่อทำความเข้าใจว่าฉันถึงขีดจำกัด 1024 PPS จริงหรือไม่โชคดีที่มีบทความ AWS ซึ่งดูเหมือนจะช่วยให้ฉันเข้าใจว่า
https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-cause-of-failed-dns-queries/
ฉันลองใช้คำสั่งเพื่อทำความเข้าใจกับ PPS ที่ฉันกำลังโจมตีอยู่ในขณะนี้ และตรวจสอบจนกว่าจะพบข้อผิดพลาด
ข้อผิดพลาด - 2021-09-20 12:14:31.547863 --> ความรุนแรง: คำเตือน --> mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo ล้มเหลว: ความล้มเหลวชั่วคราวในการแก้ไขชื่อ
ที่ฉันประหลาดใจ ต่อไปนี้เป็นผลลัพธ์ของคำสั่งที่กล่าวถึงในบทความ AWS
tcpdump -r <file_name.pcap> -nn dst พอร์ต 53 | awk -F " " '{ พิมพ์ $1 }' | ตัด -d"." -f1 | ยูนิค -c
2 06:44:22
6 06:44:24
4 06:44:26
2 06:44:28
4 06:44:30 น
7 06:44:34น
2 06:44:38น
7 06:44:39น
9 06:44:44
6 06:44:46
4 06:44:49น
6 06:44:50น
เมื่อพิจารณาเขตเวลาเป็น +05:30 ข้อผิดพลาดที่ 12:14:31 IST ควรมีรายการสำหรับ DNS ที่ 06:44:31 UTC
หากเราพิจารณาขนาดแพ็กเก็ตเฉลี่ยเป็น 4 แพ็กเก็ตต่อการโทร โดยอ้างถึงคำตอบของ @matigo ฉันไม่ได้กด 22 dns call ต่อวินาที ดังนั้นเมื่อพิจารณาเพิ่มเติมในบันทึก
4 06:39:06
26 06:39:09
4 06:39:10
2 06:39:13
6 06:39:16
16 06:39:17
บางรายการมีการโทรเกิน 22 DNS ต่อวินาที และเราไม่พบข้อผิดพลาด php_network_getaddresses
ดังนั้นฉันไม่แน่ใจว่าปัญหาคืออะไรที่นี่
มีคนกล่าวว่าสิ่งนี้อาจเกิดจากเซิร์ฟเวอร์ DHCP ปลอมใน LAN ไม่แน่ใจว่าจะระบุได้อย่างไร หรือจะเป็นไปได้ใน EC2 เมื่อ DNS เดียวที่กำหนดค่าคือ AWS Route53 Resolver
ณ จุดนี้ฉันสับสนว่านี่เป็นปัญหาขีดจำกัด PPS หรืออย่างอื่น