Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384493
  • 博文数量: 82
  • 博客积分: 1855
  • 博客等级: 上尉
  • 技术积分: 846
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-12 12:28
文章存档

2013年(3)

2012年(8)

2011年(71)

分类: 网络与安全

2011-05-18 09:45:15

 
安装准备:
下载 nistnet.2.0.12b.tar.gz   
      nistnet.2.0.12c.tar.gz 
     (Nistnet是运行在linux平台下的,目前有2.0.12b和c两个版本,具体安装哪个版本要视linux内核而定,2.4.**以下的用b,2.6.**的用c,千万别安错了;kernel 2.6.*下问题比较多,不太好搞。)
 
以下就以Red Had 9做个例子
一.安装系统
     安装有kernel 2.4.**的linux,硬盘如果够大,建议linxu模块全部安装,大约5G+;免的出错。
二.安装NISTnet
(1)安装NISTNET前重新生成新内核(因为NISTNET的新版本用RTC-real time clock,以前老版本用fast timer,RTC更稳定)
            open CLI:
            cd /usr/src/linux2.4.20-8   // kernel文档目录
            make mrproper     //删除不稳定的.O文件和.config配置文件
            make menuconfig    //调出修改内核工具
            to make sure:
               Loadable module support -->
                      Set version information no all module symbols  --off //又说按M键设置,本人在设置的时候用的N键
               Character devices -->
                      Enhanced Real Time Clock Suppot --M   //按M键,设置
            make dep       //连接程序代码和函数库
            make clean     //删不必要的模块
            make bzImage    //生成内核文件
            cp /usr/src/linux2.4.20-8/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-8_new  //该步骤可能会提示用户“没有该目录…”,请检查所在目录,正确运用cp命令即可
            make modules         //编译外挂模块
            make modules_install     //安装编译完成的模块
            make install   //把新的内核和相关文件复制到正确的目录,并修改grub.conf文件,在grub    菜单会添加一个新的内核启动选项(也可以自己修改)
// ----------------------------------------------------------
mkinitrd   /boot/initrd-2.4.20-8_new.img  2.4.20-8 
            edit grub.conf (/boot/grub/grub.conf , add a new title and the root path) 编译启动文件(title Red Hat Linux (2.4.20-8 new)
        root (hd0,0)
        kernel /vmlinuz-2.4.20-8_new ro root= /dev/hda?
        initrd /initrd-2.4.20-8_new.img
)
//-----------------------------------------------------------
            Reboot  
     注意:从新内核引导;当重启过程中出现让你选择kernel 的选项时要选择最新编译过的,就是最上面的那个。
(2)安装NISTNET
     cd ~./NistNet     //进入NistNet解压缩目录
     ./configure
     make         
     make install       //安装完成,如果没有错误就下一步
(3)测试安装是否成功
     cd ~./NistNet
     ./Load nistnet 
     cnistnet –u           //加载模块   &也可使用图像窗口,xnistnet –u
       cnistnet –a 192.168.100.1 192.168.2.121  --drop 30 --delay 30 //进行丢包及延时设定
 

Clinet 一端:执ping操作(192.168.100.111 ping 192.168.2.121)
 

对比执行cnistnet –d 后的结果  //off该功能
 

显然执行cnistnet –a[]后,有了丢包及延时,说明测试ok!
有关NISTNET 的命令,执行cnistnet –h即可看到 //or 执行cnustnet也可显示
 

[root@localhost root]# cnistnet -h
cnistnet: invalid option -- h
Usage: cnistnet - must be root to run it.
     -u                      up (on)
     -d                      down (off)
     -a src[:port[.protocol]] dest[:port[.prot]] [cos] add new
             [--delay delay [delsigma[/delcorr]]]
             [--drop  drop_percentage[/drop_correlation]]
             [--dup  dup_percentage[/dup_correlation]]
             [--bandwidth bandwidth]
             [--drd drdmin drdmax [drdcongest]]
     -r src[:port[.prot]] dest[:port[.prot]] [cos]          remove
     -s src[:port[.prot]] dest[:port[.prot]] [cos]          see stats
     -S src[:port[.prot]] dest[:port[.prot]] [cos]          see stats continuously
     [-n] -R                 read table (-n numerical format)
     -D value                debug on (value=1 minimal, 9 maximal)
     -U                      debug off
     -G                      global stats
     -K                      kickstart the clock
     -F                      flush the queues
     -h                      this help message
三.LINUX路由设置
我们的NISTNET已经安装OK!下面进行LINUX路由设置:
Linux环境下双网卡主机
(1)、环境:
三台直接相连的计算机主机如图
CLINET 1<------>NISTnet<------>CLINET 2
其中NISTnet上有两块网卡eth0、eth1,分别与CLINET 1、CLINET 2相连
(2)、需求:
将NISTnet配置为路由器模式,用来在CLINET 1、CLINET 2之间转发报文
(3)、方法:
将三台主机按照环境所要求用交叉线直接连网后,为三台主机分配网段并配置IP地址。
网段及IP地址分配如下:
-------    ---------------    ------------------     ------------------
主机名      所在网段          分配IP                     网关
CLINET 1:  192.168.100.0/24   192.168.100.111/24        192.168.100.1
NISTnet:  192.168.100.0/24   eth1:192.168.100.1/24      eth0   
           192.168.2.0/24     eth0:192.168.2.1/24        eth1   
CLINET 2:  192.168.2.0/24     192.168.2.121/24          192.168.2.1
-------------------------------------------------------------------------
按照上表所示分别将主机IP地址配置好,其中要注意的是,要想使NISTnet具有报文转发功能,
在NISTnet上检查/proc/sys/net/ipv4/ip_forward中的值是否为1
命令:
#cat /proc/sys/net/ipv4/ip_forward
如果显示其值不为1而是0 输入以下命令:
#echo 1 > /proc/sys/net/ipv4/ip_forward     //打开IP转发功能
打开包的转发功能通常情况执行以下步骤即可:
 
#echo 1 > /proc/sys/net/ipv4/ip_forward      //打开IP转发
#iptables -t nat -F                          // 清除原有的nat表中的规则
#iptables -F                                 //清除原有的filter有中的规则
#iptables -P FORWARD ACCEPT                  //缺省允许IP转发
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE    //在公网出口进行地址伪装,这样即使以后公网地址修改了也不用重新设置规则。
 
阅读(2373) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~