频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在Linux下配置基于策略的路由

来源: 作者:佚名 出处:巧巧读书 2008-01-06 进入讨论组
上一页 1 2 

  4.添加路由
 
  执行如下命令:
 
  ip route add default via 10.89.9.1 table int1
 
  ip route add default via 192.168.1.1 table int2
 
  ip route add default via 172.22.254.254 table int3
 
  ip route add 192.168.0.0/16 via 10.140.133.254 table int4
 
  ip route add default via 172.22.254.254 table int4
 
  这里在int4路由表中添加了两条路由,当进入到该路由表之后,要到192.168.0.0/16的数据包则路由到10.140.133.254,其他数据包则路由到172.22.254.254.
 
  5.标记(MARK)特殊包
 
  执行如下两条命令:
 
  iptables -t mangle -A PREROUTING -p tcp -m multiport ——dports 80,8080,20,21 -s 10.89.9.0/24 -j MARK ——set-mark 1
 
  iptables -t mangle -A PREROUTING -p udp ——dport 53 -s 10.89.9.0/24 -j MARK ——set-mark 2
 
  这两条命令是将来自10.89.9.0/24的目的端口是80、8080、20或21的数据包和UDP端口是53的数据包分别标记为1或2,然后就可以针对这些标记过的数据包制定相应的规则了。(对外发出的DNS请求用的是UDP 53端口)
 
  为了实现防火墙的功能,只允许已经建立联机的数据包进入内网,就要把进入两个内网的已经建立联机的数据包进行标记。执行如下命令:
 
  iptables -t mangle -A PREROUTING -p ALL -d 10.89.9.0/24 -m state ——state ESTABLISHED,RELATED -j MARK ——set-mark 3
 
  iptables -t mangle -A PREROUTING -p ALL -d 192.168.1.0/24 -m state ——state ESTABLISHED,RELATED -j MARK ——set-mark 4
 
  6.创建路由规则
 
  执行如下命令:
 
  ip rule add from 192.168.1.0/24 pref 11 table int4
 
  ip rule add to 192.168.1.2 pref 21 table int2
 
  ip rule add fwmark 4 pref 31 table int2
 
  ip rule add fwmark 1 pref 41 table int3
 
  ip rule add fwmark 2 pref 42 table int3
 
  ip rule add fwmark 3 pref 51 table int1
 
  接着执行命令“ip route flush cache”,刷新路由缓冲,让以上的这些命令立刻生效,否则需要等上一段时间。
 
  7.实现分时间段控制
 
  若是按照以上的配置,内网1的用户只能上网浏览网页和下载,为了对其他功能实现分时间段开放,需要做以下工作:
 
  首先编辑命令脚本文件ropen (开放)和rclose (限制)。执行命令“vi /bin/ropen”,ropen文件内容如下:
 
  /sbin/ip rule add from 10.89.9.0/24 pref 40 table int3
 
  /sbin/ip route flush cache
 
  执行命令“vi /bin/rclose”,rclose文件内容如下:
 
  /sbin/ip rule del from 10.89.9.0/24 pref 40
 
  /sbin/ip route flush cache
 
  如果不习惯命令行方式,也可以在图形界面下生成这两个文件,生成文件之后,需要增加可执行属性方可执行:分别执行命令“chmod +x ropen”和“chmod +x rclose”。
 
  接着,利用crontab命令实现自动运行。这里需要编辑一个文本文件,格式如下:
 
  minute hour dayofmonth monthofyear dayofweek “命令”
 
  其中每部分名称及取值范围是:minute代表分钟,取值范围是00~59;hour代表小时,取值范围是00~23;dayofmonth代表某天,取值范围是01~31;monthofyear代表月份,取值范围是01~12;dayofweek代表星期,取值范围是01~07.若需要忽略其中某一部分就用星号(*)代替。例如,文件名设为mycron,内容可编辑如下:
 
  30 07 * * 01,02,03,04,05 "/bin/ropen"
 
  30 16 * * 01,02,03,04,05 "/bin/rclose"
 
  最后执行crontab命令,将所编辑的文件mycron装载并启动,命令为“crontab mycron”。Web: http://www.qqread.com/linux/2008/01/e391284.html 更多文章 更多内容请看路由安全配置专题电脑配置手册服务器配置专栏专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章