Remote Desktop 원격 접속

Marsboy·2023년 7월 16일
0

네트워크

목록 보기
2/2

서론

공문서를 다운로드할 때 가끔씩 키보드보안 등을 요구하는 경우가 있다. 맥북을 통해서 진행할 수 없었기에 집에 있는 윈도우 노트북에 원격 접속을 통해서 해결할 수 있도록 하고자 하여 자료를 찾아보게 되었다. 이 외에도 윈도우 OS에서만 작동하는 다양한 프로그램들이 있기 때문에 RDP를 이용하게 되었다.

네트워크 용어에 익숙하지 않은 사람을 위해 간단하게 정리하면 아래와 같다.

  • 호스트(host) : 네트워크에 연결된 컴퓨터
  • 포트(port) : 컴퓨터의 어플리케이션이 사용하는 논리적 주소 ( 0 ~ 65535 )
  • 클라이언트(client) : 접속을 시도하는 호스트
  • 서버(server) : 접속을 허락하는 호스트
  • 엔드포인트(endpoint) : 접속을 하락하는 호스트의 IP 주소 ( 포트는 제외 )
  • 같은 네트워크 : 같은 와이파이를 사용하는 경우

같은 네트워크에서 RDP 원격 접속

같은 네트워크에서 RDP를 통해 원격 접속하는 방법은 간단하다. 이 때는 사설 IP를 통한 원격 접속이 가능하기 때문이다.

cmd

서버에서 cmd를 실행시킨다.

ipconfig

ipconfig 명령어를 통해서 IPv4 주소를 확인할 수 있다. 위 사진에서는 192.168.0.14라는 것을 알 수 있었다.

이 후 서버에서 원격 데스크탑 허용을 해줘야한다.

windows 설정

이 후 시스템 - 원격 데스크탑에 접속하여 원격 데스크톱 활성화를 해야한다.
원격 데스크톱

클라이언트에서 RDP를 실행시킨다.

PC name 항목에 앞서 cmd를 통해서 확인한 IPv4를 통해서 원격 접속할 수 있다.

같은 네트워크 내에서 접속하는 경우는 매우 간단하다. 다른 네트워크에서 접속하는 경우는 조금 복잡하다. 이 경우에는 DDNS,DHCP,포트포워딩 설정이 필요하다.

외부 네트워크에서 RDP 원격 접속

네트워크구조

공유기를 사용한다고 가정하고 네트워크의 구조를 위와 같이 그릴 수 있다. Router의 왼쪽은 가정에서 사용하는 와이파이 공유기에 window, mac, iptv 등이 연결되어 있다. 오른쪽은 인터넷으로 연결되어 있고, 외부에는 서버 및 원격 접속을 시도할 유저가 있는 상황이다.

공유기의 네트워크를 사용하는 Host들은 사설 IP를 사용하게 된다. 왼쪽의 호스트들은 192.168.0.10부터 192.168.0.12까지의 사설 IP를 할당받은 상황이다. 위에서 cmd를 통해 확인한 서버의 IP를 보면

  • IPv4 주소 : 192.168.0.14
  • 기본 게이트웨이 : 192.168.0.1
  • 서브넷 마스크 : 255.255.255.0

이를 통해서 알 수 있는 것은 192.168.0.1의 IP의 게이트웨이 역할을 하는 공유기 내에 있는 호스트들은 192.168.0.X의 IP 대역을 가지고 있다는 것을 알 수 있다. 추가로 원격 접속을 허락할 서버의 사설 IP는 192.168.0.14이다.

이렇게 192.168.0.14를 통해서 직접 연결할 수 있는 것은 같은 네트워크 안에 있는 경우고, 외부 네트워크에서 접속하기 위해선 공인 IP를 통한 접속이 필요하다. 공유기에 접속하여 직접 IP 설정이 필요하다.

게이트웨이

어떤 공유기를 사용하냐에 따라 다르지만, 필자는 192.168.0.1를 통해 공유기로 접속할 수 있었다. DDNS, DHCP, 포트포워딩 설정을 통해서 외부 네트워크에서 RDP 접속을 할수 있게 해보자. 설명은 위 화면을 기준으로 진행한다.

DDNS 설정

DDNS

관리 도구를 통해 네트워크 관리 페이지에 들어오면 먼저 고급 설정 - 특수기능 - DDNS 설정탭에서 DDNS를 등록한다.

호스트이름과 사용자 ID를 통해서 DDNS를 등록할 수 있다. 등록하게 되면 등록 IP주소를 할당받게 되는데, 이 IP 주소가 연결하려고 하는 Host의 엔드포인트가 된다.

DHCP 설정

DHCP

다음으로 고급 설정 - 네트워크 관리 - DHCP 서버 설정 탭으로 이동한다. 아래 부분을 보면 사용중인 IP 주소 정보 탭에 세 개의 사설 IP를 할당받은 Host들을 확인할 수 있다. 원격 접속하고 싶은 host 사설 IP를 클릭하고, 오른쪽 아래 수동 등록 버튼을 누르면 사설 IP가 등록되게 된다.

포트포워딩 설정

포트포워딩

RDP는 원격 접속을 할 때 서버의 3389 포트를 통해서 접속을 한다. 하지만 외부 네트워크에서는 3389 포트를 통해 접속을 한다고 하더라도 접속이 되질 않는다. 공유기는 외부와 내부의 IP와 포트를 연결하는 자료구조를 가진 테이블(NAT table)이 존재한다. 공유기는 NAT table에 등록되지 않은 IP로 접속은 기본적으로 차단하는 역할을 한다. 따라서 외부에서 3389 포트를 등록하기 위해서는 포트포워딩을 해야 한다. 내부 네트워크에서는 정상적으로 접근이 되었던 이유는 공유기를 거치지 않기 때문에 3389 포트에 대한 접속이 막히지 않았던 것이다.

내부 IP주소에 포트포워딩 규칙을 적용하고자 하는 호스트의 사설 IP주소를 입력하고, 내부 포트는 3389로 고정, 외부 포트는 원하는 포트를 입력하면 된다.

외부 포트로 3389를 사용해도 좋으나, 필자가 다니는 대학교의 네트워크에서는 3389 포트를 통한 아웃바운드가 막혀있기 때문에 33890으로 포트포워딩을 설정했다. 3389나 33890이 아니더라도 이미 호스트에서 사용하고 있는 포트가 아니라면 상관없다.

RDP 연결

RDP외부

마지막으로 DDNS를 통해 할당받은 등록 IP주소와 포트포워딩을 통해 설정해둔 외부 포트를 통해서 연결을 시도하면 정상적으로 연결된다.

참고

위 네트워크 구조의 그림은 널널한 개발자 TV님의 유튜브 영상을 참고했습니다.

profile
Backend Developer

0개의 댓글