之前对网络的概念很模糊,特意找了网络的同事胖哥帮忙普及了一些网络的基本知识,虽然还是不大懂,但是方法会了,网上VirtualBox的网络配置还是比较少,这里简略的总结下。
VBox虚拟机连接互联网的两种方法(前提是你自己的物理机可以连上互联网)。
方法一:用一张桥接模式的虚拟网卡,界面选择你自己联网的那块网卡,即可实现连上外网。
方法二:使用NAT网络,在管理-全局设定中
增加一个NAT网络,网络地址按照默认生成即可,不需要特定设置IP(网上很多误导)
在我们的虚拟中中选择这个NAT网络网卡即可
两种连接方式的区别在于,第一种桥接模式会生成一个和物理机同一网段的IP地址,第二种NET连接模式生成和网络CIDR范围内的IP地址。
RedHat版本的网络配置也有区别(这里只选取一种外网连接模式测试)。
1、RedHat 5,.4配置双网卡,网卡1 eth0 (使用的是仅主机Host-Only模式)192.168.56.11用作私网,网卡2 eth1(使用的是NAT网络)共享实体机访问外网,此时不需要任何设置,直接可以访问公网和私网,如下图示。
但是换成redhat6.7版本这样设置双网卡启动后,eth1网卡可以连接,但是始终无法从物理机ping通和访问外网。
通过route命令查询5.4版本的如下图示,eth1的路由生效
查看6.7版本的route 发现如下问题,eth1的根本没有生效
禁用eth0网卡后可以使用外网了,那问题应该出现在默认的route上,对比了下5.4和6.7的/etc/sysconfig/network-scripts/ ifcfg-eth0文件,发现了端倪
5.4版本的没有defroute=yes 这一项。于是屏蔽了6.7版本的defroute=yes,但是问题依旧。讲defroute=yes 改成no后问题解决,route如下
内网访问正常,双网卡网络配置成功,如果第二张网卡使用的是桥接模式,也是同样问题,主要是6.7的默认网卡/etc/sysconfig/network-scripts/ ifcfg-eth0中新增的defroute=yes参数作怪,改成no就好了。
这个问题折腾了我一天多,感谢胖哥的协助,几分钟就得以解决,顺便帮我普及了下网络知识。