리눅스 CentOS VNC 서버 구축

VNC(Virtual Network Computing)는 원격으로 다른 컴퓨터의 GUI를 제어하는 기술입니다. 비슷한 기술로는 RDP(Remote Desktop Protocol)가 있으며 VNC는 오픈소스 RDP는 마이크로소프트의 독점적 기술입니다.


윈도우즈에서 윈도우키를 누르고 원격 데스크톱 연결이라고 치면 나오는 프로그램이 RDP를 제어하는 프로그램입니다. 제가 알기에 RDP는 각각의 세션이 별개로 실행되어 조작되는 반면 VNC는 화면이 캡쳐되어 전송되는 방식이기에 원격 사용자와 로컬 사용자가 같은 화면을 보게됩니다.


여하지간 오늘은 CentOS에서 VNC 서버를 구축하여 원격으로 XWindow를 사용할 수 있도록 할 것입니다. 서버 운영체제에선 사실상 VNC나 X-Window는 필요없고 무거울 뿐이지만 더럿 필요한 경우도 있습니다.




구축 환경

저는 네이버 클라우드 플랫폼(이하 NCP)의 Micro Server를 이용하였고 운영체제는 CentOS7을 사용했습니다. 우선 간단하게 순서를 나열하면 다음과 같습니다.




구축 순서

  1. X-Window 설치
  2. VNC 서버 설치
  3. VNC 서버 설정
  4. 방화벽 설정
  5. ACG 규칙 설정(for NCP)
  6. VNC Viewer로 접속




X-Window 설치

우선 X-Window를 설치하도록 합시다. 필자는 GNOME을 설치하도록 할 것입니다.

yum groupinstall "GNOME Desktop"

그럼 800MB 가량의 환경을 설치해야 합니다. 약간의 인고의 시간을 기다려야 하지만, GUI를 800MB로 볼 수 있음에 감사해야합니다!




VNC 서버 설치

단 한줄의 명령어로 VNC 서버를 설치합니다.

yum install tigervnc-server

벌써 두 챕터가 끝났습니다!




VNC Setting

이제 설치된 VNC를 설정해 주어야 합니다. 타이거 VNC에서 제작한 템플릿을 복사하여 안에 내용을 수정합니다.

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vi /etc/systemd/system/vncserver@:1.service


위 사진에 보이는 <USER>부분을 수정하면 됩니다. 일반 사용자를 생성한 뒤 사용자의 이름을 넣는 것을 추천합니다. 사용자는 useradd {USER} 명령어로 생성할 수 있습니다.




방화벽 설정

다음으로 아래 명령어를 사용하여 vnc-server의 방화벽을 열어두어야 합니다.

firewall-cmd --permanent --zone=public --add-service vnc-server
firewall-cmd --reload


만약 위와같은 not running, Firewalld is not running이라는 오류가 발생한다면 아래 적혀진 코드를 순서대로 실행하세요.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

위 명령어를 순서대로 실행하면 active라는 글자가 나타날 것 입니다. 이제 다시 위로 올라가서 명령어를 다시 입력하세요.




이후 <USER>에 기록했던 사용자로 변경(su - {USER})한 다음 VNC 서버를 동작시켜 주어야 합니다.

vncserver
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:service
sudo init 6

1행의 vncserver를 입력하면 비밀번호를 만들라고 뜨는데 만들어 주시면 됩니다. init 6reboot을 나타냅니다.




ACG 규칙

리부팅이 되는 동안 네이버 클라우드 플랫폼의 유저라면 ACG 규칙을 설정하기 안성맞춤입니다. 만일 ACG 규칙은 일명 포트포워딩을 해주는 과정이기 때문에 가정용 네트워크에서 구축한다고 건너뛰어도 되는건 아닙니다. 자신의 공유기에 접속하여 같은 포트를 포트포워딩 하십시오.


네이버 클라우드 플랫폼에서 서버를 클릭하면 ACG 규칙이라는 항목을 바로 찾아볼 수 있습니다. 그럼 필자가 설정한 것과 마찬가지로 5091포트를 열어주시면 됩니다. 가정용 네트워크 사용자도 마찬가지 입니다.




VNC Viewer

이제 모든 준비는 끝났습니다. VNC Viewer를 이용하여 당신의 서버에 접속해 보십시오.




WRITTEN BY

배진오

웹 개발자 지망생
im@baejino.com

comments powered by Disqus