ЧИТАЙТЕ | 中文文档
!!! Примечание: mnh
в настоящее время находится в разработке, APIs
и command line options
могут быть несовместимы с предыдущими версиями!!!
mnh
— это инструмент, который делает возможным предоставление доступа к порту за NAT.
mnh
создаст пару ip:port
для вашего NAT-сервера, которую можно будет использовать для публичного доступа.
--------------------------------
| 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