"터널을 생성할 때 호스트 이름 대신 IP 주소를 지정"해야 하는 이유는 무엇입니까?

"터널을 생성할 때 호스트 이름 대신 IP 주소를 지정"해야 하는 이유는 무엇입니까?

이전 포스팅에서 질문드렸던SSH 프로토콜이 대상에 성공적으로 연결하지 못하는 이유는 무엇입니까? 내 원래 명령은

ssh -L 9000:google.com:80 testme@localhost

이 문제를 해결하기 위해 Stephen Kitt는 다음과 같이 썼습니다.

예를 들어 웹 브라우저를 사용하면 터널을 생성할 때 호스트 이름 대신 IP 주소를 지정할 수 있습니다.

ssh -L 9000:216.58.213.142:80 testme@localhost

"터널 생성 시 호스트 이름 대신 IP 주소를 지정"하는 이유가 무엇인지 알고 싶습니다.

google.com이 216.58.213.142로 확인되면 이 두 명령은 동일하지 않습니까?

IP 주소와 가상 호스트 사이에 차이가 있습니까?

감사해요.

답변1

google.com이 216.58.213.142로 확인되면 이 두 명령은 동일하지 않습니까?

예, 하지만 여기서 중요한 점은 google.com에서 Google IP 주소를 확인할 수 없는 상황을 처리하는 것입니다 /etc/hosts. IP 주소를 지정하면 됩니다(유효한 IP 주소를 얻기 위해 자체 DNS 조회를 수행하여 결정함). Google 지리적으로 적합한 IP 주소의 경우 먼저 확인하거나 /etc/hosts다른 해결 메커니즘을 사용하지 않고도 터널이 예상대로 설정되었는지 확인할 수 있습니다. SSH는 필요에 따라 전달된 포트에 대한 연결을 구문 분석하고 엽니다. 포트를 호스트 이름으로 전달한 다음 해당 호스트 이름의 주소를 덮어쓰면 SSH는 예상한 주소 대신 재정의된 주소로 연결을 전달하려고 시도합니다.

관련 정보