SSHとddns:リモートで接続できますが、ローカルでは接続できません。

SSHとddns:リモートで接続できますが、ローカルでは接続できません。

IPなしこのアカウントは、自宅のSSHサーバーにリモートでアクセスするために使用されますがmyserver.ddns.net、外部でのみ機能します。

外から:

リモートping:

$ ping myserver.ddns.net # success

リモートSSH:

$ ssh myserver.ddns.net # success

現地で:

ローカルping:

$ ping 192.168.2.8 # success

ローカルSSH:

$ ssh 192.168.2.8 # success

リモートping:

$ ping myserver.ddns.net # success, resolving to 90.113.108.192

リモートSSH:

$ ssh myserver.ddns.net # loOong time waiting, then..
Connection closed by 90.113.108.192 port 22

なぜですか?

答え1

より正確には、内部ネットワークからNATにアクセスすることに関連する答えは次のとおりです。次の理由でそうしたくありません。

  • 消費者クラスの技術の限界。
  • パフォーマンスの理由 - NATはより多くのCPUリソースとメモリを使用します。しかし、国内規模では問題にはなりません。
  • ルーティングはより複雑です。これを使用またはデバッグします。

選択肢は次のとおりです。

  • ローカルサーバーからのみアクセスする場合は、ホストファイルエントリを作成します。
  • ネームサーバーを作成し、パブリックDNS名のビューを作成します。お客様が提示する場合はありませんが、通常は企業で使用されます。
  • ネームサーバーを作成し、ssh.homeなどのカスタム内部名を作成します。
  • BIND+RPZ を使用し、外部名を内部 IP アドレスに再定義します。
  • ルーティングにLinuxシステムを使用している場合は、iptables + NATを使用して外部IPへのSSHセッションをキャプチャし、それを内部IPアドレスにNATします。

IPアドレスのキャプチャ/ホストファイルの作成に関する私の意見については、自宅でDDNSアドレスを処理する方法に関する回答をご覧ください。ISPの変更IPアドレスを処理するためのより良い方法は何ですか?

BIND + RPZの場合は、以下を参照してください。

BINDをフォワーダ専用(ルートプロンプトなし)、暗号化+ RPZブラックリスト/ホワイトリストで構成

Bind9の大規模ゾーンファイル:広告ブロック

答え2

いいね!このページ、私が理解しているように、ルータがこれらを許可しないのは「一般的なセキュリティ機能」です。NATループバック":つまりローカルコンピュータから別のローカルコンピュータに接続する渡す外部ドメインの確認。

解決策として、以下を提案しました。

  • openwrt や ddwrt などのカスタムイメージを使用して、デフォルトのルータソフトウェアを交換します。 (乾杯イフレセセ)
  • ローカルDNSサーバーを設定してください(こんにちは)キツネ)

このリストに追加できる他の項目を自由に提案してください:)

関連情報