ポートを転送できません


0

成功せずに、ルーターからPCにポートを転送する方法を探すのに1日費やしています。そして今、私はリードを失っています...そしてイライラしています。説明と可能な解決策を含む多くのページを見てきましたが、どういうわけか正しい答えが見当たりません。それで、これが繰り返し質問である場合、それは私がそれを見る方法ではありません。

これが私がやろうとしていることです。仕事中に自宅のPCにアクセスしたいのです。これには、ddnsサービスを使用します。

動作するシナリオと動作しないシナリオ:これは私の「標準」構成です。

デスクトップとラップトップの2台のPCがあります。両方にSSHサーバー(bitvise)とSSHクライアント(PuTTY)があります。デスクトップはwindows 10を実行しており、ラップトップはwindows 7を実行しています。私には、両方のコンピューターでポート22が開いています。右?

ISP
 |
ZyXEL VMG8324-B10A (forward port 22 to 192.168.1.105)
 | .1  (192.168.1.x)
 |
 +- .105 PC (desktop, W10, SSH server on port 22)
 |
 +- .107 PC (laptop, W7, SSH server on port 22)

ddnsのサービスにより、ホームネットワークに接続できます。ポート80に接続しようとしても、ルーターのログイン画面が表示されるだけで、問題はありません。ポート8080用に設定された2番目のルーターと、ポート8080をこの2番目のサーバーに転送する元のサーバーで試してみました。問題ない。

これは、セットアップがどのように見えるかです。

ISP
 |
ZyXEL VMG8324-B10A (forward port 8080 to 192.168.1.2)
 | .1  (192.168.1.x)
 |
 | .2
LinkSys E3000 (configuration available on port 8080)
 | .1  (10.233.1.x)

ddnsプロバイダーを介してLinkSys(ポート8080)の構成に接続できました。問題ありません。右?

前に述べたように、192.168.1.105 SSHクライアントと192.168.1.107 SSHサーバー間の接続を確立し、192.168.1.107 SSHクライアントと192.168.1.105 SSHサーバー間の接続を確立できます。

しかし、ddns経由でSSHサーバーに接続することはできません。

これで、ZyXELおよびLinkSys E3000の構成ページ(ポート80)を見ることができます(転送ポート8080が機能します)。ポート22で機能しないのはなぜですか?

転送に関するZyXELのルールは次のとおりです。

# Status Name      WAN WAN_IP ServerIP      TriggerStart End TranslationStart End Protocol
1 active SSH       wan -      192.168.1.105 22           22   22           22   TCP/UDP
2 active http8080  wan -      192.168.1.105 8080         8080 8080         8080 TCP/UDP

ここで奇妙なことは何もありません。また、PCとラップトップ間のSSH通信も可能です。ddnsからPCへの通信をどこで探す必要がありますか?何を忘れますか?

どんな提案でも大歓迎です!

編集:2016年9月5日。

問題が解決しました!以下の回答の助けを借りて、構成の問題を解決することができ、数分前に、AndroidからPCにRDCを移動させることができました。いいね!



1
どこから接続しようとしましたか?ローカルネットワーク内ですか?
ダニエルB

@ダニエルB:内部から接続しようとしました(ラップトップ-> ddnsプロバイダー-> PC)。
PapaAtHome

職場でホームネットワークにpingできないことがわかりました。また、ping.eu / tracerouteから自宅のIPアドレスへのtracerouteが機能していないこともわかりました。そして、私はWAN IPアドレスを使用していますが、それは内部からのものではなく、ばかげています。たぶん、ISPにいくつか質問をする時が来たのでしょう。
-PapaAtHome

ZyXELのポート80へのリモートアクセスができました!httpアクセスを有効にするための構成は少し隠されています(メニュー 'Maintenance'-> 'Remote MGMT')。スイッチを入れて、スマートフォン経由でアクセスをテストしました。ログインフォームを取得しました。ddnsサービスが機能していることを証明するには十分です。だから私は再びそれをオフに切り替えました。:-)
PapaAtHome

回答:


0

ネットワーク内にいると書きましたが、次のことが起こります。

ddnsのサービスにより、ホームネットワークに接続できます。ポート80に接続しようとすると、ルーターのログイン画面が表示されます

つまり、ルーターはNATループバックをサポートしていません。ポート転送を適切にテストするには、ローカルネットワークの外部にいる必要があります。たとえば、携帯電話でモバイルブロードバンドを使用してテストできます。

Pingは、ほとんどの消費者グレードのルーターでデフォルトでフィルタリングされています。もちろん、それは不明瞭さによるセキュリティです。また、問題の診断が不必要に難しくなるため、そのオプションを無効にするだけで済みます。

また、
ルーターの内部ソフトウェアも正常に動作していません。外部IPアドレスを参照すると、Webインターフェースが開きます。これは非常に危険です!内部ネットワーク構造を知らなくても、攻撃者はクロスサイトスクリプティングなどを介してルーターを制御できます。


ZyXELのWAN側でポート80が使用可能かどうかはわかりませんが、その点についてはドキュメントが少しあいまいです。できれば必ず閉じます。テスト目的でポート80と8080を使用していました。私はそれが内部で利用可能であり、Linksys E3000でそれのための構成がはるかに簡単であることを知っています。私の携帯電話を使うことを提案してくれてありがとう、私はそれについて前に考えなかった!外でのテストは、今日はそれがされていることを見せてくれたではないポート22のポート80には、いない作業ともない、私はanwersを待つことになると私は続行する前に、私のISPから助言します。
PapaAtHome

WAN側ではおそらく利用できないでしょう。ただし、これは純粋にファイアウォールルールを使用して実現されます。パケットがインターネットから送信されていないために適用されないルール。つまり、「エクスプロイトを自分で実行する」必要があります。これはウェブサイトにアクセスするのと同じくらい簡単です。//両方のルーターでSSHポート転送を設定しましたか?また、二重NATを取り除くことを検討する必要があります。これは適切な設定ではありません。
ダニエルB

私の電話を使うことを提案するだけで違いが生じました。他のすべてのテキスト(両方の回答)は非常に有用で有益です。しかし、効率的かつ正しい方法でテストできることは、私にとって成功への道でした。
PapaAtHome

0

「デスクトップからラップトップへ、またはその逆にSSH接続を確立できます。両方のコンピューターでポート22が開いていることを示唆しています。」

はい。これは、SSHサーバーが実行されており、そのトラフィックをブロックしているソフトウェアベースのファイアウォール(いずれかのマシン上)がないことを示しています。

これは、別のネットワークからSSHで接続できるという意味ではないことに注意してください。Windowsファイアウォールには、ネットワークが「プライベート」、「パブリック」、または「ゲスト」のいずれであるかによって異なるルールを適用できます。そのため、ソフトウェアファイアウォールが1つの接続を許可しているからといって、別の接続が機能するとは限りません。これがあなたの問題の原因である可能性が高いことを示唆しているわけではありませんが、もしそうなら、あなたがそれについて考えないかどうかを検出することは非常に難しいことがあります。

また、「開いているポート」とは何かを理解していることを確認してください。TCPポート番号とUDPポート番号を指します。これらの「ポート」は単なる数字です。「ポート」が開いている場合、そのポートに接続できることを意味します。

したがって、誰かが自宅のIPアドレスにSSHリクエストを送信しようとすると、ISPはそのトラフィックを建物内のルーターに忠実に渡します。結果が正常な接続である場合、ポートは開いています。

現在、ポートを開く方法でルータがそのトラフィックを処理できる2つの方法があります。

  • これらの方法の1つは、ルーターがそのポートに応答するプログラムを実行することです。したがって、ポート22の場合、通常はルーターがSSHサーバーを実行していることを意味します。(また、ポート80の場合、これは通常、ルーターがHTTPサーバーを実行していることを意味します。HTTPサーバーは「Webサーバー」と呼ばれます。)

  • 他の可能なアプローチは、ルータがトラフィックを別のデバイスに渡すことです。これは通常、別のサブネット上のデバイスにトラフィックを送信することにより行われます。デバイスがこれを行うと、トラフィックを「ルーティング」します。そのため、これらを「ルーター」と呼ぶことがよくあります。

2番目のアプローチが機能するためには、ルーターはトラフィックを送信するシステムを知る必要があります。これは、「ポート転送」と呼ばれるプロセスを使用して実行できます。「ポートフォワーディング」とは、実際にルーターに、トラフィックが到着すると予想されるポート番号を通知し、次にトラフィックが送信されるシステムを通知することです。

ルーターの構成を確認すると、「ポート転送」セクションが空白になっていることがあります。では、その場合、どのようにSSHをルーティングできますか?多くのルーターには、「非武装地帯」と呼ばれる構成セクションがあり、非常に多くの場合「DMZ」と省略されます。このDMZの動作方法は、実際にはポート転送のかなり特別なルールです。ルーターが使用するコンピューターを指定すると、「ポート転送」セクションでより具体的なルールが指定されていない限り、ルーターはそのコンピューターにすべてのポートを送信します。ほとんどのルーターは通常DMZをポートフォワーディングセクションに配置しないと思います。これは、おそらくDMZ構成により、ルーターがこれらのポート以外のIPトラフィックを転送する可能性があるためです。

一般に、ポート22の着信トラフィックでは1つのことしかできません。わかりました。したがって、シアトルのオフィスからのトラフィックはラップトップに行き、東京からのトラフィックはデスクトップ。ただし、このような複雑な設定は一般的ではありません。はるかに一般的なのは、ポート転送で別のポート(たとえば2222)を他のマシンに送信し、そのマシンが非標準ポートでリッスンするようにすることです。

(または、ルーターに変換を行わせて、ポート2222の着信トラフィックを他のマシンの標準ポート22にリダイレクトします。しかし、トラフィックを受信するマシンは、ポート2222が使用されたことを知る必要さえありません。ログの有用性を低くし、ルーターがそのような変換を行っていることを覚えておく必要があります。代わりに、ポート2222をリッスンするだけで、状況はより明確になります。)

ICMP(pingおよび複数のtraceroute実装で使用)は、TCPポートまたはUDPポートを使用しないことに注意してください。(ICMPはIPの上にあります。ただし、IPはOSIネットワークモデルの「レイヤー3」を使用しますが、ICMPはOSIモデルの「レイヤー4」にあるプロトコルであるとは実際に認められません。 「レイヤ4」プロトコルを区別する傾向がある典型的な会話追跡機能。)

したがって、ルーターでポート22を開いても、両方のマシンがSSHトラフィックを取得するのに必ずしも役立つとは限りません。

ZyXELには2つのIPv4アドレスがある可能性が高いことを理解してください(インターネットがIPv4を使用していると仮定)。1つは192.168.1.1です。そのアドレスは、RFC 1918にリストされいるアドレスであるため、私たちに伝えるのに安全です。もう1つはパブリックアドレスです。(DynDNSを使用しているため)アドレスが変更されたようです。その住所を教えてはいけません。(会話については、「203.0.113。」で始まるふりをすることができます。これは、RFC 5735 5ページで示されいるように、実際にはサンプル/ドキュメント用に予約されたアドレスのセットです。)

動的DNSを使用するのではなく、ISPから静的IPを取得することで、時間を節約できます。リクエストに応じて(顧客に)静的IPを無料で提供できるISPローカル(米国)を知っています。彼らはあなたに請求したいと思うかもしれません(そして、もしそうなら、あなたは価格が/ 29の価格も尋ねたいかもしれません、それは8のブロックであり、そのうち5は通常顧客によって使用可能です)。これは、ダイナミックDNSのルートが機能しないことを示唆するものではありませんが、検討のために別のオプションを捨てています。

ddnsのサービスにより、ホームネットワークに接続できます。ポート80に接続しようとしても、ルーターのログイン画面が表示されるだけで、問題はありません。

ポート80に接続するときに使用するIPアドレスを言わなかったが、DDNSの使用について話した直後に言ったので、パブリックIPアドレスの使用について話しているように聞こえます。実際にそうである場合、ダニエルBの答えの最後の段落は非常に有効な警告です。コンシューマグレードルーターは、Webインターフェースに十分なセキュリティがないことで悪名高いため、有線LAN接続のみを使用してWebインターフェースにアクセスできるように指定するオプションを見つけてください。(インターネットからの接続もWi-Fiも信頼しません。)


延長返信いただきありがとうございます!そして、はい、意図的にWAN側のIP番号203.0.113.256について言及しませんでした;-) ZyXELはSSHにポート2222を使用している、または少なくともポート22を転送した時点でポート2222を使用していることを通知しました。私が知らないのは、このポート番号がWAN側でも利用できるかどうかです。ダニエルBの答えは関連していますが、その理由を監視することはできません。今日、私は外部の場所から接続をテストしましたが、連絡を取ることができませんでした。IPSで問い合わせをしました。
PapaAtHome

はい、もちろんIPは203.0.113.256です。特に、最後のオクテットが255に達するので、最後のコメントを「侵入防止システム」ではなく「インターネットサービスプロバイダー」で終了するつもりはないと思います。ネットワークスニッフィング/スヌーピングが役立つ場合があります。そのようなサポートについてはルーターを確認してください。それ以外の場合、「netstat -na」はどの接続が確立されているかを示すのに役立ちます。主に、SSH接続が利用可能かどうかを確認する方法は、接続を試みることです。さらに情報が必要な場合は、疑問符を追加してください。
TOOGAM

コメントをありがとう、あなたはすでに私を大いに助けてくれました。これで、ddnsが機能していることがわかりました(元のメッセージのコメントを参照)。外部からSSH接続を試行します。私の進捗状況をお知らせします。ネットワークスニッフィング/スヌーピングに関する発言をフォローアップします。しかし、「netstat -na」は、それが実行されているPC上の接続のみを表示します。これについては、ZyXELのドキュメントを参照する必要があります。ISP、はい、インターネットサービスプロバイダー。
PapaAtHome
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.