搭建属于自己的云桌面私有云服务
实验报告:搭建属于自己的云桌面私有云服务
##李仕成;15331163
实验目的
- 初步了解虚拟化技术,理解云计算的相关概念
- 理解系统工程师面临的困境
- 理解自动化安装、管理(DevOps)在云应用中的重要性
实验环境与要求
- 用户通过互联网,使用微软远程桌面,远程访问你在 PC 机上创建的虚拟机
- 虚拟机操作系统 Centos,Ubuntu,或 你喜欢的 Linux 发行版,能使用 NAT 访问外网。
实验过程
安装Git
- 打开官网安装Git Git官网
- 安装完成
下载
-
系统镜像
我们在官网下载 [CentOS7],这里我选择的是 CentOS-7-x86_64-Minimal-1810.iso 镜像文件。
-
VMware Workstation
创建虚拟机
当我们将系统镜像文件下载完毕后,需要在 VMware Workstation 创建虚拟机,并安装 CentOS 。按照提示,我们应该很快完成安装步骤,随即进入系统的 CLI 界面。在安装过程中,我们设定 Root Password 为 lishicheng1006,同时创建了用户名为
centos` 且密码为空的用户。
配置网络
在创建完虚拟机后,我们需要对虚拟机和主机的网络进行相关的配置。
开启网络服务
由于我们在创建虚拟机时,选择的是 NAT 网卡模式,进入系统后,理论上来说,系统是可以访问外网的,但在执行完 ping www.baidu.com
后,我们发现系统返回以下的错误。
这是因为 CentOS7 并未默认开启网络服务。为了开启网络服务,我们需要修改 /etc/sysconfig/network-scripts/
目录下的网卡配置 ONBOOT
条目。ls /etc/sysconfig/network-scripts/
执行 ls
命令,结果如上图,其中的 ifcfg-ens33
即为网卡配置文件,我们使用 vim
修改其中的 ONBOOT
条目为 yes
。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
原本是 ONBOOT=no ,将其修改为以下形式
ONBOOT=yes
修改完 ONBOOT
的值为 yes
后,我们重启网络服务,使更改生效。
service network restart
经过上述的设置,现在系统已可正常访问外网。
设置虚拟网卡
为实现云桌面服务,主机需要创建两张虚拟网卡,一张为 NAT 模式,一张为仅主机模式。NAT 模式的虚拟网卡使子网内的所有虚拟机可共享主机网络,即可访问外网;仅主机模式的虚拟网卡则作为局域网的 DHCP 服务器。
在 VMware 的 Edit -> Virtual Network Editor 窗口中,我们可以看到 VMware 已自动创建上述两张虚拟网卡,其中 VMnet1 为仅主机模式,VMnet8 为 NAT 模式。
仅仅设置了主机的虚拟网卡是不够的,我们还需要为虚拟机添加新的虚拟网卡(由于我们使用 NAT 模式创建了虚拟机,故虚拟机已经有一张连接 VMnet8 的 NAT 虚拟网卡),我们需要将新添加的虚拟网卡设置为仅主机模式,让其连接 VMnet1 。
我们可以在 VMware 的 VM -> Settings 中为虚拟机创建和配置虚拟网卡。
更新内核
在虚拟机能够正常访问外网的情况下,我们对操作系统内核尝试进行升级。
yum install wget
# 升级 OS 内核
yum update
更新 yum 源
CentOS
已内置 163 源 ,若要更新至其他源,可按照如下步骤操作:
- 首先备份
/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载对应
repo
文件,放置于/etc/yum.repos.d/
目录
mv ***.repo /etc/yum.repos.d/CentOS-Base.repo
- 生成
yum
缓存
yum clean all
yum makecache
SSH 登录
在配置完虚拟机的网络后,我们可以尝试在主机上使用 SSH
连接到虚拟机。首先,我们需要执行 ip addr
命令,获取虚拟机的 IP 地址,如下图所示,当前虚拟机的 IP 地址为 192.168.11.128
。随后,我们在主机的 Bash
上,执行 ssh aaa@qq.com
命令,输入密码后,即可进入虚拟机的远程 CLI 中。
远程桌面登录
安装 GUI 界面,这里我们选择的是 GNOME
的桌面图形界面。
执行以下命令,安装 GNOME Desktop
。
yum groupinstall "GNOME Desktop"
在安装完毕后,我们需要设置 GUI 界面开启自启动,并且重启虚拟机使其生效。
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
shutdown -r now
重启完成后,点击 centos
的用户头像(由于我们设置其密码为空,故点击即进入系统桌面),即可进入系统桌面。
在安装完图形化界面后,我们需要进行远程桌面的相关配置。我们知道,Windows 自带的远程桌面协议是 RDP
协议,这种协议是 Linux 原生不支持的,因此我们需要使用第三方软件,xrdp
是一个很好的选择。
# 进入 root 模式:执行 su 命令,输入密码
yum install -y epel-release
# 这一步很关键!
yum -y install
https://archive.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/x/xorgxrdp-0.2.9-1.el7.x86_64.rpm
# 安装 xrdp 和 tigervnc-server
yum -y install xrdp tigervnc-server
安装完 xrdp
和 tigervnc-server
后,我们启动 xrdp
服务,并添加至开机自启动项。
# 启动 xrdp 服务
systemctl start xrdp
# 添加 xrdp 至开机自启
systemctl enable xrdp
随后,我们执行 netstat -antup | grep xrdp
命令查看 xrdp 服务的运行状态。
从上图可知,xrdp
服务监听了 3389
端口,这端口号其实也是 Windows 下的远程桌面监听端口号。
我们需要配置 firewall
防火墙以及 SELinux
安全上下文。
# 放通 3389 端口上的所有 TCP 请求
firewall-cmd --permanent --add-port=3389/tcp
# 重载防火墙,使规则生效
firewall-cmd --reload
# 设定 xrdp 和 xrdp-sesman 的目标安全环境
chcon --type=bin_t /usr/sbin/xrdp
chcon --type=bin_t /usr/sbin/xrdp-sesman
在执行完上述指令后,我们即可在 Windows 的远程桌面连接工具下,享受虚拟机所提供的远程桌面服务。
用户名输入 centos
,密码为空,点击 OK
后,即可进入虚拟机远程桌面,如下图。
推荐阅读
-
本地Windows远程桌面连接阿里云Ubuntu 16.04服务器的操作方法
-
ASP.NET5 REST API使用示例——基于云平台+云服务打造自己的在线翻译工具
-
桌面远程连接阿里云服务器(windows)后丧失了双向文件复制粘贴功能的解决方案(第一条博客!)
-
搭建属于自己的GIT服务器——pingg
-
搭建nextcloud私有云存储网盘的教程详解
-
使用 Docker 企业版搭建自己的私有注册服务器
-
前端云服务器的搭建(主机+nginx+WinSCP)教程
-
企业如何挑选最合适自己的云计算服务商
-
VMware+CentOS7搭建私有云桌面服务
-
服务计算-VirtualBox搭建私有云桌面遇到的问题