SOCAT(전용) 역방향 터널

SOCAT(전용) 역방향 터널

나는 한 네트워크에서 다른 네트워크로 데이터를 가져오려고 하는 상황에 직면했습니다. 특히 다른 네트워크에 있는 개인 Maven 저장소에 액세스하려고 했습니다.

네트워크 1에는 Maven 저장소가 포함되어 있습니다. 네트워크는 포트 전달이 비활성화된 여러 SSH 홉으로 보호됩니다 sshd.

  • [노트북], VPN을 사용하여 Docker 컨테이너를 다른 네트워크로 실행laptop

    • 도커 컨테이너vpn
  • [점프박스]jumpbox.vpn.network.org

  • [섬기는 사람]server.vpn.network.org

vscode-server를 성공적으로 실행했습니다.섬기는 사람다음을 통해 연결합니다.

socat tcp-listen:8080,fork EXEC:"ssh server.vpn.network.org nc localhost 8081"

이를 통해 랩톱이 localhost:8080트래픽을 우리 네트워크에 도달하고 터널링 할 수 server.vpn있으며, 그런 다음 netcat으로 이동하여 트래픽을 vscode 서버로 보냅니다.

나는 그 반대로 하는 것이 가능해야 한다고 생각하는데, 나는 단지 갇혀있습니다.

목표는 Socks5다음과 같은 것을 통해 노트북에서 에이전트를 실행하는 것 입니다.

ssh -f -N -D 54321 localhost

그런 다음 socat 호출을 수행 server.vpn.network.org한 다음 양말 환경 변수를 사용하여 maven을 실행하고 연결 등을 통해 프록시를 다시 사용할 수 있습니다.

내가 취한 접근 방식은 다음과 같습니다.

socat -v TCP:localhost:54321 EXEC:"ssh server.vpn.network.org nc -lkv localhost 54321"

"일종의" 작동하지만 계속 연결이 끊어집니다.

fork그런 다음 및 조합을 시도했지만 reuseaddr문제가 해결되지 않은 것 같습니다.

나의 다음 접근 방식은 유닉스 소켓이나 펑키한 것을 고려하는 것입니다. 하지만 이 작업을 수행하는 방법을 아는 사람이 있는지 궁금합니다.

감사해요.

답변1

귀하의 설정과 달성하려는 목표를 잘 모르겠습니다. 이렇게 하면 첫 번째 예를 다음으로 바꿀 수 있습니다.

ssh -L 8080:localhost:8081 server.vpn.network.org

반대 솔루션은 다음과 같습니다.

ssh -R 54321:localhost:54321 server.vpn.network.org

관련 정보