VMware Lab 환경을 구축하고 다양한 케이스를 테스트하기 위해 구축했던 서버를 밀고 새로 서버를 구축하려 합니다. 이전에는 Windows Server 2012 기반으로 구축했는데 시간이 흘렀으니 이제는 시대에 맞게 Windows Server 2016 기반으로 구축을 생각하고 있습니다. 이번에 서버를 구축하는 주된 목적은 코딩과 관련된 환경을 구축하는 것이고 다양한 플랫폼에서 개발할 수 있는 환경을 만들어 보려고 합니다. 아직 구체적인 계획은 세우지 않았고 조금씩 시간을 할애하면서 관심분야와 방향을 설정하려고 합니다. 우선은 Windows Server 2016을 설치하고 그 위에 VM 기반에서 다양한 시도를 해 보고 싶습니다.
이전의 서버 구축 환경은 아래 링크에서 확인할 수 있습니다
이전에는 Windows Server 2012 기반 위에 VMware Workstation을 Hypervisor로 정하고 그 위에 VM을 생성해서 다양한 시도들을 했습니다. 이번에는 처음부터 VMware vSpere 기반으로 베어 메탈로 서버를 구축하고 그 위에 VM을 돌릴까 하다가 아무래도 원격으로 서버를 On/Off 하고 제어를 해야 할 사항이 많을 것 같아서 이번에도 베어 메탈 방식을 피했습니다. 대신 이번에는 VMware의 Workstation이 아닌 MS에서 제공하는 Hyver-v를 이용해서 하이퍼바이저 환경을 구축하려고 생각하고 있습니다. 지금 현재 생각은 그러나 제가 워낙 VMware 환경에 익숙해서 나중에 생각이 어떻게 바뀔지는 모르겠네요. 아무튼 이를 위해 주말을 기해서 Windows Server 2016을 설치했고, 이제 원격지에서 Windows Server 2016을 On/Off 하고 원격 접속을 위한 설정을 마쳤습니다.
서버를 원격지에서 접속하기 위해서는 원격 데스크톱을 사용으로 활성화하고 원격지에서 서버에 접속할 수 있도록 서버로 유입되는 서비스 포트를 개방해야 합니다. 지금부터 그 과정을 살펴보겠습니다. 앞서 설명을 드렸지만 설정 환경은 Windows Server 2016 환경이나 다른 버전에서도 동일한 과정으로 설정을 진행하기 때문에 따라 하는데 문제는 없습니다.
먼저 [1단계] 원격 데스크톱 서비스를 활성화를 해야 합니다. 이를 위해서는 서버 관리자를 실행합니다. 기본적으로 서버가 구동되면 서버 관리자가 실행되기 때문에 아래 그림은 자주 접했을 겁니다. 아니면 시작 버튼을 클릭 후 '서버 관리자'를 실행하면 됩니다. 이제 아래 그림과 같이 서버 관리자 > 대시보드에서 '로컬 서버'를 선택합니다.
이제 아래 그림과 같이 서버 관리자 화면이 서버 관리자 > 로컬 서버로 바뀌었습니다. 화면의 속성 항목에서 붉은색 박스가 표기된 '원격 데스크톱' 부분을 자세히 봅니다. 기본 설정은 '사용 안 함'으로 되어 있습니다. '사용 안 함'으로 되어 있는 부분을 클릭합니다.
이제 원격 데스크톱의 속성을 변경할 수 있도록 아래 그림과 같이 시스템 속성 창이 열립니다. 기본 설정은 '이 컴퓨터에 대한 원격 연결 허용 안 함(D)'로 선택이 되어 있습니다. 우리는 원격 데스크톱 연결이 목적이기 때문에 '이 컴퓨터에 대한 원격 연결 허용(L)'을 선택합니다. 그리고 아래 그림의 순서에 따라 '네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용(권장)'의 체크를 해제합니다. 혹, 안전하게 윈도우 환경의 다른 PC에서만 원격 데스크톱 연결을 시도한다면 권고 사항에 따라 체크를 해제하지 않는 것이 보안을 위해 좋습니다. 그러나 스마트폰을 이용해서 구글의 안드로이드 기반이나 애플의 iOS 기반에서 다른 앱을 이용해서 원격 데스크톱에 연결을 시도할 생각이라면 마음 편하게 이 체크를 해제하는 것이 좋습니다
그리고 확인을 클릭하면 기본 관리자 계정인 Administrator 계정으로 원격지에서 서버로 원격 데스크톱 연결이 가능합니다. 혹, 서버의 관리자 계정이 아닌 다른 사용자 계정으로 원격 데스크톱 연결을 원할 경우(통상 보안을 위해서 권고하는 사항이지만, 실제 서버를 운영하는 사람들은 귀찮아서 그렇게 하지 않죠) 사용자 선택을 클릭해서 원격 데스크톱 연결을 허용할 사용자를 지정할 수 있습니다. 이것으로 [1단계] 원격 데스크톱 활성화는 끝났습니다. 간단하죠? 그러나, 아직은 서버로 접속이 되지 않습니다. 이유는 보안을 위해 서버 내부로 유입되는 대부분의 서비스 포트가 막혀 있기 때문입니다.
이제 서버로 원격 데스크톱 연결 포트를 개방하기 위한 [2단계] 방화벽 설정에 대해 살펴보겠습니다. 아래 그림에서와 같이 제어판을 실행하고, 범주를 큰 아이콘으로 변경 후 Windows 방화벽을 클릭합니다.
제어판 > 모든 제어판 항목 > Windows 방화벽을 클릭하면 아래와 같이 Windows 방화벽을 설정할 수 있는 창이 열립니다. 이제 아래 그림과 같이 고급 설정을 클릭합니다.
고급 보안이 포함된 Windows 방화벽 창이 열리면 아래 그림과 같이 인바운드 규칙을 클릭합니다. 이유는 서버 내부로 유입되는 서비스 포트에 대한 정책을 수정하기 위함입니다. 인바운드 규칙을 클릭하면 아래 그림과 같이 많은 규칙들이 기본적으로 생성이 되어 있음을 볼 수 있습니다. 원격 데스크톱과 관련된 방화벽 정책도 기본으로 생성이 되어 있습니다. 우리는 기본 설정된 정책에서 '규칙 사용 안 함' -> '규칙 사용'으로 변경할 것입니다.
우측의 스크롤 바를 이용하여 '원격 데스크톱 - 사용자 모드(TCP-in)' 규칙과 '원격 데스크톱 - 사용자 모드(UDP-in)'을 찾아서 '규칙 사용'을 클릭합니다.
여기까지 설정을 확인하기 위해 해당 규칙을 더블클릭하면 아래와 같이 해당 규칙에 대한 속성 창이 뜹니다. 이곳에서 아래 그림과 같이 일반 탭에 사용함에 체크 여부와 작업 탭에 연결 허용 체크 여부를 확인합니다. 참고로 마이크로소트프의 윈도즈 환경의 운영체제는 기본적으로 원격 데스크톱 연결에 TCP/UPD 3389 포트를 사용합니다. 참고로 보안을 위해서 원격 데스크톱을 이용 시 기본 포트가 아닌 다른 포트로 변경해서 사용할 것을 권장합니다. 이 경우 윈도즈 레지스트리를 변경해서 원격 데스크톱에서 사용하는 포트를 변경할 수 있습니다. 이 경우 윈도즈에서 기본적으로 제공하는 규칙(정책)은 포트 변경이 되지 않기 때문에 별도로 사용자 정책을 추가해야 합니다.
아래 그림은 TCP에 이어서 UDP 포트에 대한 연결 허용이 설정된 규칙의 속성입니다. 앞서 언급을 했지만 혹자들은 보안을 위해서 원격 데스크톱에서 사용하는 포트를 변경할 것을 권고합니다. 만약 1대의 서버를 운용한다면 문제가 되지 않지만 실제 서버를 운영하는 환경에서 많은 서버를 구축해서 운용한다면 각각의 서버에 대해 원격 데스크톱에서 사용하는 서비스 포트를 다르게 지정하거나 변경하는 것은 번거로운 작업입니다. 때문에 저는 회사에서 서버 및 보안 관리자 업무를 수행 시 서버에서 기본적으로 사용하는 원격 데스크톱 서비스 포트는 3389번으로 그대로 유지하고 외부에서 내부로 연결되는 포트 포워딩 정책에 다른 포트 번호를 할당하여 원격 서비스를 제공하도록 했습니다. 그리고 모든 서버에 대해 외부에서의 원격 데스크톱을 허용하는 것이 아니라 별도로 원격 데스크톱을 허용할 클라이언트 VM을 1대 생성하고 그 VM을 통해 내부의 다른 서버에 원격 데스크톱 접속이 가능토록 설정을 유지했습니다.
참고로 개인이 가정에서 서버를 구축하거나 SOHO 규모로 직장에 서버를 운용 시에도 ipTIME과 같은 공유기로도 보안 정책을 적용할 수 있습니다. 이 부분은 오늘 주제와는 조금 거리가 있기에 다음에 기회를 만들어서 별도로 포스팅을 진행하겠습니다.
이렇게 Windows Server 2016의 원격 데스크톱에 대한 설정을 마치고 맥북에서 RDP 애플리케이션을 이용하여 서버에 원격으로 접속을 붙어 보았습니다. 집에서는 주로 맥북을 사용하기 때문에 서버 작업을 할 때에 서버에 직접 붙어서 작업하지 않고 맥북에서 원격으로 접속하여 작업을 하는 경우가 많습니다.
그리고 외부에서는 세컨드 노트북인 삼성 아티브북 2015 Edition을 이용하여 원격 데스크톱 서비스를 이용합니다. 윈도우 환경에서 많은 서버를 관리하는 사용자라면 누구나 다 아는 Remote Desktop Connection Manager(v2.7)을 이용합니다. 이 프로그램을 이용하면 관리하는 모든 서버의 접속 환경을 미리 설정해 두고 간단히 클릭만으로 서버에 쉽게 접속할 수 있습니다. 또 회사, 도메인, 용도에 따라 그룹을 구분해서 관리할 수 있기에 원격 데스크톱 연결을 통해 편리하게 서버를 관리할 수 있습니다.
그리고 아래는 휴대하고 다니는 아이패드에서 Remote Desktop 앱을 이용해서 집의 서버에 접속을 위한 설정을 추가하였습니다. 참고로 외부에서 집으로 접속을 위해서는 집의 공유기(라우터)에 DDNS 설정이 필요하고, 포트 포워딩 설정이 필요합니다. 이 부분은 앞서 말씀드린 것처럼 다음에 따라 기회를 잡아서 이 주제로 포스팅을 진행하겠습니다.
아래 그림이 아이패드를 이용해서 서버로 원격 데스크톱 연결한 그림입니다. 저는 아이패드에서 PC 작업이 필요한 경우 WOL 기능을 이용해서 집의 컴퓨터를 원격으로 On 시킨 후 아이패드에서 원격 데스크톱 연결을 이용해서 아이패드를 PC처럼 사용하기도 합니다.
처음 아이패드를 구입했을 때는 아이패드를 어떻게 활용할지 잘 모르고, 또 주로 PC 환경에서 사용하는 프로그램에 익숙해져 있어서 아이패드를 가지고 있을 때에는 원격 데스크톱을 이용해서 PC 환경으로 전환해서 일을 처리했는데, 요즘은 아이패드는 아이패드 기본 용도로 가능한 그대로 사용합니다. 또 잘 찾아보면 웬만한 기능들은 앱스토에서 앱으로 제공이 됩니다. 참 처음 아이패드를 이용할 때에는 원노트를 포함 MS Office 제품군의 지원이 없었기에 원노트 문서와 워드, 엑셀 문서를 편집하기 위해서 원격 데스크톱을 이용하는 경우도 많았습니다. 그러나 요즘은 다 지원되는 거 아시죠? 오늘 포스팅은 여기서 마무리하겠습니다.
2017/08/26 - [Smart Life] - UltraISO로 Windows Server 2016 설치 USB 만들기(동영상)
2017/08/26 - [Smart Life] - Windows Server 2016 설치하기
2017/08/28 - [Smart Working] - UltraISO로 Windows Server 2016 설치를 위한 부팅 USB 만들기