리눅스

리눅스 VNC Server 10분만에 구축하기

coinAA 2022. 9. 18.

 

목차

     

    VNC란?

    VNC(Virtual Network Computing, 가상 네트워크 컴퓨팅)는 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱(GUI 기반) 공유 시스템이다. 자판과 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송시켜서 네트워크를 거쳐 그래픽 화면을 갱신하는 방식을 제공하며, 영국 케임브리지의 Olivetti & Oracle Research Lab(ORL)은 올리베티와 오라클이 해당 연구소를 소유했던 당시에 VNC를 개발하였다.

     

    VNC 구성

    서버와 클라이언트의 구조를 가지는 VNC는 컴퓨터에 서버를 설치 후 구동해서 원격지인 클라이언트에서 서버로 접속하며 컴퓨터를 제어할 수 있다.  화면을 공유하는 시스템에는 VNC 서버를 설치하고 원격지에는 VNC 클라이언트를 설치하고 이후 네트워크에 연결된 컴퓨터에 원격으로 접속해서 컴퓨터의 화면을 보면서 제어할 수 있게 된다.

    원격 접속은 (1 대 1) 뿐만 아니라 (1 대 다수) 접속도 가능하며, 화면에 접속한 모든 클라이언트의 화면이 표시된다.
    VNC는 리눅스나 윈도우 같은 플랫폼 간의 데스크톱을 공유하거나, 모바일 기기 제어, 임베디드 기기 제어 등 여러곳에 여러곳에 사용할 수 있으며 RealVNC, TightVNC, UltraVNC 등 여러가지가 종류가 존재하며 대부분 상용이 아닌 무료로 제공되고 있다.

     

    VNC Server 구축

    VNC Server 구축 사전 준비

    OS 정보확인

     cat /etc/redhat-release

    cat /etc/redhat-release 결과값

     

    SELinux OFF

    SELinux 재부팅 하지 않고 OFF 방법

    setenforce 0

     

    SELinux 영구적 OFF 방법

    SELINUX=enforcing 을 SELINUX=disabled 로 변경후 저장한다.

    vi /etc/sysconfig/selinux

    vi /etc/sysconfig/selinux 결과값

    SELinux 상태 확인

    sestatus

    sestatus 결과값

     

     

    VNC Server 구축을 위한 패키지 설치

    #리눅스 update 진행
    yum -y update
    
    #EPEL은 Extra Packages of Enterprise Linux 의 준말이며, 리눅스의 추가 패키지다.
    yum -y install epel-release
    
    #OS를 최설치하여 그래픽 환경이 존재하지 않을 시 설치
    yum -y groupinstall "GNOME Desktop"
    
    #VNC Server Packages Install
    yum install -y tigervnc-server
    
    #시스템 반영
    systemctl daemon-reload

     

    VNC Client 패키지 설치

    #VNC에 접속하기 위한 패키지 설치
    yum -y install tigervnc

     

    VNC User 생성

    View 전용을 사용하지 않는다면 다음 구문에서 n을 입력하고 View 전용을 사용한다면 y를 입력하여 준다.

    Would you like to enter a view-only password (y/n)? 

    [testuser3@vncserver ~]$ vncserver :3 -geometry 3840x1080 -depth 24
    
    You will require a password to access your desktops.
    
    Password:
    Verify:
    Would you like to enter a view-only password (y/n)? n
    A view-only password is not used
    
    New 'vncserver:3 (testuser3)' desktop is vncserver:3
    
    Starting applications specified in /home/testuser3/.vnc/xstartup
    Log file is /home/testuser3/.vnc/vncserver:3.log
    [testuser3@vncserver ~]$

     

    VNC File 설명

    경로 및 File name 설명
    $HOME/.vnc/xstartup VNC 데스크탑이 시작될 때 실행할 X 응용 프로그램을 지정하는 셸 스크립트이며, 이 파일이 없으면 vncserver는 선택한 창 관리자를 시작하려고 시도하는 기본 xstartup 스크립트를 만든다.
    $HOME/.vnc/passwd VNC 암호 파일이다.
    $HOME/.vnc/ 호스트 : 디스플레이# .log Xvnc 및 응용 프로그램에 대한 로그 파일이다.
    $HOME/.vnc/ 호스트 : 디스플레이# .pid -kill 옵션 에서 사용하는 Xvnc 프로세스 ID를 식별하기 위한 파일이다.

     

    VNC Firewall 방화벽 허용

    #예시에서는 5901 port open
    firewall-cmd --permanent --add-port=5901/tcp
    
    #firewall 재실행
    firewall-cmd --reload

     

    VNC Iptable 방화벽 허용

    #사용할 port 수만큼 Open 예시에서 5900 ~ 6000 Open 설정
    iptables -I INPUT -p tcp -m multiport --dport 5900:6000 -j ACCEPT
    
    #iptable 방화벽 정책 저장
    service iptables save
    
    #서비스 재시작
    systemctl restart iptables

     

    VNC 실행

    vncserver :[port number] -geometry [해상도] -depth [number(기본값 24)]
    
    #예시
    vncserver :1 -geometry 3840x1080 -depth 24

     

    VNC 종료

    vncserver -kill :[port number]
    
    #예시
    vncserver -kill :1

     

    VNC 접속

    VNC Viewer를 사용하여 [IP Address]:[port number] 입력 후 접속 

    VNC Vierwer

     

    VNC Vierwer 연결 시도 후에 Connection 성공 시 파업창

     

     

     

    터미널 서버(Terminal server) 개념과 필요성, 이점 정리

    목차 터미널 서버(Terminal server) 개념 터미널 서버(Terminal server)는 여러 사용자가 직렬 포트를 통해 원격으로 네트워크 장치와 서버에 연결하고 관리할 수 있도록 하는 장치이고 네트워크 장치 및

    onecoin-life.com

     

    댓글