虚拟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()清除缓冲区,则卸载完毕.

华圣云 HuaSaint-阿里云国际站一级分销商,只需一个邮箱即可注册国际账号,可代充值

简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...

RackNerd提供四款高配美国服务器促销活动低至月$189

RackNerd 商家给的感觉就是一直蹭节日热点,然后时不时通过修改配置结构不断的提供低价年付的VPS主机,不过他们家还是在做事的,这么两年多的发展,居然已经有新增至十几个数据中心,而且产品线发展也是比较丰富。比如也有独立服务器业务,不过在他们轮番的低价年付VPS主机活动下,他们的服务器估摸着销路不是太好的。这里,今天有看到RackNerd商家的独立服务器业务有促销。这次提供美国多个机房的高配独立...

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

xen为你推荐
asp主机空间asp空间是什么空间域名空间和域名是什么?重庆虚拟空间重庆那里可以租用VSP主机重庆网站空间重庆建网站的公司 我司准备建一个好点的网站,求推荐香港虚拟主机推荐一下香港的虚拟主机公司!上海虚拟主机我想购买虚拟主机,选个品牌。大家给点意见。电信为主。当然肯定要支持多线。上海虚拟主机谁能告诉我杭州哪个公司的虚拟主机最好,机房最好是上海或浙江的.西安虚拟主机西安云主机/云主机与vps有哪些区别双线虚拟主机双线虚拟主机说是比单线的好是吧?双线虚拟主机G型双线虚拟主机是什么意思
香港虚拟空间 香港虚拟主机 域名投资 com域名注册1元 个人域名备案流程 唯品秀 国外私服 mobaxterm patcha 好看的桌面背景图片 183是联通还是移动 爱奇艺vip免费试用7天 东莞服务器 上海电信测速网站 河南移动梦网 shuang12 免费个人主页 注册阿里云邮箱 新网dns 镇江高防服务器 更多