Nginx Proxy Manager 를 통해 TCP 프록시 구성을 할 수 있나요?
안녕하세요 포럼 가입하고 눈팅만 하다가 궁금한게 생겨서 글하나써봅니다...
서브도메인을 통해서 서버 내부의 SSH로 접속을 하고 싶습니다.
예들 들면,
ssh [username]@dev.diligentp.com -> 192.168.0.xx:22
이런식으로 말이죠...
요즘 유행한다는 Chat-gpt에게 물어봤습니다.
처음에는 "Settings"에 가서 "Global Settings" 탭에 TCP를 추가하는게 있다고 하더니
또 나중에는 불가능 하다고 하고,
또 말을 바꾸더니
결국에는 다음과 같은 답변을 내놓더라구요
망할....
고수님들 도와주세요 ㅜㅜ
두가지 설정이 필요합니다.
1. npm 에서 stream 설정
2. npm의 포트 설정
ssh를 도메인 이름으로 구분하는건 불가능하고(http 처럼 구분할 수 있는 프로토콜이 아니므로) 각 ssh 서버마다 외부에서 다른 포트를 통해 들어오도록 하면 됩니다. 그러려면 npm 을 docker 로 실행할 때 80, 81, 443 으로만 포트매핑하면 안되고 외부에서 접속할 ssh 용 포트도 열어야 합니다.
우와.. 스트림을 어찌 사용하는지 몰랐ㄴ느데 오늘에서야 알게 되었네요 ㅎㅎㅎ. 설정 하나 다시 도전해봅니다...
-- 역시 안돼네요 ㅠㅠ;;;
클라우드플레어에서 DNS전용으로 하면 연결이 되는데 아니면 접속이 불가능하네요 ㅎㅎㅎ.
내부적으로 접속하는 IP가 클라우드 플레어를 통해서 가버리면 주소가 틀려져서 접속이 불가능하다는.. 결론이 ㅎㅎㅎ.
클라우드 플레어로 도메인 A 레코드 등록 시 프록싱 을 선택을 하면 클라우드 플레어 IP 를 잡고 웹 데이터를 넘겨주더군요.. 그래서 tcp 같은경우 IP 가 클라우드 플레어로 가르켜 버려서 정상적인 동작이
이루어지지 않더라고요..
이러한 모습이 언제 한번 봤을 수 있는 유저 -> 클라우드 플레어 -> 서버 접속 불가 뭐 이런 모습?
대략 이러한 모습을 볼 수 있게 되는거죠 ㅎㅎㅎ. 중간에 클라우드플레어가 캐싱등을 관리해주는가보더라고요
그래서 도메인 -> 서버로 바로 연결을 할 수 있는 DNS 전용이라는 설정이 존재를 해서 특정 하위 도메인의
경우 바로 서버 IP로 접할 수 있도록 유도할 수 있으니.. 서버의 IP를 외부로 유출을 덜 할수있지 않을까 하는
생각을 해보게 되더라고요...
뭐 대충 아는대로 이러한 부분입니다..
그렇다면 예를 들어 공유기에서 22221 포트를 내부 22번 포트로 직접 포트포워딩 하는 경우에 비해
외부에서 악의적 포트 스캔을 하더라도 22번 포트가 번호바꿔서 열려있는 것을 알수 없게 되는 것인지요 ?
cmt alert