SSH에 대한 확실한 가이드에서는 다음과 같이 말합니다.
로컬 컴퓨터의 연결을 remote.host.net으로 전달한다고 가정해 보겠습니다. 다음 명령은 모두 유효합니다.
$ ssh -L2001:localhost:143 remote.host.net $ ssh -L2001:remote.host.net:143 remote.host.net
전달된 연결은 원격 컴퓨터에서 루프백 주소 또는 Remote.host.net으로 이루어집니다., 두 경우 모두 연결은 원격 시스템에 유지되며 네트워크를 통해 이동하지 않습니다. 그러나 두 연결은 전달된 연결을 수신하는 서버와 크게 다릅니다. 이 때문입니다연결의 소스 소켓이 다릅니다.. localhost에 대한 연결이 다음에서 오는 것 같습니다.소스 주소 127.0.0.1, Remote.host.net에 대한 연결은 다음에서 제공됩니다.이름과 관련된 주소.
"이름과 관련된 주소"는 무엇입니까?
"소스 주소 127.0.0.1"과 어떻게 다른가요?
감사해요.
답변1
ssh
지금은 그것을 무시하고 더 간단한 일을 해보자 .
당신이 그렇게한다면
telnet localhost 143
localhost
그런 다음 에서 까지 연결을 설정합니다.localhost
대신 그렇게 하면
telnet my.ip.address 143
my.ip.address
그런 다음 에서 까지 연결을 설정합니다.my.ip.address
두 경우 모두 동일한 시스템의 포트 143에 연결하지만 소스 주소가 변경되었습니다. 따라서 대상 IP 주소가 소스 IP 주소를 변경하는 것을 볼 수 있습니다.
포트 포워딩의 경우에도 마찬가지입니다 ssh
.
첫 번째 버전에서는 에 연결하므로 localhost
소스는 입니다 localhost
. 두 번째 버전에서는 서버의 기본 IP 주소(remote.host.net의 IP 주소)에 연결하므로 소스는 해당 IP 주소에서 옵니다.
이는 특별한 문제가 아니며 ssh
IP 라우팅이 일반적으로 작동하는 방식입니다.