سؤال

أنا أقوم ببناء تطبيق VPN حيث أحتاج إلى تعيين خادم DNS برمجيا. أنا أتغير NameServer المعلمة في السجل (في HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces) لإعداد خادم الاسم إلى قائمة الإدخالات الحالية. بمجرد القيام بذلك، إذا حاولت البحث عن اسم مضيف باستخدام nslookup, ، يعمل بشكل جيد، ولكن ping غير قادر على حل الاسم - لمدة 15 دقيقة. وبعد 15 دقيقة من بينغ هو أيضا قادرة على حل الاسم. لقد جربت تطبيق TCP / IP الصغير الخاص بي، وهذا له نفس المشكلة. نظرت إلى حركة المرور في Wireshark، وأرى أن NSLookup يرسل طلبات بحث DNS، في حين أن Ping ليس كذلك.

هل هناك على أي حال يمكنني ركل النوافذ لإشعار اسم خادم الاسم سابقا؟ أم أن هناك طريقة أفضل لتعيين خوادم الأسماء في ويندوز؟

شكرا مقدما لمساعدتكم!

هل كانت مفيدة؟

المحلول

لا تغير مفتاح التسجيل هذا مباشرة. كما وجدت، لا يخطر عملاء DNS بأنهم قد تغير الأسماء.

من المحتمل أن يكون الحل الأسهل %SystemRoot%\system32\netsh.exe.

netsh interface ip set dns name="Local Area Connection" source=static addr=...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top