VirtualBox: 如何在Linux下使用Host Interface Netwo***ng
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-07
VirtualBox, 我一直将其当作VMWare的替代软件,坚持使用,看到现在优秀的非商业软件已经越来越多了,着实让人欣慰. 但是,VirtualBox有个问题困扰了我很久,就是host system与guest system之间的通讯问题,即虚拟主机的虚拟网络与真实网络的通讯问题.VMWare在这个问题上解决得很好.对于VMWare来说,任何一种虚拟网络均不会影响虚拟主机网络的访问.但对于VirtualBox来说,其默认的NAT模式,却有着先天不足,包括无法转发ICMP、虚拟主机无法被真实网络访问等问题.不过VirtualBox的确提供了另外2种类型的虚拟网络,可以解决这个问题. 我时不时翻出VirtualBox的UserManual看一下,每次看到virtual netwo***ng的时候都很郁闷,看不懂,尝试着按上面的方法配置虚拟网卡,却均以失败告终. 正好昨天装了一个CentOS 5.0的虚拟系统,心想一定要把网络互通的问题解决,否则太不方便了. 几小时前,我再次按照手册上的方法操作了一遍,不出所料,又失败了. 刚才,启了dynamips做了个小实验,想到dynamips用到的虚拟网卡,灵机一动,若有所悟. 于是有了下面的解决方法,大致分为几步: 1)手工创建虚拟网卡 为了方便创建虚拟网卡,我写了一个脚本: #!/bin/sh if [ -z "$EUID" -a -x /usr/bin/id ]; then EUID=`id -u` fi if [ "$EUID" = "0" ]; then #----- vbox0 ------------------------------------------------------------- /sbin/ifconfig vbox0 > /dev/null 2>&1 if [ "$?" = "0" ]; then tunctl -d vbox0 echo echo "*** vbox0 was removed! ***" echo exit 1 else tunctl -u wandering -t vbox0 ifconfig vbox0 172.16.0.1 netmask 255.255.255.0 up echo ifconfig vbox0 echo echo "*** vbox0 was created with ip address of 172.16.0.1/24! ***" echo fi else echo echo "*** Permission denied, please run this as root! ***" echo exit 1 fi 使用此脚本前记得将“tunctl -u wandering -t vbox0”中的wandering替换为自己系统上要运行VirtualBox的用户名. 2)在VirtualBox虚拟系统的配置文件中引用第1步所创建的虚拟网卡 <A> 打开VirtualBox虚拟系统的setting界面,进入"settings->NetWork->Adapter 2"; <B> 勾选"Enable Network Adapter"; <C> 在"Attached to"下拉框中选择"Host interface"项; <D> 在"Interface Name"输入框中填写"vbox0"(这是手工创建的虚拟网卡的名字,根据实际创建情况而定); <E> 点击按钮"OK"关闭保存配置; 3)在启动的虚拟系统中,为新网卡配置网络 以我安装的 CentOS 5.0 为例: # ifconfig eth1 172.16.0.2 netmask 255.255.255.0 up 在 Host 系统中 ping 虚拟系统的新网卡对应IP地址: # # # ping 172.16.0.2 PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data. 64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.209 ms ^C --- 172.16.0.2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.209/0.209/0.209/0.000 ms # # # ssh -l root 172.16.0.2 The authenticity of host ''172.16.0.2 (172.16.0.2)'' can''t be established. RSA key fingerprint is a9:15:3d:cf:f5:b1:5c:5f:5d:96:fb:a9:b0:9d:37:61. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ''172.16.0.2'' (RSA) to the list of known hosts. root@172.16.0.2''s password: Last login: Tue Oct 7 00:13:55 2008 [root@centos5 ~]# [root@centos5 ~]# exit logout # 补充说明:我的Desktop用的是openSUSE 11.0 x86_64. OK,一切 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于VirtualBox: 如何在Linux下使用Host Interface Netwo***ng的所有评论