SSH 터널은 중국에서 작동하지 않습니다

SSH 터널은 중국에서 작동하지 않습니다

작년에 저는 중국에서 몇 달간 일했습니다. 저는 실제 VPN을 설정하는 데 전혀 신경 쓰지 않고 SSH 터널을 만들고 이를 통해 연결하도록 브라우저 프록시 설정을 변경했습니다.

모든 것이 훌륭하게 작동했지만(물론 플래시를 제외하고) 괜찮았습니다.

그러나 지금은 중국으로 돌아왔지만 이 접근 방식에는 문제가 있습니다. 나는 지난번과 똑같은 일을 하고,https://ipcheckit.com/내 IP 주소는 실제로 미국에 있는 내 (개인) 서버의 IP이고, 중국에 가기 오래 전에 만든 지문을 사용하여 내 서버에 로그인하고 있으므로 MITM이 불가능합니다. 또한 ipcheckit.com의 인증서는 GeoTrust의 인증서이므로 모든 것이 정상이어야 합니다.

하지만 중국에서 차단된 사이트에는 여전히 접속이 되지 않습니다. 이것이 어떻게 가능할 수 있는지 아시나요?

답변1

Linux 또는 osx를 사용하는 경우 sshuttle을 사용하여 SSH 터널을 만들 수 있습니다. 그러면 모든 패킷이 터널링되고 있는지 확인할 수 있습니다.

https://github.com/apenwarr/sshuttle

./sshuttle -r 사용자 이름@sshserver 0/0 -vv

또한 Google이나 OpenDNS와 같은 공개 DNS 서버를 사용하세요.

또한 DNS 요청을 프록시하려는 경우 명령은 다음과 같습니다.

./sshuttle --dns -vvr 사용자 이름@sshserver 0/0

Sshuttle은 지난 2년 동안 저에게 매우 효과적이었고 베트남 ISP에 의해 차단된 모든 것에 액세스할 수 있습니다.

유일한 단점은 AFAIK(비밀번호 기반 인증)만 지원한다는 것입니다.

답변2

SSH 프록시를 사용하여 DNS 필터링으로 차단된 웹 사이트를 우회하는 경우 DNS 요청이 프록시를 통과하지 못해 DNS 누출이 발생하고 DNS 요청이 검열 DNS 서버로 이동하게 될 수 있습니다. 누출이 있는지 확인하려면 다음으로 이동하십시오.https://ipleak.net/.

Firefox의 프록시 설정 사용 시 문제를 해결하려면 "SOCKS v5 사용 시 프록시 DNS"를 확인하세요.

네가 원한다면모두Windows에서 프록시된 DNS를 사용하는 프로그램을 사용하는 경우 조금 더 어려울 수 있습니다.이 SO 답변프록시를 통해 DNS 요청을 전달하는 자체 DNS 서버를 실행할 것을 제안합니다. 더 쉬운 방법이 있는 사람이 있으면 알려주시면 이 답변을 업데이트하겠습니다.

macOS에서 시스템 프록시 설정을 사용했는데 DNS 누출이 없는 것 같습니다.

답변3

사용해 보세요토르SSH 터널을 통해 TOR의 프록시 설정에서 SSH 터널을 사용하십시오.

답변4

공개 키 인증을 사용하여 DNS를 포함하여 sshuttle을 통해 모든 것을 터널링하는 방법은 다음과 같습니다.

sshuttle --dns -vr <remote username>@<remote IP address> 0/0 --ssh-cmd 'ssh -i <path to private key>'

관련 정보