私はホステルの部屋に住んでいて、壁のイーサネット ソケットとサブネット (選択可能な固有の IP アドレス) が与えられています。ラップトップをイーサネット経由で接続する場合は、 IP を使用します172.31.74.129
。
しかし、モバイルデバイスも接続する必要がありました。そこでルーターを購入しました。
問題は、IP アドレスを取得していることです192.168.0.101
。IP アドレスを持つ隣の部屋に座っている友人は、172.31.74.137
私のラップトップに ping を実行できず、私のマシンでホストしている TCP サーバーも使用できません。
172.31.74.*
の IP を取得する代わりに、同じサブネット ( ) 内の IP を取得する (または手動で IP を入力する) 方法はありますか192.168.0.*
? (スイッチが行うようなこと)。そうでない場合、問題を解決するために実行できる代替策はありますか?
答え1
デフォルト設定では、友達があなたと直接通信できないのは正常です。唯一の物理アクセスの前にルーターを使用することで、他の ISP と同じように、NAT されたローカル ネットワークが作成されます。ここでは、ISP は単なるホステルです。
これを機能させるには、ルーターを設定してネットワークおよびポート アドレス変換 (NAT/PAT) を実行し、ホステル ネットワーク上のルーターの IP がローカル デバイスにリンクされるようにする必要があります。
一部のルーターには、「DMZ」オプション (非武装地帯) があります。これは基本的に、ルーターへのすべてのリクエストをローカル デバイスにリダイレクトする NAT/PAT です。ただし、特定のポートのみで変換を機能させたい場合は、次のような特定の NAT/PAT ルールを入力する必要があります。
External IP | External port >> Internal IP | Internal port
172.31.74.129 | e.g. 80 for http >> 192.168.0.101 | 80 (the actual port of your server)
友人は、ローカル デバイスにアクセスするために構成する外部ポートとともに外部 IP を入力する必要があります。
答え2
最も簡単な方法は、ポート転送ルーターで、TCP サーバーに送信されるトラフィックを、マシンに割り当てられた IP アドレスに転送します。マシンに静的 IP アドレスを設定して、変更されないように (ポート転送が中断されないように) することもできます。