虚拟xen

xen  时间:2021-01-06  阅读:()

GuestOS安装指南与基于xen的隐蔽通道配置Version0Revision128th,Apr,2010DraftContact:bareshift@gmail.
com(editor)qingnishen@ss.
pku.
edu.
cn(advisor)WorkInProgressThisdocumentisanintermediatedraftforcommentonlyandissubjecttochangewithoutnotice.
Readersshouldnotdesignproductsbasedonthisdocument.
TVGCONFIDENTIALCopyrightTVGinPekingUniversity2007-2017可信虚拟化课题组文档计划Version0Revision01DraftTVGCONFIDENTIALCopyright2008TrustedVirtualizationGroup,Incorporated.
DisclaimerTHISSPECIFICATIONISPROVIDED"ASIS"WITHNOWARRANTIESWHATSOEVER,INCLUDINGANYWARRANTYOFMERCHANTABILITY,NONINFRINGEMENT,FITNESSFORANYPARTICULARPURPOSE,ORANYWARRANTYOTHERWISEARISINGOUTOFANYPROPOSAL,SPECIFICATIONORSAMPLE.
Withoutlimitation,TCGdisclaimsallliability,includingliabilityforinfringementofanyproprietaryrights,relatingtouseofinformationinthisspecificationandtotheimplementationofthisspecification,andTCGdisclaimsallliabilityforcostofprocurementofsubstitutegoodsorservices,lostprofits,lossofuse,lossofdataoranyincidental,consequential,direct,indirect,orspecialdamages,whetherundercontract,tort,warrantyorotherwise,arisinginanywayoutofuseorrelianceuponthisspecificationoranyinformationherein.
Nolicense,expressorimplied,byestoppelsorotherwise,toanyTVGorTVGmemberintellectualpropertyrightsisgrantedherein.
ExceptthatalicenseisherebygrantedbyTVGtocopyandreproducethisspecificationforinternaluseonly.
ContacttheTrustedComputingGroupatwww.
trustedcomputinggroup.
orgforinformationonspecificationlicensingthroughmembershipagreements.
Anymarksandbrandscontainedhereinarethepropertyoftheirrespectiveowners.
可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftTVGCONFIDENTIALRevisionHistoryVersionCommentTableofContents可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftTVGCONFIDENTIAL1ScopeandAudience.
12准备环境.
22.
1RHEL的安装.
22.
2ftp的配置.
22.
3CentOS的准备32.
4网络环境的配置.
33GuestOS的安装.
53.
1磁盘映像文件的准备53.
2获知本地ip.
53.
3开始半虚拟安装.
53.
4复制GuestOS.
153.
5创建和陷入domU154隐蔽通道场景的建立.
174.
1本隐蔽通道原理.
17模块的加载17内存映射的建立.
17缓冲区的结构18虚拟设备的操作函数.
18写操作18读操作18同步.
19模块的卸载194.
2源程序的获取194.
3编译与装载.
204.
4写入和读取.
204.
5查看信息205存在的问题.
215.
1容易出现内核错误215.
2容易陷入假死状态216参考资料.
22可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage1of22TVGCONFIDENTIAL1ScopeandAudience本文档主要以centos为例介绍如何安装GuestOS,并介绍如何在虚拟环境下配置隐蔽通道场景.
如果在vmware中,GuestOS的速度太慢,建议在物理平台上搭建xen系统.
测试平台的配置如下:VMware7.
0.
0HardwarePlatformx86_32HostOSRHEL5.
4HostOSKernelVersion2.
6.
18GuestOSGccVersion4.
1.
2GuestOSCentOS5.
3可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage2of22TVGCONFIDENTIAL2准备环境2.
1RHEL的安装RHEL的安装文件可以从https://www.
redhat.
com/apps/download下载.
在vmware7.
0上安装RHEL时,不要选择从映像文件安装,那样vmware会屏蔽掉xen的安装,自动无人值守的安装完RHEL.
我们需要选择以后安装操作系统.
RHEL的安装过程中,在软件包选择期间选择virtualization.
这样就会安装xen系统.
另外需要自定义安装ftp服务,以供ftp运行.
2.
2ftp的配置在安装CentOS前,我们需要配置ftp服务器,因为半虚拟安装只能通过网络而无法通过本地数据.
首先修改/etc/passwd文件中ftp的登陆路径:#vi/etc/passwd可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage3of22TVGCONFIDENTIAL在服务管理中开启vsftpd:2.
3CentOS的准备CentOS可以由http://mirror.
centos.
org/centos/5/isos/i386/获得因为RHEL在xen环境下不支持vmwaretools,我们需要将CentOS由iso导入RHEL系统.
则CentOS的安装光盘会位于/media/centos5.
3xxx2.
4网络环境的配置由于我们是从ftp安装GuestOS,因此需要确保桥接脚本打开.
#cd/etc/xen#vixend-config.
sxp可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage4of22TVGCONFIDENTIAL可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage5of22TVGCONFIDENTIAL3GuestOS的安装3.
1磁盘映像文件的准备创建一个大小为4G的映像文件:3.
2获知本地ip记录下本机的ip地址,以供安装命令输入.
注意,不能使用127.
0.
0.
1,因为桥接后的domU地址必然与dom0不同.
3.
3开始半虚拟安装.
这里ftp地址请输入刚才记下的本地ip.
需要注意的是在vmware里在xen下安装GuestOS会非常慢,请耐心等待.
语言只能选择English:[root@linux~]#ddif=/dev/zeroof=/disk2/xen/centos5.
imgbs=1Mcount=4096[root@linux~]#chcon-txen_image_t/disk2/xen/centos5.
img[root@linux~]#ifconfig[root@linux~]#virt-install-ncentos5_virt-r256>-f/disk2/xen/centos5.
img--nographics>-lftp://192.
168.
x.
x/media/centos5.
3xxx#-n:后面接你的domain-U的名称,这个名称的配置文件会被主动建立在/etc/xen底下#-r:后面接要给这个domain-U的内存容量,目前至少需要256MB才能够执行#-f:后面接的就是要给domain-U的映像文件#--nographics:不使用图形界面来安装#-l:后面接安装服务器的来源.
安装服务器的写法为:#NFS时:nfs:主机的IP:可以安装的目录#WWW时:http://主机的IP/实际的/完整目录#FTP时:ftp://主机的IP/实际的完整目录可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage6of22TVGCONFIDENTIAL这里我们只需要ipv4,并且打开DHCP,有关ipv6的选项都可以不选:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage7of22TVGCONFIDENTIAL警告信息,确认格式化:使用tab键进行切换,用enter确认.
用costomlayout自定义磁盘分割:新建两个分卷:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage8of22TVGCONFIDENTIAL可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage9of22TVGCONFIDENTIAL确认:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage10of22TVGCONFIDENTIAL选择grup作为bootloader:控制台的驱动设备,默认:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage11of22TVGCONFIDENTIAL我们不需要grub密码,留空:Bootloader配置,默认:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage12of22TVGCONFIDENTIAL把bootloader安装在MBR:网络配置中也可以去掉ipv6的支持.
其他选项默认:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage13of22TVGCONFIDENTIAL时区任意选择,root密码需要设置:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage14of22TVGCONFIDENTIAL安装包,不能选择gnome/KDE等图形界面.
另外这里需要进入自定义设置,安装源文件支持,gcc开发环境,vi:需要等待很久,重启后登陆:可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage15of22TVGCONFIDENTIAL我们暂且关闭这个domU,来复制映像文件创建第二个GuestOS.
3.
4复制GuestOS首先,复制映像文件.
然后,复制和修改配置文件.
修改其中的domU名称,uuid,映像文件路径,mac地址3.
5创建和陷入domU[root@linux~]#poweroff[root@linux~]#cd/etc/xen[root@linux~]#cpcentos-virtcentos2-virt[root@linux~]#vicentos2-virt[root@linux~]#cd/disk2/xen[root@linux~]#cpcentos.
imgcentos2.
img[root@linux~]#xmcreatecentos-virt[root@linux~]#xmcreatecentos2-virt可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage16of22TVGCONFIDENTIAL新开两个终端,分别陷入两个domU.
至此,两个GuestOS安装完毕.
[root@linux~]#xmconsolecentos-virt[root@linux~]#xmconsolecentos2-virt可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage17of22TVGCONFIDENTIAL4隐蔽通道场景的建立4.
1本隐蔽通道原理Xen原谅GuestOS对内存分配/虚拟物理内存表:MachineFrameNumbertoPseudo-physicalFrameNumbertable-的越界访问,所以任何GuestOS都可以对mfn2pfn表进行修改.
流程图如下:模块的加载虚拟驱动的挂载通过staticintxencc_init(void)函数实现,用misc_register(&xencc_dev)注册杂项设备,调用init_ring_buffer()进行缓冲区初始化工作.
内存映射的建立下面程序要建立虚拟内存和物理内存的对应关系.
这通过allocate_mfn()函数实现:函数首先用alloc_pages()给程序分配一定的内存页,然后通过page_to_pfn(pt)获得页的虚拟内存地址pfn,再通过pfn_to_mfn(pfn)获得内存的物理地址mfn.
由此获得pfn和mfn的对应关系.
可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage18of22TVGCONFIDENTIAL缓冲区的结构缓冲通过mmu_update_t结构实现,内容包括:标记,同步,数据大小标记,剩余数据大小标记和数据区.
初始化部分如下:if(ixencc_fops={.
owner=THIS_MODULE,.
read=xencc_read,//读取.
write=xencc_write,//写入.
open=xencc_open,//打开,在这里没有用处,置空只进行DBG.
release=xencc_release,//释放,无用.
};写操作根据刚才创建的内存页的多少,写函数会调用mfn_cc_write()写最大长度的数据,mfn_cc_write()则会创建mmu_update_t结构并对其值进行设置然后调用HYPERVISOR_mmu_update()将上述数据存入映射表,同初始化时的步骤.
然后调用wait_read(),等待对方读取.
当收到ack信息后继续读取,直到rest=0,则接收完毕.
读操作首先,读方要用pfn_tag_find()函数遍历指定的内存映射表范围来寻找标记(tag),然后读取对应的数据并设置同步信息来通知写进程继续发送,直到发送完毕.
可信虚拟化课题组文档计划TVGCopyrightVersion0Revision01DraftPage19of22TVGCONFIDENTIAL同步每当写操作完成时,写模块就将自己一方的ack的值修改,初始时,ack=0,以后当ack!
=1时,置ack=1,或当ack!
=2时,置ack=2.

读操作一方会侦测到这种修改并把修改后的值记录,当记录下的这个值和现在表里的值相等时继续等待,当不等时开始读数据,读取完以后将自己方的ack值改为刚收到的ack值.

写操作会等待读操作完成,当探测到对方的ack值等于刚才自己变换后的ack值时,说明对方已经收到,可以继续发送.
直到rest=0,发送完成.
模块的卸载卸载模块首先调用misc_deregister()注销驱动,然后用kfree()清除缓冲区,则卸载完毕.

LOCVPS新上日本软银线路VPS,原生IP,8折优惠促销

LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...

Hostodo(年付12美元)斯波坎VPS六六折,美国西海岸机房

Hostodo是一家成立于2014年的国外VPS主机商,现在主要提供基于KVM架构的VPS主机,美国三个地区机房:拉斯维加斯、迈阿密和斯波坎,采用NVMe或者SSD磁盘,支持支付宝、PayPal、加密货币等付款方式。商家最近对于上架不久的斯波坎机房SSD硬盘VPS主机提供66折优惠码,适用于1GB或者以上内存套餐年付,最低每年12美元起。下面列出几款套餐配置信息。CPU:1core内存:256MB...

优林70/月,西南高防地区最低70/月

优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内西南地区高防云服务器!全部是独享带宽!续费同价!官方网站:https://www.idc857.com​地区CPU内存硬盘流量带宽防御价格购买地址德阳高防4核4g50G无限流量10M100G70元/月点击购买德阳高防...

xen为你推荐
美国免费主机有没有更好的免费主机,vps主机什么是vps主机香港虚拟空间请大哥帮个忙,介绍可靠的香港虚拟主机?网站空间购买国内网站空间购买哪里的比较实惠啊?虚拟主机管理系统我也想和你学虚拟主机管理系统的操作虚拟主机系统什么是虚拟主机?深圳虚拟主机需要一个虚拟主机???很急!!虚拟主机管理软件虚拟主机用什么管理软件,我准备购买一个vps 先咨询下。二级域名什么叫一级 二级域名域名网怎么样申请网站域名?
已备案域名 Oray域名注册服务商 vir ddos 冰山互联 香港加速器 便宜服务器 asp.net主机 pw域名 googleapps koss 名片模板psd 淘宝双十一2018 win8.1企业版升级win10 合肥鹏博士 华为网络硬盘 双11秒杀 傲盾官网 cdn加速是什么 爱奇艺vip免费领取 更多