ポートフォワーダーアプリを使用したAndroid 2.3.6 wifi-tetherでのポート転送


11

電話でテザリングするときに、ネットワーク外部からのポート転送接続に問題があります。ルーターやネットワーク全般についてよく理解していないので、ご容赦ください。

私のAndroidデバイスは、インターネットに直接接続されているデバイスです。Androidデバイスを介して外部からコンピューターへのアクセスを有効にするために、私は現在Port Forwarderと呼ばれる無料アプリを使用しており、私の電話はroot化されているので、必要な承認を得ています。サーバー上の接続を処理するポートは80です。サーバーのIPアドレス(ネットワーク内)<local_ip.addr.ess.here>:80にアクセスすると、アクセスできるので、機能します。

問題は、ネットワークの外部からアクセスしようとすると、アプリがソースを80に設定し、宛先を何であれ(例は8080)に設定するように指示することです。もちろん、サーバーがリッスンしている値を80に設定します。だから私は外部からサーバーにアクセスしようとしています<phone.public_ip.adr.ess>:80が、うまくいきません。

お気づきのように、私が何をしているのか手がかりがなく、標準のルーターであってもガイドを見つけるのは困難でした。誰かがこのアプリを正常に使用しましたか?私はおそらく無知のために重要な情報を省略しました、もしそうなら、私に知らせてください、そして私は質問を更新します。


ここで話している「パブリックアドレス」とは何ですか?ルーターによって割り当てられたWiFiアドレス(通常のようなものですが192.168.*.*、場合によっては、172.*.*.*またはWikipedia10.*.*.*参照してください)の場合、ローカルネットワーク内でのみ表示され、「外界」から直接アクセスすることはできません。ここではルーターのポート転送設定が必要であり、ServerFaultでより詳しく説明されています。
イジー

いいえ、それはグーグルの「whats my ip」のアドレスです(これを使用していない場合、グーグル自体が信頼できるはずのIPアドレスを提供します)。そして、あなたは質問を誤解しています。タイトルには「wifiテザリング」と書かれています。それが通常のルーターではないということは、私のAndroidデバイスは私のルーターであり、これを関連サイトにしています。質問全体を読みましたか?私はあなたが完全に見逃したと思われるアプリ、電話、その他の関連するものについて言及しています。
justanotherhobbyist 2013年

1
何度か読んだこともありますが、少し混乱していたことは認めざるを得ません。そのコンテキストでどのデバイスが「サーバー」として機能するかを明示的に述べなかったので、私は通常の方向性を想定しました(「テザー」という言葉だけでは、サーバーとクライアントは特定できません。申し訳ありません)。明確にしていただきありがとうございます。これにより、ServerFaultに対する私のコメントはもちろん廃止されます。// 80から80までのポートが正しいように見えます。adb logcat外部からアクセスしようとしているときに、Androidのログ(など)を調べて、少なくともデバイスに到達しているか、いくつかのヒントが記録されているかどうかを確認することをお勧めします。
イジー

1
ありがとう!私はもう少し編集したので、今は完全に明確になっているはずです(うまくいけば、少なくとも誰も私がやったのと同じトラップを利用するべきではありません)。私の編集が気に入らなければ、自由に調整してください。//プロバイダーがそれを許可していない可能性があると考えています。確認するには、Androidデバイスにサーバー(単純なFTPサーバーなど)をセットアップし、「外界」からアクセスできるかどうかを試します。それも機能しない場合は、プロバイダーがそのトラフィックをブロックしています。問題がなければ、さらに調査することができます。
イジー

1
私はプロバイダーに電話をかけ、彼らはそれを許可すると言った。一部の「既知のウイルスポート」のみがブロックされました。したがって、問題は電話自体にあるはずです。
justanotherhobbyist 2013年

回答:


2

あなたが実行しているバージョンがわからないので、これが私のアドバイスです。おそらくブロックされている原因は、Androidのファイアウォールと強力なSe-Linuxポリシーによるものです。

完全なrootアクセス権があるので、ADBを使用してシェルを取得し、それを確認できます。入力するsu -と、ルートに移動します。私はTerminalEmulatorを使用していますが、OSに同梱されている場合はネイティブを使用できます。

私があなたを正しく理解していれば、電話はテザリングモードのルーターのように機能します。したがって、これはパケットを転送するために必要です: echo 1 > /proc/sys/net/ipv4/ip_forward

それが役立つかどうかを確認します。ほとんどの場合、iptablesで遊んで、テザリングポートでポート80,443を許可する必要があります。これは完全な答えではありませんが、コメントとして投稿するには長すぎます。


1

答えはプロバイダーがポート80をブロックすることですが、ポート443に切り替える場合、ポート443はhttpsが応答を送受信するために双方向通信のブロックを解除する必要があるため、ポート443をブロックできません。したがって、httpからhttps://に変更すると、問題が解決する可能性が高くなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.