저는 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 레코드가 생성됩니다.