您的位置:首页 > 其它

虚拟机与主机进行IPv6通信实验

2012-08-02 10:51 295 查看
主机采用 XP 系统,虚拟机VMware 8.0,系统为FreeBSD8.0。

一、配置FreeBSD

对于FreeBSD来说,可以先检查ipv6是否开启,ifconfig em0 或是 igb0,查看如果存在ipv6,则会显示ipv6地址信息。如下图:



(图一)

这里存在两个 inet6地址,这是我另外绑定了一个ipv6地址在接口上。

另外在boot引导后,能看到类似的信息,如下:



(图二)

如果没有载入ipv6,则可以在/etc/rc.conf文件加入 ipv6_enable="YES",前提在内核编译中开启了IPV6选项 (OPTION INET6),当然默认都是开启的。

FreeBSD在启动后,就可以配置ipv6的接口信息,如删除接口地址,增加接口地址,方法大都与linux一致。

ifconfig em0 inet6 add 2001:200:13:46::71
为em0接口增加一个ipv6地址。默认前缀 prefixlen 等于64,也就是2001:200:13:46作为网络地址空间,后面的是主机接口ID,类似于ipv4的子网掩码概念。 也就是要与xp主机通信时,两台主机的网络必须是相同的。也可以指定prefixlen 长度,如: ifconfig em0 inet6 add 2001:200:13:46::71 prefixlen 64。

ifconfig em0 inet6 2001:200:13:46::71 delete 这里很需要注意,这delete放在最后才是对的。 郁闷。如下图:



(图三)

删除了em0上的 2001:200:13:46::71地址。

因为是跟虚拟机通信,也就不用设置路由。

二、配置XP

XP默认都是没有安装ipv6协议栈的,先进入命令行 Win + R,cmd ,然后输入 ipv6 install即可。



设置ipv6地址,敲入netsh ,接着输入 interface,ipv6,每一个命名后都可以使用show 或是 ?获取下一步的提示。

安装好ipv6后默认都有开启一些接口,show address能清楚看到这些接口的编号,地址,状态等信息。如下图:



这里只截取了一部分信息,实际上的物理网卡就是接口6: 本地连接。这里还有两个手动的地址类型,这两个地址是我后来加上去的。

在netsh -> interface -> ipv6 上下文,可以使用?查看允许的操作类型。

set address "本地连接" 2001:200:13:46::23 或是 set address 6 2001:200:13:46::23都是表明为”本地连接“的接口增加一个 ipv6地址。默认前缀也是64位。

delete address "本地连接" 2001:200:13:46:23 或是 delete address 6 2001:2001:13:46:23 在”本地连接“这个接口上删除一个指定的地址。



这样就删除了fe80::20c:29ff:fea5:f172这个地址。

VMware 中的FreeBSD的 IPv6地址为 2001:200:13:46::71,XP主机的IPv6 地址 2001:200:13:46::23,因此是可以互通的,进行ping测试,很需要注意的一点是 虚拟机系统必须是桥接方式,且系统没有开启防火墙。

XP ping FreeBSD (winxp可以使用ping也可以使用pint6,如果是ip地址,效果则是一致的),结果如下:



另外还可以指定接口去ping包,如 ping6 2001:200:13:46::71%6,使用接口号为6的接口发送ping包。

FreeBSD ping XP (不能使用ping ,而要使用ping6访问ipv6地址),结果如下:



抓包看,结果确实是使用ipv6协议,如:



情况大致于此,此中最需要注意的就是 防火墙和这个虚拟机桥接了。在做实验中,就因为一个防火墙默认被开启了,win7系统能Ping通winxp,但winxp ping win7却总是提示目标主机不可到达。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: