您现在的位置: 天极网 > 软件频道 > 操作系统 > Linux > 小议在Linux环境下基于策略的路由
全文

小议在Linux环境下基于策略的路由

2005-08-25 14:30作者:出处:Sysadminmag.com责任编辑:原野
  例 1:拒绝访问Internet

  假设有一个防火墙连接本地局域网和Internet,你希望禁止局域网的一个子网访问Internet。当然这可以通过Linux数据报过滤防火墙来实现。但是下面我们将介绍另外一种实现方法。首先我们来假设有如下的网络配置:

  内部网络地址 192.168.0.0/16

  被拒绝访问的子网 192.168.2.0/24

  当前主路由表(Routing Table Main,表254):

root@netmonster# ip route list table 254  
   
  default via 192.168.254.254 dev eth0 proto static

  下面将针对该子网创建一条策略路由规则:

ip rule add from 192.168.2.0/24 priority 5000 prohibit

  现在任何从192.168.2.0/24子网发送来的数据报将得到一个类型为3,代码为13的ICMP消息,同时该数据报将被丢弃。

  应该注意的是,在运行任何这些命令都需要发送“ip route flush cache"命令来刷新路由缓冲,否则命令在一段时间以后才会生效,这段时间的长短依赖于路由表结构的大小和负载。

  将上面的例子需要的命令放在一起就如下所示:

ip rule del priority 5000 
  ip rule add from 192.168.2.0/24 priority 5000 prohibit 
  ip route flush cache

  

  这个命令流通过首先删除5000号规则来确保当前系统没有该规则然后再添加新的5000号规则。如果系统本来不存在5000号的规则则会返回一个错误信息。然后添加5000号规则并通过清空运行时的路由缓存来重置RPDB,则新规则将马上产生作用。

  多路由表和IP地址

  为了完全理解基于策略路由的使用,就需要学会使用Linux多路由表和IP地址,这包括多个方面的知识,下面通过示例来加以说明。

  当获得ip工具,你可能会注意到在发布中有一个名为etc的子目录,其中有一个名为iproute2的子目录。应该拷贝该子目录到/etc目录下或在/etc目录下创建iproute2子目录。该目录包含用来命名路由表及策略路由结构的其他方面的文件。在该目录中创建rt_tables文件,其中示例文件一般已经包含了某些内容,并为路由表1提供了示例名。

  下面首先编辑该文件来创建若干在下面的示例中使用的表:

# reserved values 
  # 
  255     local 
  254     main 
  253     default 
  0       unspec 
  # 
  # local 
  # 
  1       goodnet1 
  2       goodnet2 
  3       badnet1 
  4       badnet2 
  5       internet

  可以看到通过为路由表命名,就可以使用表数字ID或表名来引用路由表。例如下面两个命令将对同一个路由表进行操作:

ip route list table 1 
  ip route list table goodnet1

  通过表名可以更好的理解在对哪个路由表进行操作。

共8页。 9 1 2 3 4 5 6 7 8 :
相关搜索:
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众