تمت ترقية بروتوكول الاتصالات في OpenGNB الإصدار 1.5.0 وهو غير متوافق
اللغة الإنجليزية الصينية
ملاحظة: يتم ترجمة معظم محتوى هذه المقالة بواسطة Google Translate من الإصدار الصيني من "دليل مستخدم OpenGNB" ، ويخضع محتوى هذه المقالة للنسخة الصينية.
OpenGNB هو برنامج افتراضي غير مركزي مفتوح المصدر P2P المعرّفة بشبكة افتراضية مع إمكانية اختراق Intranet الشديدة ، يتيح لك الجمع بين شبكة شركتك في شبكة LAN مباشرة.
يتم إصدار جميع التعليمات البرمجية المتعلقة بمشروع GNB كمصدر مفتوح ، ويدعم رمز المصدر الذي تم إصداره حاليًا المنصات التالية: FreeBSD Linux OpenWrt Raspberrypi OpenBSD MacOS
مخطط انسيابي LR
الفرعية LAN A.
Nodea [VPN Clienta]
نهاية
الفرع وان
Nodef [خادم VPN]
نهاية
الفرعية LAN ب
Nodeb [VPN ClientB]
نهاية
nodea <-payload ---> nodef <-payload ---> nodeb
نقطة اجتياز نات
مخطط انسيابي LR
الفرعية LAN A.
Nodea [GNB NODEA]
نهاية
الفرع وان
الفهرس [GNB Public Index Node]
نهاية
الفرعية LAN ب
Nodeb [GNB NODEB]
نهاية
ندويا -. عنوان Nodeb .- الفهرس -. Nodea address.- Nodeb
nodea <-payload-> nodeb
مخطط انسيابي LR
الفرعية LAN A.
Nodea [GNB NODEA]
نهاية
الفرع وان
NODEC [NODEC]
نوم [نوم]
Nodee [nodee]
Nodef [Nodef]
nodej [nodej]
Nodek [nodek]
Nodeg [Nodeg]
Nodeh [Nodeh]
Nodei [Nodei]
نهاية
الفرعية LAN ب
Nodeb [gnb nodea]
نهاية
nodea [nodea] ---- nodec [nodec] ---- noded [noded] ---- nodee [nodee] ---- nodef [nodef] ---- nodeb [nodeb]
nodea [nodea] ---- nodeg [nodeg] ---- nodeh [nodeh] ---- nodei [nodei] ---- nodeb [nodeb]
nodea [nodea] ---- nodej [nodej] ---- nodek [nodek] ---- nodeb [nodeb]
مخطط انسيابي LR
الفرعية LAN A.
Nodea [GNB NODEA]
نهاية
الفرعية LAN ج
NODEC [GNB NODEC]
نهاية
الفرعية LAN د
نوم [gnb noded]
نهاية
الفرعية LAN e
Nodee [gnb nodee]
نهاية
الفرعية LAN ب
Nodeb [GNB NODEB]
نهاية
Nodea ---- nodec & node و nodee ---- nodeb
مخطط انسيابي LR
الفرعية LAN A.
Nodea [GNB NODEA]
upd_over_tcp_a [upd_over_tcp]
نهاية
الفرع وان
upd_over_tcp_b [upd_over_tcp]
Nodeb [GNB NODEB]
نهاية
Nodea-Payload --- Payload UPD_OVER_TCP_A-TCP --- upd_over_tcp_b-payload --- nodeb
git clone https://github.com/gnbdev/opengnb.git
cd opengnb
make -f Makefile.linux install
بعد التجميع ، يمكنك الحصول على ملفات gnb gnb_crypto gnb_ctl gnb_es في opengnb/bin/ Directory.
نسخ gnb gnb_crypto gnb_ctl gnb_es لاستضافة A واستضيف B على التوالي.
على افتراض أن المضيف A و Host B بحاجة إلى اختراق التوصيل الداخلي للإنترانت مؤقتًا في شبكات شبكية مختلفة ، فإن أسرع طريقة هي تشغيل GNB من خلال وضع Lite. في وضع Lite ، لا يتم تمكين التشفير غير المتماثل ، وفقط من خلال رمز المرور ويولد معرف العقدة مفتاح التشفير ، وبالتالي فإن الأمان سيكون أقل بكثير من العمل مع التشفير غير المتماثل.
رمز المارة عبارة عن سلسلة سداسية سداسية 32 بت بطول 8 أحرف ، والتي يمكن تمثيلها على أنها 0xffffffffffffff ، تحت رمز مرور الفهرس العام هو نفس عقدة GNB التي تعتبر عقدة على نفس الشبكة الافتراضية. يرجى اختيار رمز المرور الذي لن يكون هو نفسه المستخدمون الآخرون قدر الإمكان. هنا ، لراحة العرض التوضيحي ، يتم تحديد رمز المرور على أنه 12345678 ، والمعلمة **-P ** المستخدمة لتحديد رمز المرور لبدء العقدة. لا تستخدم مثل هذا الرمز البسيط في الاستخدام الفعلي ، فقد يتعارض مع المستخدمين الآخرين الذين يستخدمون أيضًا 12345678 كرمز مرور ويسبب فشل الاتصال.
تنفيذ مع الجذر على المضيف أ
gnb -n 1001 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
بعد نجاح بدء التشغيل ، قم بتنفيذ IP Addr على المضيف A لمشاهدة IP GNB IP
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.1/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:1/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::402:c027:2cf:41f9/64 scope link stable-privacy
valid_lft forever preferred_lft forever
تنفيذ مع الجذر على المضيف ب
gnb -n 1002 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
بعد نجاح بدء التشغيل ، قم بتنفيذ IP addr على المضيف B لمشاهدة IP لعقدة GNB
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.2/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:2/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a6cf:9f:e778:cf5d/64 scope link stable-privacy
valid_lft forever preferred_lft forever
في هذه المرحلة ، إذا اخترقت المضيف A and Host B Nat بنجاح وتأكد من عدم وجود تدخل جدار الحماية على المضيف ، فيمكنهم ربط IP الظاهري لبعضهم البعض.
تنفيذ على المضيف أ
root @ hostA: ~ # ping 10.1.0.2
PING 10.1.0.2 (10.1.0.2) 56(84) bytes of data.
64 bytes from 10.1.0.2: icmp_seq=1 ttl=64 time=2.13 ms
64 bytes from 10.1.0.2: icmp_seq=2 ttl=64 time=2.18 ms
64 bytes from 10.1.0.2: icmp_seq=3 ttl=64 time=2.38 ms
64 bytes from 10.1.0.2: icmp_seq=4 ttl=64 time=2.31 ms
64 bytes from 10.1.0.2: icmp_seq=5 ttl=64 time=2.33 ms
تنفيذ على المضيف ب
root @ hostA: ~ # ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=2.34 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=1.88 ms
64 bytes from 10.1.0.1: icmp_seq=3 ttl=64 time=1.92 ms
64 bytes from 10.1.0.1: icmp_seq=4 ttl=64 time=2.61 ms
64 bytes from 10.1.0.1: icmp_seq=5 ttl=64 time=2.39 ms
إن أبسط عملية استخدام لوضع GNB Lite أعلاه ، يحتوي وضع GNB Lite على 5 عقد مدمجة ، إذا كنت بحاجة إلى مزيد من المضيفين للمشاركة في الشبكات واستخدام طريقة تشفير غير متماثلة أكثر أمانًا لحماية اتصال بيانات GNB ، يرجى قراءة المستندات التالية بعناية.
يشبه دور عقدة الفهرس GNB المتتبع في بروتوكول BT ، والذي يوفره بعض متطوعين شبكة GNB. في معظم الحالات ، توفر عقدة index فهرس العنوان فقط للمضيفين في شبكة GNB ، ولن تقوم بنقل البيانات لعقدة GNB.
يمكن للعقدة forward من GNB التي يوفرها بعض المتطوعين إجراء نقل البيانات للمضيفين غير القادرين مؤقتًا على إجراء التواصل من نقطة إلى نقطة في الحالات القصوى ، كما أن تشفير البيانات غير المتماثل بين مضيفات GNB يجعل من المستحيل على العقدة forward أن تجسس على البيانات المنقولة.
في الحالات القصوى التي لا يمكن فيها إنشاء اتصال من الأقران إلى نظير ، ما إذا كان سيتم نقل البيانات من خلال العقدة forward للشبكة العامة والتي تم ثقتها في العقدة الأمامية لاستخدامها في نقل البيانات تعتمد بالكامل على إعدادات مالك المضيف على عقدة GNB. في الواقع ، حتى في بيئة الشبكة المعقدة للغاية ، يمكن أن تنشئ إمكانية الارتباط المتفوقة من GNB روابط بيانات افتراضية في أي وقت وفي أي مكان. سيقوم GNB حتى بإنشاء روابط افتراضية متعددة للمضيفين في الشبكة ، واختيار مسار السرعة الأمثل لإرسال حزم البيانات.
فيما يلي العقد index المتوفرة التي يوفرها المتطوعون
i|0|101.32.178.3|9001
host to net و net to net ، يمكن لـ GNB إعادة توجيه البيانات إلى شبكات فرعية محددة ، ولكنها لا تدعم إعادة توجيه حركة المرور الكاملة ؛يدعم GNB منصة OpenWrt ويجب تجميعها من قبل المستخدم.
تم صنع البرنامج النصي SystemD بواسطة Jin Buguo لمشروع GNB
قام مشروع ATZLINUX بعمل حزمة برامج DEB Format ضمن Linux لمشروع GNB ، وساهم في أن تصبح حزمة برامج Debian الرسمية.
يمكنك تثبيت OpenGNB على Debian 12 (Bookworm):
apt install opengnbتم صنع حزمة AUR من linux من قبل Taotieren لمشروع GNB. طريقة التثبيت كما يلي
# install distribution
yay -Sy opengnb
# Install the development version
yay -Sy opengnb-gitللحصول على تفاصيل ، يرجى زيارة https://aur.archlinux.org/packages/opengnb/
https://aur.archlinux.org/packages/opengnb-git/
قم بتنزيل النسخة المترجمة والإصدار من GNB على كل منصة
GNB_UDP_OVER_TCP هي خدمة تم تطويرها لـ GNB تقوم بإعادة توجيه حزم UDP من خلال رابط TCP ، ويمكن أيضًا إعادة توجيه البيانات إلى الخدمات الأخرى بناءً على بروتوكول UDP.
تنصل