반응형

 

작성일: 2024년 3월 11일

 

CentOS, RHEL, Ubuntu 등 Linux Desktop에 원격 접속할 때, 일반적으로 VNC를 사용하곤 하는데
Ubuntu 22.04 버전을 사용할 때는 VNC보다는 MS-RD가 좀더 화면도 예쁘고,
화면 반응도 빨라서 MS-RD을 더 많이 사용하게 된다.
그리고 설정 방법도 간단해서 더 손이 자주 간다.

 

 

Ubuntu 22.04 Server 에서 Screen Sharing 설정하기

[ Settings ] -> [ Sharing ] -> [ Screening Sharing ] 순서로 설정 메뉴를 찾아간다.

 

주의: MS-RD만 사용할 것이기 때문에 VNC는 활성화하지 않도록 한다.

 

 

MacOS Client 에서 Screen Sharing 설정하기

Microsoft Remote Desktop(MS-RD)를 사용하기 위해서는 아래와 같이 Apple App Store에서 

"Microsoft Remote Desktop"을 검색하여, 설치한다.

 

 

위 앱을 설치 후, Ubuntu 22.04 서버의 IP Address와 MS-RD에 접근할 ID, Password만 입력하면 설정 끝 !!!

그런 후에 "Connect" 메뉴를 선택하면 접속이 잘 된다.

 

 

Ubuntu Client 에서 Screen Sharing 설정하기

Ubuntu Client에는 Remmina 앱이 있어야 Ubuntu Server에 MS-RD로 접근할 수 있다.

내가 설치한 기억이 없는걸보면, OS 설치할 때 Remmina는 이미 설치되어 있던 것 같다.

위 화면과 같이 Remmina를 실행하고, 아래 화면에서 접속 정보(IP Address, ID, Password)를 입력하고 Connect하면 Ubuntu Server의 Desktop에 잘 접근된다.

 

 

 

 

 

작업 끝

 

 

 

 






 

 

이하, 작성된 글은 Ubuntu 20.04 이하에서 테스트한 것을 정리한 것이다.
따라서 지금 시점에서는 아래의 내용이 잘 맞지 않을 수 있다.


 

Ubuntu 18.04와 20.04 버전에서 Remote Dekstop(원격 데스크탑) 기능을 사용하려면 Vino를 설치해야 한다.

(참고: 아주 오래된 Ubuntu, CentOS 버전은 다른 VNC 서버 패키지를 설치해도 문제가 없지만, Ubuntu 18.04와 20.04는 꼭 Vino를 사용하는 것이 좋다)

 

 

설정 따라하기

 

##
## VNC Server 기능을 하는 Vino를 설치하기
##

$  sudo  apt install vino -y
...

 

아래 화면처럼 설정 GUI(Settings)를 실행한다.

 

Ubuntu 설정 화면 실행하기

 

아래와 화면이 보일 것이다.

그리고 아래 그림의 풍선 도움말 순서를 따라서 실행한다.

 

Ubuntu Screen Sharing 설정 화면

 

 


참고로, RealVNC viewer나 Safari VNC Client App이 Vino VNC server의 Encryption 방식을 지원하지 못하기 때문에 아래 명령을 통해서 Vino의 encryption 기능을 비활성화해야 한다.
(본인이 사용하는 VNC Client의 Encryption 방식을 잘 모른다면, 일단 아래 명령을 따라서 수행해보는 것이 좋다. 물론 보안이 허술해지는 문제는 있지만  ㅠㅠ)

 

##
## Vino VNC server의 Encryption 기능 끄기(Deactivate)
##

$ /usr/bin/gsettings set org.gnome.Vino require-encryption false

 

 

 

위 그림에서 (3)번 순서에 해당하는 Screen Sharing 메뉴를 Click하면, 아래와 같은 설정 화면이 뜰 것이다.

 

Ubuntu Screen Sharing 설정 화면

 

 

위와 같이 Vino Server를 설정했다면, PC(Macbook)에서 Safari 같은 Web browser의 주소 입력창에 Ubuntu 서버의 주소를 입력한다.

 

Safari Web Browser를 이용한 VNC Client App 실행하기

 

Safara Web Browser에서 아래와 같은 VNC Client App 화면을 새로 만들고, VNC Server에 접속해 줄 것이다.

아래와 같이 Ubuntu 접속된 화면이 나오면 Remote Desktop(원격 데스크탑) 연결 성공  :D

 

원격 데스크탑(Remote Desktop) 접속한 화면

 

 

 

주의할 점 & 이슈 

 

Ubuntu 18.04와 20.04 버전에서 Dekstop을 원격에서 사용할 수 있게 하려면, 주의할 점이 있다.

이 주의할 점만 제외하면, 일반적인 Sharing Desktop 설정 절차에 따라 설정하면 문제없이 동작한다.

 

  • 이슈 1:
    Ubuntu 에는 Vino Server가 기본적으로 5900 TCP port로 원격제어 서비스를 제공한다.
    따라서 TigerVNC Server 같은 다른 프로그램을 추가로 설치하면 오동작하기 때문에 Ubuntu가 기본 제공하는 Vino Server를 이용하여 원격제어 서비스를 사용해야 한다.
    (즉, TigerVNC 서버 같은 별도의 서버를 Ubuntu Server에 설치하면, 오히려 포트 번호 충돌 때문에 설정이 더 꼬이게 된다. 그냥 순정 Vino 서버를 사용하는 것을 추천함.)
  • 이슈 2: OVS와 Vino를 같이 사용하는 경우에 발생하는 이슈
    ->  “Screen Sharing” 창의 Networks 항목에 “Wired connection 1”이 없어서, [ON] 버튼을 누를 수 없다.
    • 보통 이 문제는 NetworkManager에 의해서 자동으로 관리되는 NIC Port가 없기 때문에 발생한다.
      예를 들어, Open vSwitch에 eth0 port를 할당하기 위해 강제로 eth0 port를 NetworkManager의 관리 대상에서 뺐기 때문에 발생한다.
    • Open vSwitch를 사용하는 경우가 아니라면, 이 문제가 발생할 일이 거의 없겠지만 만약 꼭 Open vSwitch를 사용하면서 Sharing Desktop 기능도 사용하고 싶다면 아래와 같이 NIC Port를 강제로 하나 더 만든다.
      1. eth0: OVS의 Physical Port로 할당 (IP address: 0.0.0.0)
      2. eth1: 원래 사용하지 않는 Port이지만, NetworkManger GUI에서 강제로 [Enable]하고 IP address와 Gateway를 설정해준다.
      3. 이런 후에 [Screen Sharing] 설정 GUI를 다시 열어보면, “Networks” 항목에 “Wired connection 1”을 생기고 [ON] 버튼을 누를 수 있게 된다.

 

 

반응형

Ubuntu OS를 처음 설치하고 부팅하고, 아래와 같은 작업을 실행하여 App 설치하고 초기 설정 작업을 한다.

## root 계정 암호 설정하기

$ sudo passwd root
$ apt update -y
$ apt install -y vim  htop  iftop git  curl  openssh-server  tree  lrzsz  terminator

 

/etc/ssh/sshd_config 파일에서 Root Login Permit 설정하기

## ... 파일을 열고 직접 수정하고, 아래 명령을 수행 ...
$ systemctl restart sshd

 

.vimrc 파일 수정

$ cat << EOF >> ~/.vimrc
color koehler
set tags=./tags,./my/proj/tags
set tabstop=4 softtabstop=4 shiftwidth=4  
set expandtab  
set autoindent
EOF

 

Network 설정

$ cat << EOF >> /etc/network/interface

auto ens3 
iface ens3 inet static 
address 10.10.12.30
netmask 255.255.255.0 
gateway 10.10.12.1 
dns-nameservers 8.8.8.8 8.8.4.4 

auto ens4 
iface ens4 inet static 
address 192.168.1.201 
netmask 255.255.255.0 
network 192.168.1.0 
broadcast 192.168.1.255 
gateway 192.168.1.1 
dns-nameservers 8.8.8.8 8.8.4.4 

EOF

 

 

반응형

 


 

 

테스트한 날짜: 2024년 3월 13일
테스트에 사용한 OS: Ubuntu 22.02
                        (Ubuntu 버전마다 설치할 pkg가 다르다. Ubuntu 20.04와 22.04만 이 블로그의 설명이 유효하다.)

 

 

Open vSwitch 설치

 

Open vSwitch를 설치한다.

$ sudo -s

$ apt update -y 

$ apt install -y openvswitch-common openvswitch-switch

$ apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

 

libvirt-daemon과 virt-manager간 연동이 되려면, OS를 한번 Reboot 해줘야 한다.

 

 

Open vSwitch 설정

 

KVM Hypervisor의 VM이 사용할 Virtual Switch를 구축한다.

 

$ sudo -s

##
## br-ex 라는 이름의 Virtual Switch를 만든다.
##

$ ovs-vsctl add-br br-ex

$ ovs-vsctl show


##
## 인터넷과 연결된 Port를 eth0라고 가정한다.
## 이 eth0 port를 br-ex switch에 추가한다.
## [ 주의 ]
##   eth0 port를 bridge에 추가하는 순간, 기존에 eth0로 networking하던 것들이 모두 단절되니까
##   eth0 외에 eth1과 같이 여분의 network port를 추가로 만들어 놓는 것이 좋다.
##

$ ovs-vsctl add-port br-ex eth0

$ ovs-vsctl show


##
## netplan 설정 파일을 작성한다. (아래 예제를 참고)
##

$ cat /etc/netplan/00-installer-config.yaml

network:
  version: 2
  ethernets:
    eth0:                ## ovs bridge에 추가한 eth0 포트에는 IP 주소를 할당하지 않는다.
      dhcp4: false
    br-ex:               ## ovs bridge의 br-ex 포트에 eth0에 있는 주소를 설정한다.
      addresses:
      - 10.1.4.64/24
      gateway4: 10.1.4.1
      routes:
        - to: 10.1.4.0/24
          via: 10.1.4.1   
        - to: default
          via: 10.1.4.1
      nameservers:
        addresses:
        - 1.1.1.1
        - 8.8.8.8
    eth1:
      addresses:
      - 10.1.3.171/24
      routes:
        - to: 10.1.3.0/24
          via: 10.1.3.1      
      nameservers:
        addresses:
        - 1.1.1.1
        - 8.8.8.8
    eth2:
      dhcp4: false
    eth3:
      dhcp4: false
      
$ netplan apply

$ ifconfig br-ex

... 생략 ...

 

위와 같이 수행한 후, Ubuntu OS를 Reboot해서 Network Port eth0, br-ex가 정상적으로 구성되는지 확인한다.

(꼭, Reboot해야 하는 것은 아닌데 설정이 적용되는지 확인하는 차원에서 Reboot해보는 것을 권장한다)

 

 

 

KVM의 Network Profile 작성

 

KVM이 위에서 만든 br-ex virtual switch를 사용할 수 있도록 network profile을 작성한다.

$  cat > br-ex.xml <<-EOF

<network> 
 <name>br-ex</name>        # KVM이 User에게 출력해주는 이름 
 <forward mode='bridge'/> 
 <bridge name='br-ex'/>    # OVS가 가지고 있는 실제 bridge name 
 <virtualport type='openvswitch'/> 
</network> 
EOF

$

 

 

 

KVM에 Network Bridge 정보 등록

 

KVM 명령어인 virsh을 이용하여 br-ex switch 정보를 등록한다.

$ virsh  net-define  br-ex.xml
$ virsh  net-start  br-ex
$ virsh  net-autostart  br-ex
$ virsh  net-list​

 

 

위 설정 작성 후, Ubuntu Desktop 화면에서 'Virtual Manager' App을 실행하면 'br-ex' switch를 사용할 수 있다.

 

 

 

 

블로그 작성자: sejong.jeonjo@gmail.com

 

+ Recent posts