อ่านต่อ | 中文档
- หมายเหตุ: 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