프록시 목록의 IP와 포트는 보통 애플리케이션이 접속하는 지점을 가리킵니다. 다른 사람이 사용자 컴퓨터에 도달하도록 예약된 공용 포트가 아닙니다.

인바운드 연결을 받고 싶다면 이 구분이 중요합니다. 아웃바운드 프록시 요청은 사실상 “이 목적지로 나 대신 연결해 달라”고 말합니다. 공용 리스너는 중개자가 다른 사람의 연결을 받아 사용자의 서비스와 연결해야 합니다.

실제 인바운드 기능을 찾으세요

HTTP CONNECT는 요청에 명시된 목적지로 터널을 만듭니다. 프록시에 사용자를 대신해 임의의 수신 포트를 공개하라고 요구하지 않습니다.

SOCKS5는 별도의 BIND 명령을 정의합니다. 프로토콜의 BIND 교환은 바인딩된 엔드포인트를 제공하고 나중에 인바운드 연결을 보고합니다. 웹 클라이언트가 쓰는 일반적인 CONNECT 명령과 다릅니다. SOCKS5 지원을 광고하는 서비스가 이 명령을 제한하거나 생략할 수 있고, 클라이언트 소프트웨어도 의도된 교환을 지원해야 합니다.

BIND 협상이 성공해도 영구적이고 범용적인 공개 포트를 보장하지는 않습니다. 서비스 정책, 예상되는 상대, 수명, 주변 네트워크 경로가 여전히 중요합니다.

HTTP 프록시는 SSH 서버가 아닙니다

SSH 원격 포워딩은 운영자가 인바운드 접근을 명시적으로 제공할 수 있는 또 다른 방법입니다. SSH 서비스, 계정, 포워딩 권한이 필요합니다. SSH 명령을 공용 HTTP 프록시 포트로 향하게 해도 그런 능력이 생기지 않습니다.

서비스를 고르기 전에 필요한 방향을 정하세요. 다른 출구를 통한 아웃바운드 요청인지, 직접 운영하는 애플리케이션으로의 인바운드 연결인지입니다. 후자라면 통제하는 환경에서 문서화된 인바운드 포워딩 기능을 찾으세요. 프록시 목록의 평범한 한 줄은 그 기능의 존재를 증명하지 않습니다.

관련 글