私はRaspberry Pi 4のSSHを介してリモートコンピュータにログインしています。これを使用してリモートdnsutils
コンピュータのパブリックIPを抽出しようとしています。ただし、実際に使用しているクライアントコンピュータのパブリックIPを返します。これを行うためにシェルスクリプトを使用しています。私が使った特定のコマンドは
public_ip="$(dig +short myip.opendns.com @resolver1.opendns.com)"
Windows 11コンピュータを介してSSHを使用しています。重要ではありませんが、Visual Studio Code Remote - SSH拡張パックを使用しています。また、Windows PowerShellを介してSSHを試しましたが、依然としてクライアントコンピュータのパブリックIPを返しました。
答え1
dig
リモートシステムで実行している場合、opendnsがSSHクライアントのIPアドレスを見つける可能性はほとんどありません。
最も可能性の高いシナリオは、クライアントのパブリックIPv4アドレスがリモートコンピュータのパブリックIPv4アドレスと同じです。これは、両方が同じ物理的な場所にある場合、または同じLAN(おそらくVPN経由)にある場合に発生する可能性があります。
このためですネットワークアドレスの解釈緩和するために1990年代後半に導入されましたIPv4アドレスの枯渇。これは、自宅またはオフィスのルーターがLAN全体にIPアドレスを割り当て、LAN内のすべてのデバイスがそのIPアドレスを持つ単一のコンピュータであるように見えることを意味します。
将来の読者が明確ではない場合、myip.opendns.com
DNSサーバーresolver1.opendns.com
(またはすべてのサーバーresolver*.opendns.com
)からの要求により、DNSサーバーに表示されるDNSクライアントのIPアドレスを含むA名DNSレコードが生成されます。