一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器与流程

2022-05-08 06:25:06 来源:中国专利 TAG:

一种基于virtualbox的获取宿主机ip地址的方法及后台服务器
技术领域
1.本发明涉及数据共享技术领域,尤其涉及一种基于virtualbox的获取宿主机ip地址的方法及后台服务器。


背景技术:

2.virtualbox是一款由德国 innotek 公司开发、sun microsystems公司出品的开源虚拟机软件,其使用qt编写,在 sun microsystems公司被 oracle 收购后正式更名成 oracle vm virtualbox。目前,基于丰富的特色以及友谊的性能,virtualbox号称是最强的免费虚拟机软件,实际上,virtualbox可虚拟的系统包括windows(从windows 3.1到windows 10、windows server 2012,所有的windows系统都支持)、mac os x、linux、openbsd、solaris、ibm os2甚至android等操作系统,使用者均可以在virtualbox上安装并且运行上述的这些操作系统。
3.因此virtualbox给windows中部署linux确实带来了便利性,效率和稳定性也有保障。但是为了宿主机和子系统对外访问一致,将网络连接方式直接设置为了nat模式,此模式下用户会发现,子系统的服务需要动态获取宿主机的ip地址是一件很困难的事情,目前没有现成的解决方案,一旦宿主机的ip地址需要调整或者有变化,那么虚拟子系统中需要用到宿主机服务的地方都要手动的修改和服务重启,给用户带来明显较差的使用体验。


技术实现要素:

4.为了克服现有技术的不足,本发明的目的之一在于提供一种基于virtualbox的获取宿主机ip地址的方法,其能解决无法实现动态获取宿主机的ip地址,导致用户需要重复重启宿主机的问题。
5.本发明的目的之一在于提供二种基于virtualbox的获取宿主机ip地址的后台服务器,其能解决无法实现动态获取宿主机的ip地址,导致用户需要重复重启宿主机的问题。
6.为了达到上述目的之一,本发明所采用的技术方案如下:一种基于virtualbox的获取宿主机ip地址的方法,包括以下步骤:s1:将子系统通过virtualbox安装到宿主机中;s2:在virtualbox中设置共享文件夹为自动挂载以及固定分配,并且储存宿主机中的共享目录和共享名;s3:在宿主机中增加一个bat脚本,通过bat脚本获取宿主机的ip配置信息,并启动virtualbox中的子系统;s4:驱使子系统对ip配置信息进行分析,获取宿主机的ip地址,以及更新子系统的ip配置信息。
7.优选的,在s1和s2之间还包括以下步骤:将宿主机的网络连接设置为nat模式。
8.优选的,所述bat脚本的储存位置为宿主机的自启动菜单栏。
9.优选的,所述s3具体由以下步骤实现:s31:在宿主机中增加一个bat脚本,通过bat脚本在宿主机中执行ipconfig命令,并执行ipconfig命令获得的宿主机的ip配置信息写入共享目录下;s32:启动virtualbox中的子系统。
10.优选的,所述s4具体由以下步骤实现:s41:获取子系统中新增的共享目录;s42:在子系统的开机启动文件中加入ip配置信息文件分析与获取脚本的执行命令;s43:驱使ip配置信息文件分析与获取脚本分析共享目录的文件信息,通过特征匹配与遍历,获取到宿主机的真实ip地址,并写入到公用的配置文件;s44:驱使需要获取ip的子系统服务加载配置文件。
11.优选的,所述子系统为linux。
12.为了达到上述目的之二,本发明所采用的技术方案如下:一种基于virtualbox的获取宿主机ip地址的后台服务器,包括储存器和处理器;储存器,用于储存程序指令;处理器,用于运行所述程序指令,以执行如上述的基于virtualbox的获取宿主机ip地址的方法。
13.相比现有技术,本发明的有益效果在于:通过预先设置共享目录,再由bat脚本获取宿主机的ip地址,并共享至共享目录,然后自启动以及驱使子系统对ip配置信息进行分析,以使子系统获取宿主机的ip地址,进而自动更新子系统的ip配置信息,免除手动配置子系统的ip配置信息,实现宿主机和子系统共用同一个ip地址。
附图说明
14.图1为本发明中所述基于virtualbox的获取宿主机ip地址的方法的流程图。
具体实施方式
15.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
16.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
17.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
18.下面,结合附图以及具体实施方式,对本发明做进一步描述:在本发明中,所述宿主机的操作系统可以为windows系列系统,优选windows2008系统,所述子系统可以为windows(从windows 3.1到windows 10、windows server 2012,所有的windows系统都支持)、mac os x、linux、openbsd、solaris、ibm os2甚至android等操作系统,优选的,子系统为linux。
19.实施例一:如图1所示,一种基于virtualbox的获取宿主机ip地址的方法,包括以下步骤:s1:将子系统通过virtualbox安装到宿主机中;在本实施例中,宿主机的操作系统为windows2008系统,预先在宿主机中安装virtualbox,再在virtualbox中安装debian9 发行版linux 子系统,并且将宿主机的网络连接设置为nat模式。
20.s2:在virtualbox中设置共享文件夹为自动挂载以及固定分配,并且储存宿主机中的共享目录和共享名;具体的,在virtualbox中设置文件夹共享,并设置成自动挂载以及固定分配,并且储存宿主机中共享的目录和共享名,假设共享目录是d:\soft\share,共享名是share。
21.s3:在宿主机中增加一个bat脚本,通过bat脚本获取宿主机的ip配置信息,并启动virtualbox中的子系统;具体的,增加一个在宿主机中自动获取ip配置信息,并将ip配置信息写入到共享目录中的一个文件,为子系统启动后分析脚本提供分析文件源的bat脚本,在本实施例中,所述s3具体由以下步骤实现:s31:在宿主机中增加一个bat脚本,通过bat脚本在宿主机中执行ipconfig命令,并执行ipconfig命令获得的宿主机的ip配置信息写入共享目录下;优选的,所述bat脚本的储存位置为宿主机的自启动菜单栏,以使得在宿主机的windows下打开命令后,bat脚本在宿主机中执行ipconfig命令,将宿主机的完整ip配置信息写入共享目录下的一个文件中,为子系统启动后分析脚本提供分析文件源。
22.s32:启动virtualbox中的子系统。
23.具体的,bat脚本共享ip配置信息后,再启动virtualbox中的子系统,优选的,bat脚本包括以下指令:cd c:\program files\oracle\virtualboxvboxmanage.exestartvm debian9
ꢀ‑‑
type headless。
24.s4:驱使子系统对ip配置信息进行分析,获取宿主机的ip地址,以及更新子系统的ip配置信息。
25.具体的,子系统获得分享文件后,对分享文件进行分析,以获取ip配置信息,在本实施例中,所述s4具体由以下步骤实现:s41:获取子系统中新增的共享目录;具体的,当子系统启动后,由于virtualbox自带的机制,virtualbox会自动创建一个虚拟文件磁盘,并且在步骤s2中还设置了自动挂载,所以子系统中新增的共享目录,例如/media/sf_share目录,其中share为步骤s2中的共享名,便于查找。
26.s42:在子系统的开机启动文件中加入ip配置信息文件分析与获取脚本的执行命
令;具体的,在开机启动文中,例如/etc/rc.local中加入ip配置信息文件分析与获取脚本的执行命令,当ip配置信息文件分析与获取脚本在/data/www/get_ip.php,那么在/etc/rc.local中写入 php /data/www/get_ip.php,以使子系统启动就绪之后,立刻进入ip分析逻辑,为之后子系统的应用服务启动提供ip配置来源。
27.s43:驱使ip配置信息文件分析与获取脚本分析共享目录的文件信息,通过特征匹配与遍历,获取到宿主机的真实ip地址,并写入到公用的配置文件;具体的,先将ipconfig命令的输出原始信息从gb2312编码转为utf-8编码,再去除回车和换行符,然后将信息转为数组,遍历步骤s3中的数组,判断每个网卡的网卡名,并同时排除掉本地回环地址lo、本地虚拟网卡以及ipv6网卡,剩下的有ipv4网卡关键字的网卡信息即为专门分析的ip信息字符串,再综合运用字符串相关函数就可以分析到具体的ipv4地址,即宿主机的真实ip地址,然后写入到公用的配置文件ip.php,目的达成。
28.s44:驱使需要获取ip的子系统服务加载配置文件。
29.具体的,启动子系统业务系统的所有服务,需要获取ip的服务统一加载文件 /data/www/ip.php即可。
30.实施例二:一种基于virtualbox的获取宿主机ip地址的后台服务器,包括储存器和处理器;储存器,用于储存程序指令;处理器,用于运行所述程序指令,以执行如实施例一所述的基于virtualbox的获取宿主机ip地址的方法。
31.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献