• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
기타

Nginx Proxy Manager 를 통해 TCP 프록시 구성을 할 수 있나요?

DiligentP 663

0

28

안녕하세요 포럼 가입하고 눈팅만 하다가 궁금한게 생겨서 글하나써봅니다... 

 

서브도메인을 통해서 서버 내부의 SSH로 접속을 하고 싶습니다.

 

예들 들면,

ssh [username]@dev.diligentp.com    ->  192.168.0.xx:22 

이런식으로 말이죠...

 

요즘 유행한다는 Chat-gpt에게 물어봤습니다.

 

처음에는 "Settings"에 가서 "Global Settings" 탭에 TCP를 추가하는게 있다고 하더니

 

또 나중에는 불가능 하다고 하고,

image.png.jpg

 

또 말을 바꾸더니

image.png.jpg

 

결국에는 다음과 같은 답변을 내놓더라구요 

image.png.jpg

 

망할....

 

 

고수님들 도와주세요 ㅜㅜ

신고공유스크랩
28
zepinos 2023.06.08. 06:31

두가지 설정이 필요합니다.
1. npm 에서 stream 설정

Screenshot_20230608-063638_EDIT_1686173888526.png.jpg


2. npm의 포트 설정

Screenshot_20230608-064043_EDIT_1686174113039.png.jpg



ssh를 도메인 이름으로 구분하는건 불가능하고(http 처럼 구분할 수 있는 프로토콜이 아니므로) 각 ssh 서버마다 외부에서 다른 포트를 통해 들어오도록 하면 됩니다. 그러려면 npm 을 docker 로 실행할 때 80, 81, 443 으로만 포트매핑하면 안되고 외부에서 접속할 ssh 용 포트도 열어야 합니다.

zepinos 2023.06.08. 12:53
DarkAcid
내부에 지인 공부용으로 서버를 4개 만들어서 위와 같이 각 포트 별로 서버들에 접속할 수 있게 해서 줬어요.
purndal 2023.06.08. 09:39
zepinos

우와.. 스트림을 어찌 사용하는지 몰랐ㄴ느데 오늘에서야 알게 되었네요 ㅎㅎㅎ. 설정 하나 다시 도전해봅니다...

 

-- 역시 안돼네요 ㅠㅠ;;; 

클라우드플레어에서 DNS전용으로 하면 연결이 되는데 아니면 접속이 불가능하네요 ㅎㅎㅎ. 

내부적으로 접속하는 IP가 클라우드 플레어를 통해서 가버리면 주소가 틀려져서 접속이 불가능하다는.. 결론이 ㅎㅎㅎ. 

zepinos 2023.06.08. 12:53
purndal
클라우드플레어에서 dns 전용...이란게 뭔지 궁금하네요. 아니, 전용이 아니란게 뭔지 궁금하네요. 전 name server 와 let's encrypt 챌린지 용으로만 써서요. 저도 같이 고민해봐도 될까요?
purndal 2023.06.08. 22:53
zepinos

클라우드 플레어로 도메인 A 레코드 등록 시 프록싱 을 선택을 하면 클라우드 플레어 IP 를 잡고 웹 데이터를 넘겨주더군요.. 그래서 tcp 같은경우 IP 가 클라우드 플레어로 가르켜 버려서 정상적인 동작이
이루어지지 않더라고요.. 

 

이러한 모습이 언제 한번 봤을 수 있는 유저 -> 클라우드 플레어 -> 서버 접속 불가 뭐 이런 모습?

b45b03813236a09d1dc99c4ec981aaa5.jpg

대략 이러한 모습을 볼 수 있게 되는거죠 ㅎㅎㅎ. 중간에 클라우드플레어가 캐싱등을 관리해주는가보더라고요

 

그래서 도메인 -> 서버로 바로 연결을 할 수 있는 DNS 전용이라는 설정이 존재를 해서 특정 하위 도메인의

경우 바로 서버 IP로 접할 수 있도록 유도할 수 있으니.. 서버의 IP를 외부로 유출을 덜 할수있지 않을까 하는

생각을 해보게 되더라고요... 

 

뭐 대충 아는대로 이러한 부분입니다.. 

zepinos 2023.06.09. 01:24
purndal
혹시 이 건으로 여기 댓글 말고 딴 곳에서 얘기할 수 있을까요? 원글과 다른 내용으로 댓글이 너무 길어지는게 좀 그래서요. 제가 궁금한건 dns 에서 레코드 설정 시 proxy 설정을 했을 경우 웹만 문제란건지 아니면 ssh 만 문제라는 건지 입니다.
zepinos 2023.06.08. 12:55
DiligentP
사실, 포트 설정으로만 가능하다...는게 맞는 말 같아요. 도메인으론 불가능하다...라는거죠. http 같이 헤더에 도메인 값이 포함되서 넘어오게 프로토콜이 설계된건 아니라서요.
profile image
jerry80 2023.06.08. 11:06
zepinos
위와 같이 세팅하는 경우에도 22221-22229 포트는 공유기에서 npm 으로 패스 해줘야 하는 것이지요 ?
그렇다면 예를 들어 공유기에서 22221 포트를 내부 22번 포트로 직접 포트포워딩 하는 경우에 비해
외부에서 악의적 포트 스캔을 하더라도 22번 포트가 번호바꿔서 열려있는 것을 알수 없게 되는 것인지요 ?
123

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story