mnh
v0.7.3
お読みください | 中文档
!!!注: mnh
現在開発中であるため、 APIs
とcommand line options
下位互換性がない可能性があります。
mnh
NAT の背後にあるポートを公開できるようにするツールです。
mnh
パブリック アクセスに使用できる NAT サーバーのip:port
ペアを生成します。
--------------------------------
| Help Server (NOT behind NAT) | <------(query for ip:port pair)-------------
-------------------------------- |
^ |
| |
| ---------(Use some way to send ip:port pair)------------- |
| | | or |
| | ↓ |
------------------------ ~~~~~~~~~~~~ ----------
| Service (behind NAT) | <-------- { Internet } <---------- | Guests |
------------------------ ~~~~~~~~~~~~ ----------
サーバーのネットワーク タイプはフルコーン 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
例:
テストのために Web サーバーを実行します。
./mnh tcp --server server.com --id test
テストのために UDP Echo サーバーを実行します。
./mnh udp --server server.com --id udpEcho --mode demoEcho
ローカル Web サーバーを公開します。
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80
mnh
デフォルトでupnp
プロトコルを使用してポート転送を行うようにルーターに要求しようとします。
失敗した場合は、 notice
が表示されます。
これら 2 つの機能を無効にするには、 set --routerForward none
を使用します。ポート転送が正しく設定されていることを確認してください。 (事前リクエストを参照)
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80 --port 8888 --routerForward none