나는 3 대의 기계를 가지고 있습니다 :
A.local ---> B.example.com
---> C.local
C.local
5000
B.example.com
에이전트(원격 Docker 레지스트리)의 포트(로컬 Docker 레지스트리)에서 서비스를 실행하는 Docker 컨테이너 입니다 .
C.local
에 도달하려고 할 때 확인/연결 되도록 A를 어떻게 구성합니까 B.example.com
?
이것이 가능한지, OSI의 어느 계층에서 확실하지 않습니다. DNS를 사용하고 싶지만 /etc/host
하드코딩된 IP 주소만 할당할 뿐입니다. 충분한가 ?
iptables
결과적으로 A는 B를 것처럼 처리 original-B.example.com
하고 이를 C로 대체해야 하며, 이는 로 처리됩니다 B.example.com
.
이 방법 C.local:5000
으로 연결 해야 합니다 B.example.com
(포트 443에서,내가 올바르게 이해했다면)
답변1
세 머신 모두에 SSH가 있는 경우 다음을 수행할 수 있습니다.
[email protected] $ ssh -J B.example.com -L 5555:127.0.0.1:5000 C.local
C.local:5000
연결이 활성화된 동안 액세스를 통해 연결할 수 있습니다 127.0.0.1:5555
(5555는 임의임).
무너지다
ssh
-J B.example.com
: B.example.com을 통한 프록시 점프(C로 전달하기 전에 B에 로그인해야 함)-L 5555:127.0.0.1:5000
, 로컬 포트를127.0.0.1:5555
최종 대상 포트 5000에 바인딩합니다.C.local
: 최종 목적지