팀뷰어 같은 프로그램은 어떻게 접속을 하는 걸까요?
글쓴이: mg2000 / 작성시간: 수, 2015/12/16 - 11:35오전
제가 회사에 서버를 구축해 놓고,
모바일 기기에서 접속을 하려고 하는데...
회사 백본망 안에 공유기로 연결이 되어있는지라...
외부에서 서버로 연결할 방법이 막막하네요.
공유기에서 DDNS나 포트포워딩 설정해봤자, 회사 백본방에서 제공해주는 내부 IP를 연결해주는 것이니...
팀뷰어 같은 프로그램들은 동일한 망 구성에서도 외부에서 접속이 가능하던데...
이런식으로 구현할려면 어떻게 해야할까요?
어디서부터 시작해야 할지 막막해서 실마리라도 잡을 수 있으면 좋겠네요. ㅜ.ㅡ
Forums:
다양한 방법이 있습니다.
팀뷰어는 클라이언트에서 서버에 접속을 할겁니다.
팀뷰어A - 회사 백본망 - 공유기 - 팀뷰어 중계 서버 - 외부에서 접속한 팀뷰어B
- 팀뷰어A 에서 팀뷰어 중계 서버로 접속
- 팀뷰어B 에서 팀뷰어 중계 서버로 접속
- 팀뷰어 중계서버에서 양방향 전송
-----------------------------------------
외부에서 내부망으로 접속하는 방법
- IPv6 로 직접 접근 : 공유기가 없다면요.
- 포트포워딩으로 접속 : 공유기
- DMZ 설정으로 접속 : 공유기 1대만 연결
- UPnP 를 사용해서 강제로 포트를 열어서 통신
- 백신. 방화벽에서 포트 해제 설정 필요.
------------------------------------------
- 오픈소스로는 RealVNC 가 있습니다.
- 윈도우. 원격 데스크탑도 있습니다.
- 네이트온'도 지원해주고 있습니다.
- 다음 팟 플레이어'도 녹화를 지원해주고 있습니다.
- 스마트폰으로 무선 WiFi 네트워크를 활용해서. 녹화 및 방송하는 경우도 있습니다.
------------------------------------------
- 외부망과 접속이 되는 VPN 되는 윈도우 컴퓨터를 AP나 프록시 서버'로 사용하셔도 됩니다.
- 클라우드 서비스로 데이터를 공유하셔도 되구요.
- 아마존 AWS 같은 웹 데스크탑 서비스도 있고.
- KT VDI 원격 컴퓨터 서비스도 있습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
중계 서버가 있게 된다면...
일단 제가 구현하고 싶은 것은 원격 데스탑 같은건 아니고...
회사 내부망 안에 있는 서버에 통신하고 싶은 것이거든요.
회사 내부망 자체가 VPN이고, 제가 이걸 건드릴 수 없는지라...
팀뷰어는 어떤 식으로 할까 굼금했던 것이거든요.
만약에 중계 서버를 둬서 구현을 한다면
서버와 클라이언트가 통신할때는 계속 중계서버를 거쳐서 데이터를 주고받고 해야 하는건가요?
중계서버가 서버와 클라이언트 연결을 이어주고, 그 이후에는 서버 - 클라이언트가 직접 통신하게 할 수는 없을런지요?
팀뷰어 API 와 SDK가 있네요.
https://integrate.teamviewer.com/ko/develop/index.aspx
직접 통신 하시려면. 회사의 승인이 필요할겁니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
ssh 터널링으로 쉽게 우회하실수 있습니다. 구글에서
ssh 터널링으로 쉽게 우회하실수 있습니다.
구글에서 "ssh 터널링"을 검색해보세요.
홀펀칭 기술을 이용합니다.
팀뷰어 프로그램은 홀펀칭 기술을 이용합니다.
홀펀칭 기술의 대략적인 동작은 다음과 같습니다.
1. NAT 혹은 방화벽안에 있는 클라이언트는 홀을 생성하기 위해서 외부로 통신을 시도합니다.
2. NAT 혹은 방화벽의 특성은 내부의 요청에 대한 응답이 허용되기 때문에 외부와 통신할 수 있는 포트를 생성해줍니다.
3. 생성된 외부 포트에 대한 정보는 랑데뷰 서버를 통해서 외부의 PC로 전달됩니다.
4. 외부 PC는 생성된 외부 포트 정보를 이용해서 연결을 시도하거나 데이터를 전송합니다.
위와 같이했음에도 불구하고 통신 연결 혹은 데이터 전송이 되지 않으면 릴레이 서버로 외부 PC로 데이터가 전달됩니다.
홀펀칭 기술에 대한 자세한 이야기는 구글에서 검색하시면 나오실 것입니다.
이상입니다.
팀뷰어 같은 애플리케이션은 공인ip서버에서 두
팀뷰어 같은 애플리케이션은 공인ip서버에서 두 클라이언트 중계해주는 것 아닌가요?
nat니 뭐니 상관없이 다 적용가능한 가장 간단하고도 강력한 해법같은데요.
여러 가지 방법이 있습니다.
일반적으로는 중계 서버(Relay Server)로 구현하는 것이 정석이지만,
속도와 서버 부하의 이유로 대부분의 프로그램에서 중계 서버를 이용하기 전에
접속 테스트를 여러 가지 해 봅니다. 직접 접속, UPnP IGD 메시지를 이용한 포트 포워딩, 홀 펀칭(이건 네트워크 해킹의 일종이죠) 등.
그래도 다이렉트 연결이 실패했을 때 최후의 수단으로 중계 서버의 주관 하에 서로 메시지를 주고 받게 됩니다.
http://cafe.daum.net/codeinside
댓글 달기