로컬 네트워크의 ms SQL Server에 액세스할 수 있는 퍼티가 있는 Windows 시스템이 있습니다. 포트 443에 sshd가 있는 인터넷에 원격 Ubuntu 시스템이 있습니다(https 프록시를 통한 보안 연결 필요). 로컬 네트워크의 일부 ms sql ip:port를 원격 우분투 시스템으로 전달하고 싶습니다. 아래에서 내 전달 설정을 볼 수 있습니다.
프록시 없이 이 SSH 세션을 시작하면 예상대로 작동합니다(쉽게 확인할 수 있습니다 telnet localhost 31339
).
root@ubuntu:~# telnet localhost 31339
try::1...
localhost.localdomain에 연결합니다.
이스케이프 문자는 "^]"입니다.
그런데 HTTP CONNECT 방식을 지원하는 http 프록시를 사용하면 포트가 전달되지 않습니다. 전달 내용을 확인하려고 하면 telnet localhost 31339
즉시외부 호스트가 연결을 종료했습니다.:
root@ubuntu:~# telnet localhost 31339
try::1...
localhost.localdomain에 연결합니다.
이스케이프 문자는 "^]"입니다.
외부 호스트가 연결을 종료했습니다.
그동안 Wireshark를 사용하여 Windows 컴퓨터에서 패킷을 스니핑해 보았지만 이 포트 전달 규칙과 관련된 패킷은 전혀 발견되지 않았습니다. Putty는 로컬 네트워크의 ms SQL Server에 대한 TCP 연결을 설정하려고 시도하지도 않습니다.
내가 말했듯이, 작동하는 포트 전달 규칙과 작동하지 않는 포트 전달 규칙의 유일한 차이점은 http 프록시를 사용하는 것입니다. 이론적으로 이것은 IP 패킷의 최대 크기를 줄여야 하며, 그것이 문제일 수도 있습니다...그래서 몇 가지가 있다고 생각하는 경향이 있습니다. 이 상황을 처리할 수 있는 sshd 설정입니다.
또 다른 테스트도 수행했습니다. ms SQL 포트에서 했던 것처럼 Windows 컴퓨터에서 로컬 VNC 포트 5900을 로컬 우분투 포트로 전달해 보았습니다. 이것은 작동합니다 (Ssh 연결을 설정하기 위해 프록시를 사용하는지 여부는 중요하지 않습니다).
root@vm5594:~# telnet localhost 31337
시도 중::1...
localhost.localdomain에 연결되었습니다.
이스케이프 문자는 "^]"입니다. RFB 003.008
그렇기 때문에 문제가 무엇인지 정말로 알고 싶고 도움을 요청하고 싶습니다. 어떤 제안이 있으십니까?
긴 이야기 짧게SSH 연결에 https 프록시를 사용할 때 ms SQL 포트 전달이 작동하지 않지만 프록시 없이는 작동합니다. VNC 포트 전달은 두 경우 모두 잘 작동합니다.
이해가 안 되는 부분이 있으면 편하게 질문해주세요. 어쩌면 내 질문이 충분히 자세하지 않을 수도 있습니다.