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の大規模ゾーンファイル:広告ブロック

おすすめ記事