eBPF و.NET 5 وغموض IPv4 المُتنكّر في هيئة IPv6

2025-05-09

تتناول هذه المشاركة رحلة تصحيح أخطاء تتضمن eBPF ومآخذ DualMode من .NET 5 وIPv4 المُتنكّر في هيئة IPv6. استخدم الكاتب برنامج eBPF لإعادة توجيه طلبات DNS على المنفذ 53، لكنه واجه سلوكًا غير متوقع مع تطبيقات .NET 5. يستخدم SocketsHttpHandler من .NET 5 مآخذ DualMode، حيث يُرسل حركة مرور IPv4 عبر مقبس IPv6 باستخدام عناوين IPv4-mapped IPv6. هذا خدع برنامج eBPF ليحجب حركة مرور IPv4 على أنها IPv6. تمثّل الحل في التحقق من `skb->protocol` بدلاً من `skb->family` للتمييز بين IPv6 الحقيقي وعناوين IPv4-mapped IPv6.

التطوير