设为首页收藏本站language 语言切换
查看: 2232|回复: 4
收起左侧

Linux防火墙下的应用策略路由

[复制链接]
发表于 2010-9-20 15:36:08 | 显示全部楼层 |阅读模式
假设,网络中有两个外部接口,IP地址分别为eth0 172.16.1.1/24,eth1 10.0.0.1/24,连接内部网络的接口为eth2 192.168.1.1。现在设计这样一个策略,将所有来自内部网络的web服务的数据,走向172.16.1.1这个出口。其他的数据走向 10.0.0.1 这个出口。

#接口设置

ifconfig eth0 172.16.1.1 netmask 255.255.255.0

ifconfig eth1 10.0.0.1 netmask 255.255.255.0

ifconfig eth2 192.168.1.1 netmask 255.255.255.0

echo 1 >/proc/sys/net/ipv4/ip_forward

#将web服务类的数据包打上标示100

#这一步,很关键,用于实现策略路由的是iproute2工具包,但是iproute2工具包是无法根据端口来进行匹配的,因此,需要借助iptables来配合

iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 100

#增加多路由表 假设172.16.1.1 这一出口的网关是172.16.1.254

ip route add 0/0 via 172.16.1.254 table 100

#设置路由策略 凡是数据包标记位上是100的数据,查询100号路由表

ip rule add fwmark 100 table 100

#NAT 如果需要的话,进行NAT 不需要的话,就直接路由

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

本文主要是说明了把iptables和iproute2协同以后可以做出很多很强的应用。你可以利用iptables强劲的对数据报的识别能力来将不同类型的数据包打上你自己定义的标示,然后利用iproute2的策略路由的功能来对路由进行人为的干预。
发表于 2012-3-18 22:24:18 | 显示全部楼层
{:soso_e181:}
沙发 2012-3-18 22:24:18 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-30 14:20:35 | 显示全部楼层
板凳 2012-3-30 14:20:35 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-31 13:47:28 | 显示全部楼层
地板 2012-3-31 13:47:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-9-12 10:11:08 | 显示全部楼层
谢谢分享.....
5# 2012-9-12 10:11:08 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-30 22:53 , Processed in 0.068932 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表