论坛风格切换切换到宽版
  • 559阅读
  • 2回复

[问题求助][保留] (原创)通过iptables与iproute2协同实现根据应用的策略路由 [复制链接]

上一主题 下一主题
离线豆芽.
 
发帖
2088
C币
-235103
威望
411
贡献值
1
银元
-3
铜钱
4793
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
通过iptables与.iproute2协同实现根.据应用的策略路由--------------彩票
(简洁明了版本 前提 了解多路由表的概念. 了解策略路由的概念 熟悉iptables和iproute2工具包.)(        游戏          )

    假设,网络中有两个外部接口,IP地址分别为eth0 172.16.1..1/24,eth1 10.0.0.1/24,连接内部网络的接口为eth2 192.168.1.1。现在设计这样一个策略,将所.有来自内部网络的web服务的数据,走向1.7.2.16.1.1这个出口。其他的数据走向10.0.0.1 这个出口。    美容
    
#接口设置
ifconfig eth0. 172.16.1.1 ne.tmask 255.255.255.0            杀毒
ifcon.fig eth1 10.0.0.1 netmask 255.2.55.255.0            杀毒
ifconfig .eth2 192.168.1.1 netmask 255..255.255.0.
echo 1 >;/p.roc/sys/net/ipv4/ip_.forward

#将.web服务类的数据包打上标示100(        游戏          )
#这一步,很关键,用于实现策略路由的是i.proute2工具包,但是iproute2工具包是无法根#据端口来进行.匹配的,.因此,需要借助iptables来配合虚拟主机
iptables -t mangl.e -A PREROUTING -p tcp --.dport 80 -j MARK --set-mark 100服务器

#.增加多路由表 假设172.16.1.1 这一出口的.网关是172.16.1.254.
ip ro.ute add 0/0 via 172.16.1.254 t.able 100.

#设置.路由策略 凡是数据包标记位上是100的数据,查询100号路.由表投资
ip rule add fwmark 100. t.able 100--------------彩票

#N.AT. 如果需要的话,进行NAT 不需要的话,就直接路由--------------彩票
iptables -t nat -A POSTROUTING -o et.h2 -j. MASQUERADE(        游戏          )


  .   这篇帖子主要是说明了把iptables和.iproute2协同以后可以做出很多很强的应用。你可以.利用iptables强劲的对.数据报的识别能力来将不同类型的数据包打上你自己定义的标示,然后利用iproute2的策略路由的功能来进行路由的认为干预。--------------彩票

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线wscxyy.
发帖
2093
C币
-140091
威望
377
贡献值
1
银元
-4
铜钱
4609
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:[保留]
我按照你的思想,做了一遍,发现连不上。通过抓包,发现数据包的确是通过eth0出去了,但回不来。之后我按照网上的一些文档,把/proc/sys/net/ipv4/conf/eth0/rp_filter置为0(默认为1),就可以了。为什么???难道策略路由回来的数据包就不走策略路由了???/proc/sys/net/ipv4/conf/eth0/rp_filter置为0岂不是有点危险,有没有更好的方法???

离线junbao99.
发帖
2069
C币
-152526
威望
375
贡献值
1
银元
-2
铜钱
4703
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:[保留]
不用private ip 试试看看,把log_martians改成1,然后看messages的内容。

[ 本帖最后由 depthblue_xsc 于 2006-3-10 14:49 编辑 ]

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个