سؤال

يجب أن أكتب البرامج أحيانا لإنشاء مأخذ توصيل بخادم معين مقيم داخل Cisco VPN. أنا ببساطة اكتب برامجي كما لو لم يكن هناك VPN (الاستفادة من مكتبة المقابس القياسية). عندما حان الوقت لتشغيل هذا البرنامج، اتصل يدويا ب VPN باستخدام برنامج العميل المثبت على جهاز الكمبيوتر الخاص بي، ثم قم بتشغيل البرنامج نفسه.

ومع ذلك، سيكون من المرغوب فيه كتابة البرنامج للاستفادة من مكتبة المقبس المتخصصة قادرة على التواصل عبر VPN مباشرة، دون استخدام أي برنامج عميل مثبت.

فيما يلي بعض كود Java الذي يوضح الوظيفة التي أود:

String vpnHost = ...;
String vpnUser = ...;
String vpnPassword = ...;
VPNConnection vpnConnection = new CiscoVPNConnection(vpnHost, vpnUser, vpnPassword);

String serverHost = ...;
int serverPort = ...;
Socket socket = vpnConnection.openSocket(serverHost, serverPort);

هل من الممكن إنشاء مثل هذا الاتصال ب VPN دون تثبيت أي برنامج عميل؟

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

المحلول

هذا يعتمد على كيفية تكوين خادم VPN.

تستخدم معظم منتجات VPN IPSec، بروتوكول قياسي لتشفير اتصالات TCP / IP. تستخدم معظم المنتجات أيضا ISAKMP، بروتوكول إدارة مفاتيح عمارة أمان الإنترنت، أيضا معيار، لإعداد الجلسة. يتم إتاحة شفرة المصدر ل IPSec و ISAKMP بسهولة، وقد يتم تثبيتها بالفعل على نظامك.

الآن بالنسبة للأخبار السيئة: على الرغم من أن كل ما ذكرته بالفعل هو قياسي، فإن مخططات المصادقة التي يمكن استخدامها مع ISAKMP هي تقريبا كل الاحتكار. مخططات المصادقة "القياسية" هي مفتاح مشترك مسبقا، وشهادات X.509. إذا تم تكوين خادم VPN للسماح بأي من هذه، فستكون لديك فرصة. خلاف ذلك، لا يمكنك استخدام VPN حقا، حيث أن البروتوكول هو خاص حقا وكاد تقريبا من المستحيل عكس المهندس حيث يتم تشفير محادثة المصادقة.

مسار أسهل بكثير: هل تحتاج حقا إلى VPN، أم أن هناك طريقة يمكنك أن نفق فوق SSL؟ أعتقد أن جافا يدعم SSL؛ يمكنك فقط إنشاء المقبس الآمن الذي تحتاجه وتذهب من هناك.

إذا كنت تعرف نظام العميل الذي تستخدمه، ففكر في القصف لاستدعاء عميل Cisco VPN لهذا النظام.

خلاف ذلك، سيكون عليك تكرار ما يفعله عميل VPN. يقوم عميل VPN يؤدي إعداد المصادقة والجلسة مع ISAKMP، وتثبيت النتيجة في kernel لإنشاء اتصال VPN. تتوفر تطبيقات ISAKMP؛ تحتاج فقط معرفة ما يتم استخدام المصادقة ومحاولة ضبط ذلك. عند هذه النقطة ستحدث عميل VPN الخاص بك.

نصائح أخرى

يمكنني استخدام حزمة VPNC على Linux من أجل الاتصال ب CISCO VPN الخاص بشركتي، حيث ليس لدينا عميل Linux متوافق. مكتوب VPNC في C رغم ذلك، لذلك عليك إجراء منفذ.

يمكنك قراءة Doc Official Cisco Doc وبعد ذلك، يمكنك إنشاء ملف مضرب مع هذه البيانات: VPNClient Connect [اسم الاتصال] PWD [كلمة المرور] وقطع الاتصال. قم بتضمينه إلى برنامج Java الخاص بك: Runtime.getRuntime (). Exec ("CMD / C بدء تشغيل [مسار ملف BAT])؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top