xingfuhaitun 发表于 2011-12-21 08:43

NistNet 配置安装

<DIV>CSDN&nbsp;&nbsp; <A href="http://blog.csdn.net/tryscan/archive/2008/02/02/2077746.aspx" target=_blank>http://blog.csdn.net/tryscan/archive/2008/02/02/2077746.aspx</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>安装准备:</DIV>
<DIV>下载 nistnet.2.0.12b.tar.gz&nbsp;&nbsp;&nbsp; <A href="http://snad.ncsl.nist.gov/nistnet/" target=_blank>http://snad.ncsl.nist.gov/nistnet/</A></DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nistnet.2.0.12c.tar.gz&nbsp; <A href="http://snad.ncsl.nist.gov/nistnet/" target=_blank>http://snad.ncsl.nist.gov/nistnet/</A></DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; (Nistnet是运行在linux平台下的,目前有2.0.12b和c两个版本,具体安装哪个版本要视linux内核而定,2.4.**以下的用b,2.6.**的用c,千万别安错了;kernel 2.6.*下问题比较多,不太好搞。)</DIV>
<DIV>&nbsp;</DIV>
<DIV>以下就以Red Had 9做个例子</DIV>
<DIV>一.安装系统</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; 安装有kernel 2.4.**的linux,硬盘如果够大,建议linxu模块全部安装,大约5G+;免的出错。</DIV>
<DIV>二.安装NISTnet</DIV>
<DIV>(1)安装NISTNET前重新生成新内核(因为NISTNET的新版本用RTC-real time clock,以前老版本用fast timer,RTC更稳定)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open CLI:</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /usr/src/linux2.4.20-8&nbsp;&nbsp; // kernel文档目录</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make mrproper&nbsp;&nbsp;&nbsp;&nbsp; //删除不稳定的.O文件和.config配置文件</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make menuconfig&nbsp;&nbsp;&nbsp; //调出修改内核工具</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to make sure:</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Loadable module support --&gt;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set version information no all module symbols&nbsp; --off //又说按M键设置,本人在设置的时候用的N键</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Character devices --&gt;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enhanced Real Time Clock Suppot --M&nbsp;&nbsp; //按M键,设置</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make dep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //连接程序代码和函数库</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make clean&nbsp;&nbsp;&nbsp;&nbsp; //删不必要的模块</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make bzImage&nbsp;&nbsp;&nbsp; //生成内核文件</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp /usr/src/linux2.4.20-8/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-8_new&nbsp; //该步骤可能会提示用户“没有该目录…”,请检查所在目录,正确运用cp命令即可</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make modules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //编译外挂模块</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make modules_install&nbsp;&nbsp;&nbsp;&nbsp; //安装编译完成的模块</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make install&nbsp;&nbsp; //把新的内核和相关文件复制到正确的目录,并修改grub.conf文件,在grub&nbsp;&nbsp;&nbsp; 菜单会添加一个新的内核启动选项(也可以自己修改)</DIV>
<DIV>// ----------------------------------------------------------</DIV>
<DIV>mkinitrd&nbsp;&nbsp; /boot/initrd-2.4.20-8_new.img&nbsp; 2.4.20-8&nbsp; </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edit grub.conf (/boot/grub/grub.conf , add a new title and the root path) 编译启动文件(title Red Hat Linux (2.4.20-8 new)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root (hd0,0)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kernel /vmlinuz-2.4.20-8_new ro root= /dev/hda?</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initrd /initrd-2.4.20-8_new.img</DIV>
<DIV>)</DIV>
<DIV>//-----------------------------------------------------------</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reboot&nbsp;&nbsp; </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; 注意:从新内核引导;当重启过程中出现让你选择kernel 的选项时要选择最新编译过的,就是最上面的那个。</DIV>
<DIV>(2)安装NISTNET</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; cd ~./NistNet&nbsp;&nbsp;&nbsp;&nbsp; //进入NistNet解压缩目录</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; ./configure</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; make&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; make install&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //安装完成,如果没有错误就下一步</DIV>
<DIV>(3)测试安装是否成功</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; cd ~./NistNet</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; ./Load nistnet&nbsp; </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; cnistnet –u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //加载模块&nbsp;&nbsp; &amp;也可使用图像窗口,xnistnet –u</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cnistnet –a 192.168.100.1 192.168.2.121&nbsp; --drop 30 --delay 30 //进行丢包及延时设定</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>Clinet 一端:执ping操作(192.168.100.111 ping 192.168.2.121)</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>对比执行cnistnet –d 后的结果&nbsp; //off该功能</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>显然执行cnistnet –a[]后,有了丢包及延时,说明测试ok!</DIV>
<DIV>有关NISTNET 的命令,执行cnistnet –h即可看到 //or 执行cnustnet也可显示</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR># cnistnet -h</DIV>
<DIV>cnistnet: invalid option -- h</DIV>
<DIV>Usage: cnistnet &lt;options&gt; - must be root to run it.</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; up (on)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; down (off)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -a src[:port[.protocol]] dest[:port[.prot]] add new</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--delay delay ]]</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--drop&nbsp; drop_percentage]</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--dup&nbsp; dup_percentage]</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--bandwidth bandwidth]</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [--drd drdmin drdmax ]</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -r src[:port[.prot]] dest[:port[.prot]] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remove</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -s src[:port[.prot]] dest[:port[.prot]] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; see stats</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -S src[:port[.prot]] dest[:port[.prot]] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; see stats continuously</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; [-n] -R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read table (-n numerical format)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -D value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debug on (value=1 minimal, 9 maximal)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -U&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debug off</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global stats</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kickstart the clock</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flush the queues</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; -h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this help message</DIV>
<DIV>三.LINUX路由设置</DIV>
<DIV>我们的NISTNET已经安装OK!下面进行LINUX路由设置:</DIV>
<DIV>Linux环境下双网卡主机</DIV>
<DIV>(1)、环境:<BR>三台直接相连的计算机主机如图<BR>CLINET 1&lt;------&gt;NISTnet&lt;------&gt;CLINET 2<BR>其中NISTnet上有两块网卡eth0、eth1,分别与CLINET 1、CLINET 2相连</DIV>
<DIV>(2)、需求:<BR>将NISTnet配置为路由器模式,用来在CLINET 1、CLINET 2之间转发报文</DIV>
<DIV>(3)、方法:<BR>将三台主机按照环境所要求用交叉线直接连网后,为三台主机分配网段并配置IP地址。<BR>网段及IP地址分配如下:</DIV>
<DIV>-------&nbsp;&nbsp;&nbsp; ---------------&nbsp;&nbsp;&nbsp; ------------------&nbsp;&nbsp;&nbsp;&nbsp; ------------------<BR>主机名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所在网段&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分配IP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网关<BR>CLINET 1:&nbsp; 192.168.100.0/24&nbsp;&nbsp; 192.168.100.111/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.100.1</DIV>
<DIV>NISTnet:&nbsp; 192.168.100.0/24&nbsp;&nbsp; eth1:192.168.100.1/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth0&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.2.0/24&nbsp;&nbsp;&nbsp;&nbsp; eth0:192.168.2.1/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth1&nbsp;&nbsp;&nbsp; </DIV>
<DIV>CLINET 2:&nbsp; 192.168.2.0/24&nbsp;&nbsp;&nbsp;&nbsp; 192.168.2.121/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.2.1</DIV>
<DIV>-------------------------------------------------------------------------</DIV>
<DIV>按照上表所示分别将主机IP地址配置好,其中要注意的是,要想使NISTnet具有报文转发功能,</DIV>
<DIV>在NISTnet上检查/proc/sys/net/ipv4/ip_forward中的值是否为1<BR>命令:<BR>#cat /proc/sys/net/ipv4/ip_forward<BR>如果显示其值不为1而是0 输入以下命令:<BR>#echo 1 &gt; /proc/sys/net/ipv4/ip_forward&nbsp;&nbsp;&nbsp;&nbsp; //打开IP转发功能<BR>打开包的转发功能通常情况执行以下步骤即可:</DIV>
<DIV>&nbsp;</DIV>
<DIV>#echo 1 &gt; /proc/sys/net/ipv4/ip_forward&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //打开IP转发 </DIV>
<DIV>#iptables -t nat -F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 清除原有的nat表中的规则 </DIV>
<DIV>#iptables -F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //清除原有的filter有中的规则</DIV>
<DIV>#iptables -P FORWARD ACCEPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //缺省允许IP转发 </DIV>
<DIV>#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&nbsp;&nbsp;&nbsp; //在公网出口进行地址伪装,这样即使以后公网地址修改了也不用重新设置规则。</DIV>
<DIV>&nbsp;</DIV>
页: [1]
查看完整版本: NistNet 配置安装