1. 程式人生 > >iptables之mangle表應用實現策略路由+(案例)

iptables之mangle表應用實現策略路由+(案例)

iptables之mangle表應用實現策略路由;

前面的文章已經講解了:mangle表主要用於修改資料包的TOS(Type Of Service,服務型別)、TTL(Time To Live,生存週期)指以及為資料包設定Mark標記,以實現Qos(Quality Of Service,服務質量)調整以及策略路由等應用,由於需要相應的路由裝置支援,因此應用並不廣泛。

mangle 表對應的核心模組為 iptable_mangle。

修改IP包頭的TTL值偽裝系統版本;

修改IP包頭的DSCP值或對特定的資料包設定QOS;不同業務的傳送優先順序、頻寬使用率都可以設定。

下面就來案例說明一下實用且常用的用途吧:

案例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