التمهيدي | 中文文档
!!! ملاحظة: mnh
قيد التطوير حاليًا، وقد لا تكون APIs
وخيارات command line options
متوافقة مع الإصدارات السابقة !!!
mnh
هي أداة تجعل الكشف عن منفذ خلف NAT أمرًا ممكنًا.
سوف تقوم mnh
بإنتاج زوج ip:port
لخادم NATed الخاص بك والذي يمكن استخدامه للوصول العام.
--------------------------------
| Help Server (NOT behind NAT) | <------(query for ip:port pair)-------------
-------------------------------- |
^ |
| |
| ---------(Use some way to send ip:port pair)------------- |
| | | or |
| | ↓ |
------------------------ ~~~~~~~~~~~~ ----------
| Service (behind NAT) | <-------- { Internet } <---------- | Guests |
------------------------ ~~~~~~~~~~~~ ----------
يجب أن يكون نوع شبكة خادمك Full-cone NAT.
إذا كنت لا تعرف ما يعنيه ذلك، فلا تقلق، استمر فقط.
إذا كان الخادم الخاص بك خلف جدار حماية أو جهاز توجيه منزلي، فربما تحتاج إلى تمكين UPnP أو إعادة توجيه المنفذ إلى الخادم الخاص بك على جهاز التوجيه الخاص بك لأنه قد يحظر جميع عمليات المرور الواردة.
يرجى التحقق من mnh_server.
يتم حاليًا دعم بروتوكول
mnhv1
فقط، وسيتم إضافة المزيد من البروتوكولات في المستقبل، مثل STUN.
Usage:
mnh {tcp|udp} --server <server> [flags]
Flags:
-s, --server string Help server address(Example: "server.com", "server.com:6641")
If only specify hostname, it will try SRV resolve.
If SRV failed, it will use default port(6641).
-i, --id string A unique id to identify your machine
-m, --mode string Run mode.
TCP support: demoWeb proxy (default "demoWeb")
UDP support: demoEcho proxy (default "demoEcho")
-p, --port int The local hole port which incoming traffics access to
-t, --service string Target service address. Only need in proxy mode (default "127.0.0.1:80")
-r, --routerForward A comma-split list which will be used sequentially to request router to do port forwarding (default: "upnp,notice")
upnp: UPnP protocol
notice: Will notice you to do port forwarding manually
none: Do port forwarding manually
-x, --event-hook Execute command when event triggered:
escape:
%%: percent sign
%e: Event: connecting fail success disconnected
%m: Error message
%p: Local hole port
%a: Hole addr
-h, --help help for mnh
مثال:
تشغيل خادم ويب للاختبار:
./mnh tcp --server server.com --id test
قم بتشغيل خادم UDP Echo للاختبار:
./mnh udp --server server.com --id udpEcho --mode demoEcho
كشف خادم الويب المحلي:
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80
سيحاول mnh
أن يطلب من جهاز التوجيه القيام بإعادة توجيه المنفذ باستخدام بروتوكول upnp
بشكل افتراضي.
إذا فشلت، وسوف تظهر notice
.
يمكنك تعطيل هاتين الوظيفتين عن طريق تعيين --routerForward none
، وتأكد من إعداد إعادة توجيه المنفذ بشكل صحيح. (انظر الطلبات المسبقة)
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80 --port 8888 --routerForward none