主机与Dynamips相连的折中解决方法

简介:
昨天晚上浏览bbs时,发现有位同行提出如何用本机telnet到Dynamips虚拟出来的路由器端口上。之前以为连接是理所当然的,做了试验后才发现,使用物理网卡无法ping通路由器的端口,提示为超时。
 
个人认为这跟Dynamips没有接管OSI第1、2层以及物理网卡对待数据帧的方法有关。使用wireshark抓包后发现,因此从本机发出的icmp数据帧,目标mac地址为虚拟路由器的端口mac地址。而这个数据包是有系统icmp协议直接调用网卡驱动发出的,并没有经过Dynamips。在广播域上(就是交换机上)看到源mac和目标mac就在同一个冲突域(交换机端口)下。因此数据帧发回到该物理网卡的冲突域上。但是对于物理网卡而言,交换机发过来的数据帧的目标mac不是自己的mac,应该将其丢弃。而且由于主机一般不对icmp进行错误返回,因此显示超时错误。
 
网上google、baidu了一番,终于发现了一个折中的方法:使用loopback网卡。因为loopback在逻辑上与物理网卡是一致的。而且任何发往loopback的数据包根本不会经过第二层封装。这就不存在网卡丢弃数据帧的问题。
 
xp的话使用添加新设备,选择网络适配器,手动安装,厂商选老比盖,里面就有loopback。装完后重启计算机,重新使用dynamips中选择npf的参数(我使用edurainbow的full 2,有个setup目录下可直接改网卡参数),填上loopback网卡的npf即可。重新启用dynamips,主机和路由器终于可以直接ping了。
 
这样有个缺点,就是无法使用多台主机作分布式虚拟试验。暂时没有想到更好的方法,希望有识之士可以指教。



本文转自 gole_huang 51CTO博客,原文链接:http://blog.51cto.com/golehuang/82400
相关文章
|
4天前
|
安全 物联网 数据安全/隐私保护
ensp中PPPOE (点对点协议)原理和配置命令
ensp中PPPOE (点对点协议)原理和配置命令
|
7月前
|
网络协议 虚拟化 Windows
75Linux - VMware虚拟机三种联网方法( Host-Only私有网络共享主机:默认使用VMnet1 )
75Linux - VMware虚拟机三种联网方法( Host-Only私有网络共享主机:默认使用VMnet1 )
68 0
|
7月前
|
Shell 网络安全 网络虚拟化
[笔记]Windows使用OpenVpn构建虚拟局域网
[笔记]Windows使用OpenVpn构建虚拟局域网
296 0
|
网络协议 Linux Windows
在Liunx下修改网卡MAC地址
首先必须关闭网卡设备,否则会报告系统忙,无法更改。命令是:sudo /sbin/ifconfig eth0 down 修改 MAC 地址,这一步较 Windows 中的修改要简单。命令是:sudo /sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 重新启用网卡sudo /sbin/ifconfig eht0 up网卡的 MA
1460 0