Linux VM용 VNC 활성화
XenServer에서 원격으로 VM을 제어할 때 사용하는 VNC(Virtual Network Computing)를 기본적으로 지원하도록 VM을 설정할 수 없습니다. Citrix Hypervisor 센터에 연결하기 전에 VNC 서버와 X 디스플레이 관리자가 VM에 설치되어 있고 올바르게 구성되어 있는지 확인합니다. 이 섹션에서는 지원되는 각 Linux 운영 체제 배포판에서 VNC를 구성하여 Citrix Hypervisor 센터와 올바르게 상호 작용할 수 있도록 하는 방법에 대해 설명합니다.
CentOS 기반 VM의 경우 그래픽 VNC 액세스를 제공하는 데 동일한 기본 코드를 사용하므로 아래의 Red Hat 기반 VM에 대한 지침을 따르십시오. CentOS X는 Red Hat Enterprise Linux X를 기반으로 합니다.
Debian VM에서 그래픽 콘솔 활성화
참고:
Debian VM에서 그래픽 콘솔을 활성화하기 전에 Linux용 XenServer VM Tools를 설치했는지 확인하십시오. 자세한 내용은 Linux용 XenServer VM Tools 설치를 참조하십시오.
Debian 가상 머신의 그래픽 콘솔은 VM 안에서 동작하는 VNC 서버가 제공합니다. 권장 구성에서는 로그인 대화 상자가 제공되도록 표준 디스플레이 관리자가 콘솔을 제어합니다.
-
Debian 게스트를 Debian GNU/Linux 시스템 패키지로 설치하거나 apt를 사용하여 GDM (디스플레이 관리자) 을 설치합니다 (표준 절차에 따라).
-
apt-get
(또는 유사한 명령)를 사용하여 Xvnc 서버를 설치합니다.apt-get install vnc4server <!--NeedCopy-->
참고:
Gnome 디스플레이 관리자 버전 3 데몬을 사용하는 Debian 그래픽 데스크탑 환경은 CPU 시간이 많이 걸릴 수 있습니다. Gnome 디스플레이 관리자
gdm3
패키지를 제거하고 다음과 같이gdm
패키지를 설치합니다.apt-get install gdm apt-get purge gdm3 <!--NeedCopy-->
-
vncpasswd
명령을 사용하여 VNC 암호를 설정하십시오 (암호가 없으면 심각한 보안 위험이 있음). 암호 정보를 기록할 파일 이름을 전달합니다. 예:vncpasswd /etc/vncpass <!--NeedCopy-->
-
gdm.conf
파일(/etc/gdm/gdm.conf
)을 수정하여[servers]
및[daemon]
섹션을 다음과 같이 확장함으로써 VNC 서버가 디스플레이0
을 관리하도록 구성합니다.[servers] 0=VNC [daemon] VTAllocation=false [server-VNC] name=VNC command=/usr/bin/Xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlacklistTimeout=0 flexible=true <!--NeedCopy-->
-
GDM을 다시 시작한 다음 Citrix Hypervisor 센터에서 그래픽 콘솔을 검색할 때까지 기다립니다.
/etc/init.d/gdm restart <!--NeedCopy-->
참고:
ps ax | grep vnc
같은 명령을 사용하여 VNC 서버가 실행 중인지 확인할 수 있습니다.
Red Hat, CentOS 또는 Oracle Linux VM에서 그래픽 콘솔을 사용하도록 설정
참고:
VNC용 Red Hat VM을 설정하기 전에 Linux용 XenServer VM Tools를 설치했는지 확인하십시오. 자세한 내용은 Linux용 XenServer VM Tools 설치를 참조하십시오.
Red Hat VM에서 VNC를 설정하려면 GDM 구성을 수정하십시오. GDM 구성은 사용 중인 Red Hat Linux의 버전에 따라 위치가 다른 파일에 유지됩니다. 수정하기 전에 먼저 이 구성 파일의 위치를 결정하십시오. 이 파일은 이 섹션의 여러 후속 절차에서 수정됩니다.
VNC 구성 파일의 위치를 결정합니다
Red Hat Linux를 사용하는 경우 GDM 설정 파일은 /etc/gdm/custom.conf
입니다. 이 파일은 기본 구성을 무시하는 사용자 지정 값만 포함하는 분할 구성 파일입니다. 이 파일 형식은 최신 버전의 GDM에서 기본적으로 사용됩니다. 이 버전은 이러한 버전의 Red Hat Linux에 포함되어 있습니다.
VNC를 사용하도록 GDM 구성
-
루트로 로그인하여 VM의 텍스트 CLI에서
rpm -q vnc-server gdm
명령을 실행합니다. 패키지 이름vnc-server
및gdm
이(가) 지정된 버전 번호와 함께 표시됩니다.표시된 패키지 이름은 이미 설치된 패키지를 보여 줍니다. 패키지가 설치되지 않았다는 메시지가 표시되면 설치 중에 그래픽 데스크탑 옵션을 선택하지 않았을 수 있습니다. 계속하기 전에 이러한 패키지를 설치하십시오. VM에 추가 소프트웨어를 설치하는 방법에 대한 자세한 내용은 해당 Red Hat Linux x86 설치 안내서를 참조하십시오.
-
원하는 텍스트 편집기에서 GDM 구성 파일을 열고 파일에 다음 줄을 추가합니다.
[server-VNC] name=VNC Server command=/usr/bin/Xvnc -SecurityTypes None -geometry 1024x768 -depth 16 \ -BlacklistTimeout 0 flexible=true <!--NeedCopy-->
Red Hat Linux의 설정 파일을 사용하여 빈
[servers]
섹션에 이 줄을 추가합니다. -
표준 X 서버 대신
Xvnc
서버가 사용되도록 구성을 수정합니다.-
0=Standard
이 줄을 다음과 같이 수정합니다.
0=VNC
-
Red Hat Linux를 사용하는 경우
[servers]
섹션 바로 아래 및[server-VNC]
섹션 앞에 위 줄을 추가하십시오.
-
-
파일을 저장하고 닫습니다.
/usr/sbin/gdm-restart
명령을 실행하여 GDM을 다시 시작하여 구성에서 변경한 내용을 적용합니다.
참고:
Red Hat Linux는 그래픽 방식 시작에 실행 수준 5를 사용합니다. 런레벨 3에서 설치가 시작되는 경우 화면표시 관리자를 시작하고 그래픽 콘솔에 액세스하도록 이 구성을 변경합니다. 자세한 내용은 실행 수준 확인을 참조하십시오.
방화벽 설정
기본적으로 방화벽 구성은 VNC 트래픽의 통과를 허용하지 않습니다. VM과 Citrix Hypervisor 센터 사이에 방화벽이 있는 경우 VNC 연결이 사용하는 포트를 통한 트래픽을 허용하십시오. 기본적으로 VNC 서버는 TCP 포트 5900 + n
의 VNC 뷰어에서 연결을 수신합니다. 여기서 n
은 표시 번호 (보통 0) 입니다. 따라서 Display-0에 대한 VNC 서버 설정은 TCP 포트 5900
에서 수신하고 Display-1은 TCP-5901
등의 작업을 수행합니다. 방화벽 설명서를 참조하여 이러한 포트가 열려 있는지 확인하십시오. 자세한 내용은 XenServer에서 사용하는 통신 포트를 참조하십시오.
IP 연결 추적을 사용하거나 연결 시작을 한쪽에서만 제한하려면 방화벽을 추가로 구성하십시오.
Red Hat 기반 VMS 방화벽을 구성하여 VNC 포트를 열려면 다음을 수행하십시오.
-
Red Hat Linux의 경우
system-config-securitylevel-tui
를 사용하십시오. -
사용자 지정을 선택하고
5900
를 다른 포트 목록에 추가합니다.
또는, service iptables stop
명령을 실행하여 다음에 재부팅할 때까지 방화벽을 비활성화하거나 chkconfig iptables off
를 실행하여 영구적으로 사용하지 않을 수 있습니다. 이 구성은 외부 세계에 추가 서비스를 노출하고 VM의 전반적인 보안을 낮출 수 있습니다.
VNC 화면 해상도
그래픽 콘솔을 사용하여 VM에 연결한 후 화면 해상도가 일치하지 않는 경우가 있습니다. 예를 들어 VM 디스플레이가 너무 커서 그래픽 콘솔 창에 쉽게 들어갈 수 없습니다. 다음과 같이 VNC 서버 geometry
매개 변수를 설정하여 이 동작을 제어합니다.
-
원하는 텍스트 편집기를 사용하여 GDM 구성 파일을 엽니다. 자세한 내용은 VNC 구성 파일의 위치 확인을 참조하십시오.
-
위에서 추가한
[server-VNC]
섹션을 찾습니다. -
예를 들어 다음과 같이 명령줄을 편집합니다.
command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600 <!--NeedCopy-->
geometry
매개 변수의 값은 유효한 화면 너비와 높이가 될 수 있습니다. -
파일을 저장하고 닫습니다.
RHEL, CentOS 또는 OEL VM에 대해 VNC를 사용하도록 설정
Red Hat Linux를 사용하는 경우 GDM 설정 파일은 /etc/gdm/custom.conf
입니다. 이 파일은 기본 구성을 무시하는 사용자 지정 값만 포함하는 분할 구성 파일입니다. 기본적으로 이 파일 형식은 최신 버전의 GDM에서 사용되며 이러한 버전의 Red Hat Linux에 포함되어 있습니다.
운영 체제를 설치하는 동안 Desktop(데스크톱) 모드를 선택합니다. RHEL 설치 화면에서 데스크톱 > 지금 사용자 지정을 선택하고 다음을 클릭합니다.
이 작업을 수행하면 [기본 시스템] 화면이 표시되고 레거시 UNIX 호환성이 선택되어 있는지 확인합니다.
데스크톱 > 옵션 패키지를 선택한 후 다음을 클릭합니다.
이 동작은 데스크톱의 패키지 창을 표시하며 tigervnc-server-<version_number>를 선택한 후 다음을 클릭합니다.
다음 단계에 따라 RHEL VM 설정을 계속합니다.
-
원하는 텍스트 편집기에서 GDM 구성 파일을 열고 적절한 섹션에 다음 줄을 추가합니다.
[security] DisallowTCP=false [xdmcp] Enable=true <!--NeedCopy-->
-
/etc/xinetd.d/vnc-server-stream
파일을 만듭니다.service vnc-server { id = vnc-server disable = no type = UNLISTED port = 5900 socket_type = stream wait = no user = nobody group = tty server = /usr/bin/Xvnc server_args = -inetd -once -query localhost -SecurityTypes None \ -geometry 800x600 -depth 16 } <!--NeedCopy-->
-
다음 명령을 입력하여
xinetd
서비스를 시작합니다.# service xinetd start <!--NeedCopy-->
-
/etc/sysconfig/iptables
파일을 엽니다. 줄 읽기 위에 다음 줄을 추가합니다.-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT <!--NeedCopy-->
-
다음 명령을 입력하여
iptables
을 다시 시작합니다.# service iptables restart <!--NeedCopy-->
-
다음 명령을 입력하여
gdm
을 다시 시작합니다.# telinit 3 # telinit 5 <!--NeedCopy-->
참고:
Red Hat Linux는 그래픽 방식 시작에 실행 수준 5를 사용합니다. 런레벨 3에서 설치가 시작되는 경우 화면표시 관리자를 시작하고 그래픽 콘솔에 액세스하도록 이 구성을 변경합니다. 자세한 내용은 실행 수준 확인을 참조하십시오.
VNC용 SLES 기반 VM 설정
참고:
VNC용 SUSE Linux 엔터프라이즈 서버 VM을 설정하기 전에 Linux용 XenServer VM Tools를 설치했는지 확인하십시오. 자세한 내용은 Linux용 XenServer VM Tools 설치를 참조하십시오.
SLES의 경우 YaST
에서 구성 옵션으로 “원격 관리”를 활성화할 수 있습니다. SLES 설치 관리자의 네트워크 서비스 화면에서 사용할 수 있는 설치 시 원격 관리를 사용하도록 선택할 수 있습니다. 이 기능을 사용하면 외부 VNC 뷰어를 게스트에 연결하여 그래픽 콘솔을 볼 수 있습니다. SLES 원격 관리 기능을 사용하는 방법은 Citrix Hypervisor 센터에서 제공하는 방법과 약간 다릅니다. 그러나 그래픽 콘솔 기능과 통합되도록 SUSE Linux VM의 구성 파일을 수정할 수 있습니다.
VNC 서버 확인
구성을 변경하기 전에 VNC 서버가 설치되어 있는지 확인합니다. SUSE에서는 기본적으로 tightvnc
서버를 제공합니다. 이 서버는 적합한 VNC 서버이지만 표준 RealVNC 배포판을 사용할 수도 있습니다.
다음 명령을 실행하여 tightvnc
소프트웨어가 설치되었는지 확인할 수 있습니다.
rpm -q tightvnc
<!--NeedCopy-->
원격 관리 활성화
SLES 소프트웨어를 설치하는 동안 원격 관리를 사용 가능하도록 설정하지 않은 경우에는 다음과 같이 사용 가능하도록 설정할 수 있습니다.
-
VM에서 텍스트 콘솔을 열고
YaST
유틸리티를 실행합니다.yast <!--NeedCopy-->
-
화살표 키를 사용하여 왼쪽 메뉴에서 네트워크 서비스를 선택합니다. 오른쪽 메뉴를탭하고 화살표 키를 사용하여 원격 관리를 선택합니다. Enter 키를 누릅니다.
-
원격 관리 화면에서 Tab 키를 눌러 원격 관리 설정 섹션으로 이동합니다. 화살표 키를 사용하여 원격 관리 허용을 선택하고 Enter 키를 눌러 확인란에 X를 표시합니다.
-
탭하여 방화벽 설정 섹션으로 이동합니다. 화살표 키를 사용하여 방화벽에서 포트 열기를 선택하고 Enter 키를 눌러 확인란에 X를 배치합니다.
-
탭하여 마침 단추를 누르고 Enter키를 누릅니다.
-
설정을 적용하려면 화면표시 관리자를 다시 시작하라는 메시지 상자가 표시됩니다. Enter 키를 눌러 메시지를 확인합니다.
-
원래의
YaST
최상위 메뉴가 나타납니다. 탭하여 종료 버튼으로 이동한 다음 Enter 키를 누릅니다.
xinetd
구성 수정
원격 관리를 사용하도록 설정한 후 Citrix Hypervisor 센터의 연결을 허용하려면 구성 파일을 수정합니다. 또는 타사 VNC 클라이언트를 사용하십시오.
-
원하는 텍스트 편집기에서
/etc/xinetd.d/vnc
파일을 엽니다. -
파일에는 다음과 같은 섹션이 들어 있습니다.
service vnc1 { socket_type = stream protocol = tcp wait = no user = nobody server = /usr/X11R6/bin/Xvnc server_args = :42 -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNLISTED port = 5901 } <!--NeedCopy-->
-
port
줄을 다음과 같이 편집합니다.port = 5900 <!--NeedCopy-->
-
파일을 저장하고 닫습니다.
-
다음 명령으로 디스플레이 관리자와
xinetd
서비스를 다시 시작합니다./etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
SUSE Linux는 그래픽 방식 시작에 실행 수준 5를 사용합니다. 원격 데스크톱이 나타나지 않으면 VM이 실행 수준 5에서 시작되도록 구성되어 있는지 확인합니다. 자세한 내용은 실행 수준 확인을 참조하십시오.
방화벽 설정
기본적으로 방화벽 구성에서는 VNC 트래픽의 통과가 허용되지 않습니다. VM과 Citrix Hypervisor 센터 사이에 방화벽이 있는 경우 VNC 연결이 사용하는 포트를 통한 트래픽을 허용하십시오. 기본적으로 VNC 서버는 TCP 포트 5900 + n
의 VNC 뷰어에서 연결을 수신합니다. 여기서 n
은 표시 번호 (보통 0) 입니다. 따라서 Display-0에 대한 VNC 서버 설정은 TCP 포트 5900
에서 수신하고 Display-1은 TCP-5901
등의 작업을 수행합니다. 방화벽 설명서를 참조하여 이러한 포트가 열려 있는지 확인하십시오. 자세한 내용은 XenServer에서 사용하는 통신 포트를 참조하십시오.
IP 연결 추적을 사용하거나 연결 시작을 한쪽에서만 제한하려면 방화벽을 추가로 구성하십시오.
SLES 11.x VM 방화벽에서 VNC 포트를 열려면 다음을 수행하십시오.
-
VM에서 텍스트 콘솔을 열고
YaST
유틸리티를 실행합니다.yast <!--NeedCopy-->
-
화살표 키를 사용하여 왼쪽 메뉴에서 보안 및 사용자를 선택합니다. 오른쪽 메뉴를 탭하고 화살표 키를 사용하여 방화벽을 선택합니다. Enter 키를 누릅니다.
-
방화벽 화면에서 화살표 키를 사용하여 왼쪽 메뉴에서 사용자 지정 규칙을 선택한 다음 Enter 키를 누릅니다.
-
탭하여 사용자 지정 허용 규칙 섹션의 추가 단추로 이동한 다음 Enter키를 누릅니다.
-
소스 네트워크 필드에 0/0을 입력합니다. 탭하여 대상 포트 필드로 이동한 다음 5900을 입력합니다.
-
탭하여 추가 단추로 이동한 다음 Enter키를 누릅니다.
-
탭하여 다음 단추로 이동하고 Enter키를 누릅니다.
-
요약 화면에서 탭하여 마침 단추로 이동한 다음 Enter 키를 누릅니다.
-
최상위
YaST
화면에서 탭하여 종료 버튼으로 이동한 다음 Enter 키를 누릅니다. -
다음 명령으로 디스플레이 관리자와
xinetd
서비스를 다시 시작합니다./etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
또는 rcsUseFirewall2 stop 명령을 실행하여 다음에 재부팅할 때까지 방화벽을 비활성화하거나 YaST
를 사용하여 영구적으로 방화벽을 비활성화할 수 있습니다. 이 구성은 외부 세계에 추가 서비스를 노출하고 VM의 전반적인 보안을 낮출 수 있습니다.
VNC 화면 해상도
그래픽 콘솔을 사용하여 가상 시스템에 연결한 후 화면 해상도가 일치하지 않는 경우가 있습니다. 예를 들어 VM 디스플레이가 너무 커서 그래픽 콘솔 창에 쉽게 들어갈 수 없습니다. 다음과 같이 VNC 서버 geometry
매개 변수를 설정하여 이 동작을 제어합니다.
-
원하는 텍스트 편집기로
/etc/xinetd.d/vnc
파일을 열고service_vnc1
섹션(displayID
1에 해당)을 찾습니다. -
server-args
줄의geometry
인수를 원하는 디스플레이 해상도로 편집합니다. 예를 들면 다음과 같습니다.server_args = :42 -inetd -once -query localhost -geometry 800x600 -depth 16 <!--NeedCopy-->
geometry
매개 변수의 값은 유효한 화면 너비와 높이가 될 수 있습니다. -
파일을 저장하고 닫습니다.
-
VNC 서버를 다시 시작합니다.
/etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
런 레벨 점검
Red Hat 및 SUSE Linux VM에서는 그래픽 방식 시작에 실행 수준 5를 사용합니다. 이 섹션에서는 VM이 런레벨 5에서 시작되는지 확인하는 방법과 이 설정을 변경하는 방법을 설명합니다.
-
/etc/inittab
을 확인하여 기본 실행 수준이 어떻게 설정되어 있는지 확인합니다. 다음과 같은 줄을 찾습니다.id:n:initdefault: <!--NeedCopy-->
n이 5가 아니면 파일을 편집하여 5로 수정합니다.
-
이 변경 후에
telinit q ; telinit 5
명령을 실행하여 실행 수준을 전환하기 위해 재부팅하지 않아도 됩니다.