리눅스

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

coinAA 2022. 9. 18. 17:35

 

목차

     

    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