팀뷰어 같은 프로그램은 어떻게 접속을 하는 걸까요?

mg2000의 이미지

제가 회사에 서버를 구축해 놓고,

모바일 기기에서 접속을 하려고 하는데...

회사 백본망 안에 공유기로 연결이 되어있는지라...

외부에서 서버로 연결할 방법이 막막하네요.

공유기에서 DDNS나 포트포워딩 설정해봤자, 회사 백본방에서 제공해주는 내부 IP를 연결해주는 것이니...

팀뷰어 같은 프로그램들은 동일한 망 구성에서도 외부에서 접속이 가능하던데...

이런식으로 구현할려면 어떻게 해야할까요?

어디서부터 시작해야 할지 막막해서 실마리라도 잡을 수 있으면 좋겠네요. ㅜ.ㅡ

shint의 이미지

팀뷰어는 클라이언트에서 서버에 접속을 할겁니다.
팀뷰어A - 회사 백본망 - 공유기 - 팀뷰어 중계 서버 - 외부에서 접속한 팀뷰어B

- 팀뷰어A 에서 팀뷰어 중계 서버로 접속
- 팀뷰어B 에서 팀뷰어 중계 서버로 접속
- 팀뷰어 중계서버에서 양방향 전송

-----------------------------------------
외부에서 내부망으로 접속하는 방법

- IPv6 로 직접 접근 : 공유기가 없다면요.
- 포트포워딩으로 접속 : 공유기
- DMZ 설정으로 접속 : 공유기 1대만 연결
- UPnP 를 사용해서 강제로 포트를 열어서 통신

- 백신. 방화벽에서 포트 해제 설정 필요.

------------------------------------------
- 오픈소스로는 RealVNC 가 있습니다.
- 윈도우. 원격 데스크탑도 있습니다.
- 네이트온'도 지원해주고 있습니다.
- 다음 팟 플레이어'도 녹화를 지원해주고 있습니다.
- 스마트폰으로 무선 WiFi 네트워크를 활용해서. 녹화 및 방송하는 경우도 있습니다.

------------------------------------------
- 외부망과 접속이 되는 VPN 되는 윈도우 컴퓨터를 AP나 프록시 서버'로 사용하셔도 됩니다.
- 클라우드 서비스로 데이터를 공유하셔도 되구요.
- 아마존 AWS 같은 웹 데스크탑 서비스도 있고.
- KT VDI 원격 컴퓨터 서비스도 있습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

mg2000의 이미지

일단 제가 구현하고 싶은 것은 원격 데스탑 같은건 아니고...

회사 내부망 안에 있는 서버에 통신하고 싶은 것이거든요.

회사 내부망 자체가 VPN이고, 제가 이걸 건드릴 수 없는지라...

팀뷰어는 어떤 식으로 할까 굼금했던 것이거든요.

만약에 중계 서버를 둬서 구현을 한다면

서버와 클라이언트가 통신할때는 계속 중계서버를 거쳐서 데이터를 주고받고 해야 하는건가요?

중계서버가 서버와 클라이언트 연결을 이어주고, 그 이후에는 서버 - 클라이언트가 직접 통신하게 할 수는 없을런지요?

shint의 이미지

https://integrate.teamviewer.com/ko/develop/index.aspx

직접 통신 하시려면. 회사의 승인이 필요할겁니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

ddoman의 이미지

ssh 터널링으로 쉽게 우회하실수 있습니다.
구글에서 "ssh 터널링"을 검색해보세요.

kshbrain의 이미지

팀뷰어 프로그램은 홀펀칭 기술을 이용합니다.

홀펀칭 기술의 대략적인 동작은 다음과 같습니다.

1. NAT 혹은 방화벽안에 있는 클라이언트는 홀을 생성하기 위해서 외부로 통신을 시도합니다.
2. NAT 혹은 방화벽의 특성은 내부의 요청에 대한 응답이 허용되기 때문에 외부와 통신할 수 있는 포트를 생성해줍니다.
3. 생성된 외부 포트에 대한 정보는 랑데뷰 서버를 통해서 외부의 PC로 전달됩니다.
4. 외부 PC는 생성된 외부 포트 정보를 이용해서 연결을 시도하거나 데이터를 전송합니다.

위와 같이했음에도 불구하고 통신 연결 혹은 데이터 전송이 되지 않으면 릴레이 서버로 외부 PC로 데이터가 전달됩니다.

홀펀칭 기술에 대한 자세한 이야기는 구글에서 검색하시면 나오실 것입니다.

이상입니다.

twinwings의 이미지

팀뷰어 같은 애플리케이션은 공인ip서버에서 두 클라이언트 중계해주는 것 아닌가요?

nat니 뭐니 상관없이 다 적용가능한 가장 간단하고도 강력한 해법같은데요.

optimistichacker의 이미지

일반적으로는 중계 서버(Relay Server)로 구현하는 것이 정석이지만,

속도와 서버 부하의 이유로 대부분의 프로그램에서 중계 서버를 이용하기 전에
접속 테스트를 여러 가지 해 봅니다. 직접 접속, UPnP IGD 메시지를 이용한 포트 포워딩, 홀 펀칭(이건 네트워크 해킹의 일종이죠) 등.

그래도 다이렉트 연결이 실패했을 때 최후의 수단으로 중계 서버의 주관 하에 서로 메시지를 주고 받게 됩니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.