iptables之mangle表应用实现策略路由+(案例)

原始出处  http://lansgg.blog.51cto.com/5675165/1222679


iptables之mangle表应用实现策略路由;

前面的文章已经讲解了:mangle表主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期)指以及为数据包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。

mangle 表对应的内核模块为 iptable_mangle。

修改IP包头的TTL值伪装系统版本;

修改IP包头的DSCP值或对特定的数据包设置QOS;不同业务的传送优先级、带宽使用率都可以设置。

下面就来案例说明一下实用且常用的用途吧:

iptables之mangle表应用实现策略路由+(案例)_第1张图片

案例1、

iptables网关服务器三块网卡:eth0(网通ip:10.0.0.1)、eth1(电信ip:20.0.0.1);eth2:网关192.168.10.1。

要求:公司内网要求192.168.10.1---100以内的ip使用 10.0.0.1 网关上网(网通),其他IP使用 20.0.0.1 (电信)上网

iptables网关服务器配置如下:


1
2
3
4
5
6
7
ip route add  default  gw  20.0 . 0.1
ip route add table  10  via  10.0 . 0.1  dev eth0
#eth0 是 10.0 . 0.1 所在的网卡, 10  是路由表的编号
ip rule add fwmark  10   table  10
#fwmark  10  是标记,table  10  是路由表 10 。 标记了  10  的数据使用table10 路由表
iptables -A PREROUTING -t mangle -i eth2 -s  192.168 . 10.1  192.168 . 10.100  -j MARK -- set -mark  10
#使用iptables给相应的数据打上标记

mangle应用顺序要高于nat、filter哈。

案例2、

iptables网关服务器三块网卡:eth0(网通ip:10.0.0.1)、eth1(电信ip:20.0.0.1);eth2:网关192.168.10.1。

要求:公司内网要求员工访问外面的网站服务;使用 10.0.0.1 网关上网(网通),其他IP使用 20.0.0.1 (电信)上网

1
2
3
4
iptables -t mangle -A PREROUTING -i eth2 -p tcp --dport  80  -j MARK -- set -mark  20
ip route add  default  gw  20.0 . 0.1
ip route add table  20  via  10.0 . 0.1  dev eth0
ip rule add fwmark  20  table  20


你可能感兴趣的:(iptables)