我们的目标是实现类似于桥接模式的那种局域网虚拟机主机互通并且能够访问外网的网络模式,以满足我们日常架设本地服务器测试环境的需求。但是又不想使用桥接模式,因为会占用真实局域网的 IP 地址,这点对于管理严格一点的公司内网来说非常棘手;切换网络容易产生 IP 冲突,就要针对虚拟机更改 IP 配置,非常的麻烦。
那哪种模式才能满足我们的需求呢?
以上介绍的单纯任何一种模式都无法满足,就算能满足也要做相应的设置,而不是默认配置完就能支持。比如 Host-only 模式就可以通过配置宿主机物理网卡和虚拟的网卡之间进行网络共享实现。但是考虑到不通 *** 作系统(例如:Mac OS X、Windows)设置的方式肯定存在差异,没法做到跨平台,换一个 *** 作系统部署同一套环境免不了学习成本,所以这种方式不予考虑。
那还有没有其他方式呢?
答案是有的,不过需要结合几种网络模式来实现。
这里我们采用 双网卡+Host-only+NAT 网络模式来实现。
虚拟机管理软件是支持定制硬件的(当然这里所说的硬件是指软件模拟的),所以添加网卡就可以满足。
假设你已经拥有了一台安装好 CentOS 7.x 的虚拟机
Virtual Box 侧边栏选中你要配置的虚拟机,我这里是 centos7-origin ,点击右边的设置
选中侧边栏的网络一栏,点击”网卡1“标签页,配置连接方式为“仅主机网络”,界面名称选默认的就好
点击“网卡2”标签页,配置连接方式为“网络地址转换”,注意要勾上“启用网络连接”的选框。如果有需要,你也还可以配置“网卡3”、“网卡4”。这里我们只需要配置两张网卡
按以上步骤添加好网卡启动虚拟机
输入 ip addr 命令,此时能看到两张网卡,依次为前面我们设置的 Host-only 、 NAT 模式
cd /etc/sysconfig/network-scripts &&ls 可以看到存在 ifcfg-enp0s3 这个网卡的配置文件,后缀对应的就是前面看到的网卡名
cp ifcfg-enp0s3 ifcfg-enp0s8 拷贝 ifcfg-enp0s3 命名 ifcfg-enp0s8 (对应前面的第二张网卡名)
nmcli con show (使用这个命令需要 NetworkManager 这个服务是开启的)查看网卡的 UUID 并通过 nmcli con show >~/uuid.txt 记录到文件以备修改网卡配置用(这里文件名和路径自己定,也可以同我一样放在家目录,因为我没有用 ssh 工具连接虚拟机,到时候给网卡设置上对应的 UUID 没法复制粘贴,输入会比较麻烦,所以先把查看到的 UUID 信息输出到文件,修改网卡配置文件时可以读入文件的内容方便编辑)
我们采用静态 IP 的方式配置Host-only模式的网卡,也就是 enp0s3 这块
回到Virtual Box主界面点击菜单管理->主机网络管理器,d出对话框如下
这里采用固定 IP 配置,网络选项卡->手动配置如上
配置虚拟机 Host-only 模式的网卡 vi ifcfg-enp0s3
注意,网段需要跟上面主机网络配置的网卡处于同一网段,网关地址这里设置为主机网络配置的网卡地址一致
接着编辑 enp0s8 这张网卡, vi ifcfg-enp0s8 命令模式下光标移动到最后一行读入我们之前保存的网卡 UUID 文件 : r ~/uuid.txt 方便修改。因为这里是NAT模式,所以只要修改以上四个地方。
systemctl restart network 重启网络
ip addr 查看网卡是否配置成功,如上说明配置没问题
依次测试 Host-only 模式访问宿主机、 NAT 模式访问宿主机、访问外网
测试宿主机访问虚拟机
这样,整个网络便搭建好了,接着就可以欢乐的搭建本地服务器测试环境了
在VirtualBox中安装Ubuntu后,默认情况下有一块处于NAT模式的虚拟网卡,若宿主机可以上网,虚拟机也可以通过NAT访问宿主机所在网络,但是却无法实现宿主机和虚拟机之间的互联。使用双网卡,一块网卡工作在NAT模式,另外一块网卡工作在Host-only模式,这样即实现了虚拟机上外网,又实现了虚拟机与宿主机之间的互联,即使在断网情况下也可以互联。世间也有两全美。
VirualBox有四种虚拟网络连接模式,包括NAT(网络地址转换) 模式、Bridge (桥接)模式、Host-Only(主机)模式、Internal(内网)模式。
具体它们的特点与区别可以参考 这里 。
Win7 + VirtualBox4.3 + Ubuntu14.04
在宿主机的网络连接中查看是否存在VirtualBox Host-Only Network,若存在,则将网络配置到启用状态,并查看该网络所在内网网段。
如图,宿主机Host-Only网络是192.168.57.*网段。因此稍后需要为Ubuntu的Host-Only网卡添加该网段的静态地址。
如果该Host-Only网络不存在,则需在VirtualBox中添加,添加方法为 管理 -->全局设定 -->网络 -->仅主机(Host-Only)网络 -->添加网络。
进入虚拟机设置 -->网络 -->网卡2,启用网络连接并选择Host-Only适配器和界面名称,具体配置见图。
进入虚拟机Ubuntu,使用 ifconfig 命令查看会发现只有一个网卡工作,因为第二块网卡还没有进行配置。
使用vim编辑 /etc/network/interfaces ,添加第二块网卡的网络配置,宿主机需要长期连接虚拟机,需要为Host-Only网络配置静态IP,IP需要和宿主机的Host-Only网段一致。
重启网络或者系统。
进入Ubuntu使用 ifconfig 查看网络状态,此时应该两张网卡都在工作。
完工(~﹃~)~zZ
vcenter中,选择主机,管理,网络,虚拟交换机,添加主机网络,选标准交换机的虚拟机端口组,选新建标准交换机,添加适配器,选中第二块网卡,网络标签VMNetwork
2,完成。
编辑虚拟机设置,添加网络,选择VM
Network
2,再在虚拟机里设置第二块网卡。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)