Linux下基于路由策略的IP地址控制实例[1]

文章作者 100test 发表时间 2007:05:07 16:00:52
来源 100Test.Com百考试题网


一、背景描述


  LINUX是一台网关服务器,内有3块网卡。


  eth1绑定172.17.0.0/16的IP,该网段IP可以通过172.17.1.1上网。


  eth0绑定192.168.10.0/24的IP,该网段IP可以通过192.168.10.1上网。


  eth2绑定192.168.1.1,是内网用户的网关。


  二、需求分析


  内网用户应该走172.17.1.1这个路由上网。


  但由于工作需要,部分用户应该有访问图中“专用网络”的权限。


  也就是说,应该走192.168.10.1这个路由。


  另外一点,所有人应该可以访问FTP服务器,这个服务器的IP是192.168.10.96


  也就是说,走172.17.1.1路由的人,也应该能访问192.168.10.96,且可以上网。


  三、解决方案


  要解决这个问题,用到了一下几个命令,具体使用方法需要另查资料。ip route

  ip rule

  arp


  注:关于ip命令的用法,请查阅ip中文手册,www.google.com上有。


  1、绑定IP

  ifconfig eth1 172.17.3.x netmask 255.255.0.0

  ifconfig eth0 192.168.10.2 netmask 255.255.255.0

  ifconfig eth2 192.168.1.1 netmask 255.255.255.0


  然后分别修改/etc/sysconfig/network-script/ifcfg-ethx文件,以使计算机启动自动设置IP地址。


  2、创建特殊路由表


  vi /etc/iproute2/rt_table


  代码:


  #

  # reserved values

  #

  255 local

  254 main

  253 default

  0 unspec


  200 NET10

  #

  # local

  #

  #1 inr.ruhep


  上面那个200 NET10为新添加,自定义编号为200,名字为NET10


  3、向NET10路由中添加它自己的默认路由。


  代码:


  ip route add default via 192.168.10.1 table NET10


  注意,这个table NET10一定不要忘了写,否则写到了主路由表中。


  4、创建特殊路由规则


  用ip rule可以看到计算机当前的路由规则。


  引用:


  0: from all lookup local

  32766: from all lookup main

  32767: from all lookup default


  可以看到,规则中走了3个路由表,local、main、default


  我们平常用route看到的,实际是路由表main


  这些规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止。


  开始添加我们自己的路由NET10到路由表中。


  代码:


  ip rule add from 192.168.1.222 pref 10000 table NET10


  这个意思是说,如果来自IP地址为192.168.1.222的访问,则启用NET10的路由表中的路由规则。


  而NET10的路由规则是什么呢?上面已经设置了,走的是192.168.10.1的网段。


  接下来,使LINUX可以NAT(这里不再细说HOW TO了)



相关文章


深入浅出Linux字符设备驱动程序解析
集成VoIP和CRM功能的开源Tirxbox
Linux操作系统安全管理十大招数介绍
Linux下基于路由策略的IP地址控制实例[2]
Linux下基于路由策略的IP地址控制实例[1]
MySQL4.1数据如何转换详细讲解
内核中的物理内存分配函数kernelapi
MySQL数据库应该如何对抗解密高手
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛