공유기에 연결된 Linux(Ubuntu) 컴퓨터를 외부에서 원격 데스크톱 연결을 통해 조작하기
최근에는 노트북의 성능도 꽤 좋아진 편이라 한 대만 들고다녀도 어지간한 데스크탑 컴퓨터의 기능은 무리없이 수행할 수 있게 되었습니다만 그럼에도 아직까지는 데스크톱의 성능을 따라가지는 못하는 것이 현실이지요. 그렇다고 해서 데스크탑 컴퓨터를 이리저리 들고다닐 수는 없는 노릇이지요.
이러한 경우를 위해 최근의 운영체제에서는 다른 컴퓨터를 통해 원격으로 조작이 가능한 기능이 구현되어 있는데요 이 원격 기능이 서로 다른 운영체제끼리도 호환이 된다는 점이 있습니다. 그렇기에 자신의 노트북 컴퓨터가 Windows라 하더라도 자신의 집에 있는 데스크탑이 Ubuntu라면 원격접속을 통해 데스크탑 PC를 마치 내 노트북에서 사용하는 듯이 원거리에서 조작이 가능합니다!
이번 포스팅에서는 공유기와 연결되어 있는 Ubuntu 운영체제 데스크톱을 야외 등 외부에서 인터넷을 통해 접속하여 데스크톱을 원격조작하는 방식에 대해 알아보고자 합니다. 그럼 시작해보도록 하겠습니다.
1. 먼저 Ubuntu에 다음 명령어를 입력하여 프로그램을 설치합니다.
$ sudo apt-get install vnc4server xrdp
4. 설치한 프로그램을 바로 적용합니다.
$ sudo service xrdp restart
만약 자신의 컴퓨터가 다른 포트가 설정되어 xrdp와 충돌하게 될 경우 설정을 변경해야 되는 경우가 있습니다. 이는 /etc/xrdp/xrdp.ini 와
/etc/xrdp/sesman.ini 파일을 수정해 주시면 되겠습니다.
/etc/xrdp/xrdp.ini
위 화면의 설정을 보았을 때 현재 [globals]에서 포트번호가 기본으로 3389번으로 설정되어 있습니다. 만약 자신의 환경에서 해당 포트를 다른 곳에서 사용하고 있거나 자신이 설정하고자 하는 다른 포트번호가 있으면 해당 부분을 변경해 주시면 되겠습니다.
3. 아래 명령어를 입력하여 포트가 제대로 설정되었는지 확인합니다.
$ netstat -antp
위의 명령어를 통해 화면에 나오는 것처럼 자신이 설정한 포트가 LISTEN으로 설정되어 있다면 외부에서 접속을 받을 준비가 되었다는 의미입니다.
4. 외부의 원격 조정 요청을 처리하는 부분을 설정해줍니다. Windows버튼 (혹은 우분투 왼쪽 상단 버튼)을 누르신후 한글로 '데스크톱'이라고 입력하시면 '데스크톱 공유'라는 이름의 프로그램이 나타납니다. 해당 프로그램을 실행합니다.
5. 실행시 '데스크톱 공유 기본 설정'창이 나타납니다. 해당 설정을 아래와 같이 해줍니다. 다음으로 외부에서 접속하였을 때 입력할 비밀번호를 설정해주신 후 닫기 버튼을 클릭합니다.
여기까지 진행하셨다면 Ubuntu 데스크톱에서 설정은 모두 끝났습니다. 만약 자신의 데스크톱PC가 인터넷선과 직접적으로 연결되어 있다면 자신의 IP 주소만 기억해두시면 바로 원격조정이 가능합니다만 공유기의 경우 포트포워딩을 통해 공유기와 연결된 데스크탑 PC로 연결될 수 있도록 해주어야 합니다. 포트포워딩에 대해 좀 더 자세히 알고 싶신 분께서는 아래 포스팅을 참조해 주시기 바랍니다.
WF2411 공유기를 통한 외부 기기와 소켓 통신 프로그래밍
http://elecs.tistory.com/45
이번에는 자신의 공유기에 포트포워딩을 설정해줍니다. 본 포스팅에서는 Netis사의 WF2411 공유기를 기준으로 설명하겠습니다. 자신의 공유기를 통한 포트포워딩 설정에 대한 자세한 사항은 공유기 제조사 홈페이지를 참조해주시길 바랍니다.
6. 현재 자신의 PC에 설정된 IP 주소를 확인합니다. 이 과정을 통해 확인하게 되는 IP주소는 공유기가 자신과 연결된 기기에 할당한 가상 IP로서 공유기와 연결된 기기 사이에서만 사용될 수 있는 내부 IP 주소입니다.
$ ifconfig
Terminal을 통해 현재 Ubuntu 데스크탑 컴퓨터가 공유기로부터 192.168.1.9 번의 주소를 할당 받고 있음을 확인하실 수 있습니다. 이 주소를 기억하신 후 포트포워딩 설정시 적용하도록 합니다.
7. 자신의 공유기 설정 모드로 로그인합니다. 일반적으로 공유기 설정 모드에 접속하는 주소는 http://192.168.1.1 입니다.
8. 포트포워딩 메뉴에 들어가신 후 자신의 컴퓨터 환경에 맞추어 접속 포트를 설정해줍니다.
이곳에서 입력하셔야 할 내용은 다음과 같습니다.
내부 IP주소(서버 PC) - 자신의 Ubuntu 데스크탑이 공유기로부터 할당받은 주소값을 입력합니다.
포트번호(외부) - 원격 접속을 할 컴퓨터가 공유기에 접속하게 될 때 사용할 포트 번호를 입력합니다.
포트번호(내부) - 공유기가 Ubuntu 데스크탑으로 접속하게 될 때 사용할 포트번호를 입력합니다. Ubuntu xrdp의 경우 내부 포트 설정 기본값이 3389로 설정되어 있습니다.
여기서 외부 포트번호는 원격접속을 하게 될 컴퓨터가 접속하고자 하는 포트 번호를 입력하고 외부에서 해당 포트번호를 입력하게 되면 공유기는 해당 신호를 내부 IP주소가 설정된 컴퓨터로 내부 포트번호를 통해 접속하게 됩니다. 자세한 사항은 아래 그림을 참조해주시면 되겠습니다.
이미지 출저 : http://documentation.commvault.com/hds/v10/article?p=features/firewall/port_forward_gateway.htm
443번과 444번은 외부 포트번호를 나타내고 있으며 해당 포트 번호로 공유기에 연결을 시도하면 공유기는 이를 해당 색깔과 같은 색깔로 내부 IP주소가 설정된 대로 신호를 전송합니다. 이 때 해당 신호는 내부 포트번호가 440으로 설정된 상황입니다.
9. 이제 자신의 공유기가 외부로부터 할당받은 IP 주소를 확인합니다. 이 또한 자신의 공유기 설정 페이지에서 확인이 가능합니다.
위에서 보셨을 때 WAN IP 주소 부분에 적혀있는 것이 바로 자신의 공유기가 외부에서 할당받은 주소입니다. 앞으로 우리는 위 주소를 통해여 원격 데스크톱에 접속할 것입니다.
이번에는 외부의 컴퓨터를 통해 Ubuntu 데스크톱 컴퓨터를 조종해 보도록 하겠습니다. 먼저 시작(윈도) 버튼을 누르신 후 검색창에 '원격 데스크톱' 을 검색합니다.
'원격 데스크톱 연결' 프로그램을 실행하신 후 Ubuntu 데스크탑과 연결된 공유기의 IP 주소를 입럭하신 후 포트포워딩으로 설정해 두었던 포트번호를 입력하신 후 '연결' 버튼을 클릭합니다.
노란 경고 화면이 등장하면서 연결 여부를 확인합니다. '예(Y)'버튼을 클릭합니다.
아래와 같은 화면이 나온다면 Ubuntu 데스크탑에 연결되는 데에 성공한 것입니다. Module을 'console'로 선택하신 후 우분투에서 '데스크톱 공유 기본설정'시 설정한 비밀번호를 입력합니다.
올바른 비밀번호를 입력하시게 되면 아래와 같이 원격으로 접속된 Ubuntu 데스크탑 화면이 등장하게 됩니다. 이제 여러분들께서 하고자 하는 작업을 원격으로 수행해 보시기를 바랍니다~!