一.Dynamips与本地网卡桥接


其实这是一个老问题
,我在dynamips之入门篇(dynamipsGUI)(点击浏览)文章中也有讲解,可能因为篇幅有限,没有深入,给刚入门的新手带了不便,敬请原谅.下面我将对Dynamips与本地网卡桥接进行较为详细的说明,希望对新手朋友有或多或少的帮助.

首先,关于Dynamips 桥接到本地网卡进行通信,更深层次的原理问题,在这我就不作说明了,其表面问题在windows下主要就是获取网卡的参数.那么如何获取网卡的参数呢?Dynamips已经为我们提供非常方便的捷径.这里我讲三种方法:
①使用Dynamips –e 命令行参数

单击 开始--运行—cmd,通过cd命令进入到你的dynamips目录,然后输入dynamips –e获取

②使用Dynamips+Dynagen win32安装包(点击下载),双击自动安装后的桌面的快捷方式Network device list来获取
③使用小凡的DynamipsGUI来获取
 
三种方法得到的结果是一样的(废话),如下图:
(为了便于讲解,我在我的主机上同时添加了VM虚拟网卡,Tap网卡以及Microsoft Loopback网卡)

网卡的参数如上图划线部分:
例如本地物理网卡参数为:
\Device\NPF_{C4806338-FDAE-4AD4-9E8C-2654B73223CF},一定要注意完整格式.
网卡参数已经正确获取了,下面就是如何进行桥接了,这里我将net文件格式与bat文件格式分开来写.

①net文件格式桥接
对于net是使用Dynagen这个作为前端,不废话了,直接进入主题,比如模拟一个7200路由器,现将slot0插槽插入C7200-IO-FE模块,并将其Fa0/0端口桥接到本地的物理网卡.很简单.只需要如下参数:
Fa0/0=\Device\NPF_{C4806338-FDAE-4AD4-9E8C-2654B73223CF}
注意的是只有以太网口才可以与本地机的网卡进行桥接.

②bat文件格式桥接(批处理文件)
bat文件格式主要直接利用Dynamips的原始命令来完成模拟.这里我建议大家利用小凡的DynamipsGUI来制作bat批处理文件,因为Dynamips原始令较复杂,并且容易弄错.我们同样以net文件格式的例子,步骤如下:

勾选设备类型,桥接到PC,配置7200主要参数,如下图:

 
配置好点击确定桥接参数.(注意点击确定桥接参数以后网卡参数会消失,这是正常的)然后下一步,slot设置如下图
点击下一步,进入端口连接,如下图:
点击生成.BAT文件.查看bat文件核心命令部分如下:
引用:
dynamips-wxp.exe -T 2001 -P 7200 -r 128 --disk0 4 -t npe-400 -c 0x2102 -p 0:C7200-IO-FE -s 0:0:gen_eth:"\Device\NPF_{C4806338-FDAE-4AD4-9E8C-2654B73223CF}" ..\c7200-is-mz.122-37.bin --idle-pc=0x6067d29c


简单的解释关于桥接的参数:
复制内容到剪贴板
代码:
-p 0:C7200-IO-FE 在slot0插槽插入C7200-IO-FE
-s 0:0:gen_eth:"\Device\NPF_{C4806338-FDAE-4AD4-9E8C-2654B73223CF}" 将Fa0/0端口桥接到本地物理网卡



-----------------------------------------------------------------------------------


桥接中你可能遇到的问题FAQ


1.: 如何正确的配置本地网卡跟路由器端口进行通信?

: 配置物理网卡的ip与路由器网卡ip同一个网段,即可ping(当然可以选择路由器端口作为默认网关)



2.: 为什么在正确配置了ip和网卡参数却无法互相ping?

:如果是防火墙禁止了通信,请配置防火墙放行(建议关闭系统自带防火墙以及第三方防火墙)



3. : 为什么使用BAT文件进行桥接时候,双击bat文件后出现刷屏现象?

  答: 其最主要的原因还是网卡参数选择错误导致的,请仔细检查网卡参数格式是否正确,以及是否选择所桥接的网卡参数.



4.: 当使用VM虚拟网卡进行桥接,使用虚拟机与dynamips模拟设备进行通信时,如何桥接?

  答: 这跟普通桥接是一样,只需要获取VM的虚拟网卡参数按照上述方法配置即可.需要注意的是IP地址的设置.最简单的是使用

     VM的桥接模式.示意图如下:

        VM
虚拟机-----------------------本地物理网卡-------------------Dynamips模拟路由器


               VMnet0桥接)             (物理网卡参数)


     这种方法只需要将路由器端口与物理网卡IP设置同段,并且VM虚拟机使用桥接模式,VMnet选择物理网卡进行桥接.注意

     在虚拟机操作系统里设置网卡IP地址跟物理网卡IP同段.注意这里所说到三个同段的IP地址不要冲突。


5.: 当进行多个虚拟网卡桥接时候,使用dynamips获取网卡参数时无法判断所需的虚拟网卡参数.

:因为如果多个虚拟网卡并且同类型,比如使用Open***创建过个TAP网卡 (VM创建的虚拟网卡)时候我们无法识别哪个网卡参数才是所需要的.显示的仅仅只是参数不同,无任何标识.所以很难确认.


确认VM创建的虚拟网卡参数有两个办法:

1)首先我们在网络连接里设置好个网卡名字,当我们需要进行多个桥接时。我们可以选择先停用一些VM虚拟网卡,仅留一个,然后在用dynamips –e来获取参数,显示的就只有一个VM虚拟网卡参数.选取它,并作好记录和标记.然后在关闭此VM虚拟网卡.在启用其它的(注意一次一个),依次类推就可以确定所有的VM虚拟网卡参数了(比较没有技术水平的方法,不过不得承认它确实是有效的)
2)通过注册表来进行确认打开注册表,定位到:
复制内容到剪贴板
代码:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}

      

可以看到它下边有一系列的子键:0000,0001,0002 等等,一个一个的分别打开,直到找到VMnet1网卡所在的子键,在NetCfgInstanceId 字符串中,就可以获得VMnet1 网卡的此参数,找个记事本先记录下来.依次方法即可确认VMnet各网卡参数.

 
确认Open***创建的TAP虚拟网卡参数就只能使用上面所说的第一种方法:”逐个关闭法进行确认了,暂时我还没有发现别的方法(注册表中也无法确认)