vncserver远程管理kvm虚拟机
创始人
2024-03-23 08:38:40
0

一、安装KVM

检查服务器是否支持虚拟化(vmx为interl平台、svm是AMD平台):

grep -E -o 'vmx|svm' /proc/cpuinfo

安装KVM所需软件包:

yum groupinstall kvm

或者:

yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst bridge-utils

检查是否安装成功:

lsmod |grep kvm

二、Centos安装vncserver

VNC管理KVM示意图:

配置软件仓库:

rm -rf /etc/yum.repos.d/*cat > /etc/yum.repos.d/repo.repo <

安装图形界面:

yum -y group install "Server With GUI"

也可以安装桌面环境:

yum groupinstall Desktop -y

更新系统:

rm -rf /etc/yum.repos.d/*cat > /etc/yum.repos.d/repo.repo <

重启系统:

reboot

安装 tigervnc-server和字体编译器(防止远程出现乱码):

yum -y install tigervnc-server fontforge

设置yyds用户的vnc密码,yyds用户:

vncpasswd

有时不配服务器起不来,重新加载服务唤醒配置文件:

vncserver

设置systemd文件:

vim /etc/systemd/system/vncserver@.service[Unit]
Description=Remote Desktop VNC Service
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/home/yyds
User=yyds
Group=yyds
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target

启动服务:

systemctl daemon-reload
systemctl enable vncserver@:20.service --now

关闭Selinu、防火墙放行:

firewall-cmd --add-port=5920/tcp
firewall-cmd --add-port=5920/tcp --per

更改默认登陆用户和远程分辨率:

vi /etc/sysconfig/vncservers   VNCSERVERS="1:root"
VNCSERVERARGS[2]="-geometry 1024X768 -nolisten tcp -localhost"

三、Ubuntu安装vncserver

更新软件仓库缓存:

apt update -y

安装轻量级图形界面:

apt -y install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

安装 tigervnc-server:

apt -y install tigervnc-standalone-server tigervnc-common

配置vnc使用xfce图形:

想要图形连接,需要配置xfce,想让哪个用户使用vnc,就在哪个用户的家目录下创建配置文件。

vim ~yyds/.vnc/xstartup#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4chmod +x ~yyds/.vnc/xstartup

测试vnc服务:

#yyds用户做如下操作
vncpasswd
vncserver :30 -localhost no#kill掉vnc进程
vncserver -kill :30

:30就是设置5930作为vnc服务的端口,vnc是明文传输,为了安全考虑只会监听本地的localhost,所以设置-localhost no监听所有端口,可以让其他IP进行访问。

 VNC访问ubuntu虚拟机:

显示的图形界面是xfce轻量级图形界面,不是ubuntu本身的图形界面。

要显示ubuntu原来的图形,安装 GNOME 图形界面。

如果要重启ubuntu,需要自己设置systemd文件,让5930端口自启动:

vim /etc/systemd/system/vncserver@.service[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target[Service]
Type=simple
User=yyds
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i  -alwaysshared -fg -localhost no
ExecStop=/usr/bin/vncserver -kill :%i[Install]
WantedBy=multi-user.target

启动服务:

systemctl daemon-reload
systemctl enable vncserver@30.service --now

四、配置桥口 

主要用于KVM虚拟机中安装虚拟机,可以和真是机互通并可出外网。

创建桥口br0:

cp /etc/sysconfig/network-script/ifcfg-eth0 /etc/sysconfig/network-script/ifcfg-br0    vi /etc/sysconfig/network-script/ifcfg-br0
DEVICE="br0"
BOOTPROTO="static"
#HWADDR="………………"   #前面加井号注释掉MAC地址,因为是eth0上拷贝的
ONBOOT="yes"
TYPE="Bridge"
IPADDR=X.X.X.X
NETMASK=X.X.X.X
GATEWAY=X.X.X.Xvi /etc/sysconfig/network-script/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="………………"    #默认
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=X.X.X.X
NETMASK=X.X.X.X
GATEWAY=X.X.X.X
BRIDGE="br0"vi /etc/sysconfig/network-script/ifcfg-eth1
DEVICE="eth1
BOOTPROTO="static"
HWADDR="………………"  #默认
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=X.X.X.X
NETMASK=X.X.X.X
BRIDGE="br0"

创建脚本将下面的命令添加进去: 

vi bradd.sh                         #!/bin/bash
brctl addbr br0           #添加网桥br0
brctl addif br0 eth0      #添加eth0 到br0中
brctl addif br0 eth1      #添加eth1 到br0中
service network restart  
service libvirtd restartchmod 755 addbr.sh         #给bradd.sh赋予执行权限
nohup ./addbr.sh &         #在后台执行脚本中的指令

最后关闭NetworkManager,完成后再addbr.sh。

所属目录下找到nohup.out   这里面记录了操作日志,可帮助判断哪步执行失败。

五、配置远程连接

[root@localhost ~]# brctl showbridge name bridge id STP enabled interfaces
virbr0 8000.5254009a0ee3 yes virbr0-nic[root@localhost ~]# ifconfig virbr0
virbr0: flags=4163 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:9a:0e:e3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

把虚拟网卡添加到虚拟网桥中:

[root@localhost ~]# yum -y install bridge-utils
[root@localhost ~]# brctl addbr br0
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
virbr0 8000.5254009a0ee3 yes virbr0-nic
[root@localhost ~]# brctl addif br0 ens33

执行此步后,会导致xshell与宿主机断开连接,以下操作在宿主机完成。

在虚拟机上删除ens33上面的IP地址,将br0上面添加上固定IP地址:

[root@localhost ~]# ip addr del dev ens33 10.0.0.41/24
[root@localhost ~]# ifconfig br0 10.0.0.41/24 up
[root@localhost ~]# route add default gw 10.0.0.254
[root@localhost ~]# route -n

连接xshell查看是否生效:

此时宿主机的IP:10.0.0.41已经绑定到br0网卡;但是服务器重启后就不能生效了。

通过配置文件配置桥接设备永久生效,为kvm宿主机创建虚拟网卡,并将物理网卡作为桥设备。

[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

配置DNS:

[root@localhost ~]# vi /etc/resolv.conf
[root@localhost ~]# nameserver 223.5.5.5
[root@localhost ~]# ifup eth0

一般生产环境不能安装图形界面,远程访问没有安装GUI的Linux虚拟机上的图形服务,需要使用Xming配置图形转发,在windows的GUI上显示没有安装GUI的Linux图形界面,需要以下操作:

  • 在windows安装xming或Xmanager;
  • 连接linux配置DISPLAY环境变量;
  • 调用图形;

如果一个系统安装了图形界面X Server和firefox浏览器,那么进到这个系统的控制台或者远程桌面,就可以在命令行上输入firefox命令调出firefox的图形。

 

DISPLAY指定windows地址,后面0:0是Xming设置的number。 

xming把no GUI的Linux Firefox浏览器显示出来了。

因为我的主机是服务器,没有图形化界面,想要用virt-manager图形化安装虚拟机,还需要安装x-window。

[root@localhost ~]# grep X11Forwarding /etc/ssh/sshd_config --colour
X11Forwarding yes[root@localhost ~]# yum install -y xorg-x11-font-utils.x86_64 xorg-x11-server-utils.x86_64 xorg-x11-utils.x86_64 xorg-x11-xauth.x86_64 xorg-x11-xinit.x86_64 xorg-x11-drv-ati-firmware
[root@localhost ~]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm mesa-libglapi -y[root@localhost ~]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils -y
[root@localhost ~]#  systemctl restart libvirtd.service
[root@localhost ~]#  systemctl enable libvirtd.service

安装好Xming后,打开xshell,在连接属性的tunneing中,勾选Forwarding X11 connection to 选项,可以正常打开virt-manager的图形界面。

启动virt-manager:

断开xshell会话,重新连接,输入命令:virt-maager,就可以自动弹出kvm管理软件。

[root@localhost ~]# virt-manager

出现乱码,安装以下包:

[root@localhost ~]# yum -y install dejavn-sans-mono-fonts

 

如果ping不通外网,启动一下网卡,看看行不行,记得看一下你网卡的配置文件是否正确(桥接模式是否正确)。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...