여러 호스트를 지원하는 TCP 프록시를 만드는 방법은 무엇입니까?

여러 호스트를 지원하는 TCP 프록시를 만드는 방법은 무엇입니까?

여러 호스트를 지원하는 TCP 프록시를 만들고 싶습니다. 내가 본 예는 DNS 서버가 특정 호스트를 하드코딩된 TCP 프록시로 가리키도록 사용되는 경우였습니다. 모든 호스트가 TCP 프록시로 라우팅된 경우 프록시는 데이터를 어디로 보낼지 알 수 없기 때문에 TCP 프록시는 여러 호스트를 처리할 수 없습니다. 이 문제를 해결할 수 있는 방법이 있습니까?

답변1

TCP는 IP를 통해 작동하며 IP에는 호스트(이름) 개념이 없고 IP 주소만 있습니다.

따라서 TCP는 호스트 이름이 아닌 IP 주소만 알고 있습니다.

호스트 이름을 처리하려는 경우 TCP 위에 프로토콜(예: HTTP, SSH 등)이 필요하거나 일반적으로 DNS가 제공하는 것처럼 TCP를 사용하기 전에 이름을 IP 주소로 변환해야 합니다.

또는 액세스되는 포트에 따라 별도의 포트와 프록시를 수신하려면 "TCP" 프록시가 필요합니다. 그러나 여전히 IP 주소(프록시의)뿐만 아니라 해당 포트에도 이름을 매핑하는 문제가 있습니다. 이는 가능하지만 DNS에서는 더 어렵습니다(클라이언트를 제어하는 ​​경우 SRV레코드를 사용하거나 미래의 SVCB것).

관련 정보