特定のIPアドレスからのみSSH接続を内部サーバーにポートフォワードするように構成されたDraytekルーターがあります。クライアントと私は、ルーターのパブリック静的IPアドレスに接続できず、ドメイン名にのみ接続できる場合を除いて、外部から正常に接続できます。 router.domain.comルーターにドメイン名を割り当てる必要がありますか?なぜ彼らはドメイン名にしか接続できず、IPには接続できないのかよくわかりません-アドバイスをいただければ幸いです
質問の限られた情報に基づいて、ホスト名を使用した接続が機能する理由を確実に言うことはできませんが、IPアドレスを使用してまったく同じサーバーに接続することは機能しません。
ただし、最も可能性の高い説明は、クライアントがサーバーに接続するためにDNS64 + NAT64に依存していることだと思います。 IPv4アドレスがなくなったため、さまざまな種類のCGNソリューションの展開が一般的になりました。そのうちの1つはDNS64 + NAT64であり、クライアントがIPアドレスでIPv4サーバーに接続できないという制限があります。
このようなクライアントがIPv4のみのサーバーに接続すると、次のようになります。
server.example.com
のAAAAクエリを送信しますserver.example.com
のAAAAクエリを送信しますserver.example.com
のクエリを送信します192.0.2.1
で応答します192.0.2.1
を64:ff9b::192.0.2.1
に変換します64:ff9b::192.0.2.1
でNAT64に接続します64:ff9b::192.0.2.1
を192.0.2.1
に変換しますクライアントがOpenSSHの場合、クライアント側でssh -v
を使用して、接続先のIPアドレスを確認できます。サーバーがIPv4のみであり、ホスト名が指定されたときにクライアントがIPv6アドレスに接続する場合、クライアントがDNS64 + NAT64に依存していることがわかります。
NAT64が原因でIPアドレスに接続できない場合に考えられる緩和策: