2019独角兽企业重金招聘Python工程师标准>>>

mangle表的用途

mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。

mangel表使用示例

示例1-策略路由1

内网的客户机通过Linux主机连入Internet,而Linux主机与Internet连接时有两条线路,它们的网关如图所示。现要求对内网进行策略路由,所有通过TCP协议访问80端口的数据包都从ChinaNet线路出去,而所有访问UDP协议53号端口的数据包都从Cernet线路出去。

这是一个策略路由的问题,为了达到目的,在对数据包进行路由前,要先根据数据包的协议和目的端口给数据包做上一种标志,然后再指定相应规则,根据数据包的标志进行策略路由。为了给特定的数据包做上标志,需要使用mangle表,mangle表共有5条链,由于需要在路由选择前做标志,因此应该使用PREROUTING链,下面是具体的命令:
iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 80 -j MARK --set-mark 1;
iptables -t mangle -A PREROUTING -i eth0 -p udp --dprot 53 -j MARK --set-mark 2;
数据包经过PREROUTING链后,将要进入路由选择模块,为了对其进行策略路由,执行以下两条命令,添加相应的规则:
ip rule add from all fwmark 1 table 10
ip rule add from all fwmark 2 table 20
以上两条命令表示所有标志是1的数据包使用路由表10进行路由,而所有标志是2的数据包使用路由表20进行路由。路由表10和20分别使用了ChinaNet和Cernet线路上的网关作为默认网关,具体设置命令如下所示:
ip route add default via 10.10.1.1 dev eth1 table 10
ip route add default via 10.10.2.1 dev eth2 table 20
以上两条命令在路由表10和20上分别指定了10.10.1.1和10.10.2.1作为默认网关,它们分别位于ChinaNet和Cernet线路上。于是,使用路由表10的数据包将通过ChinaNet线路出去,而使用路由表20的数据包将通过Cernet线路出去。


示例2-策略路由2

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网关服务器配置如下:
ip route add default gw 20.0.0.1
#eth0 是10.0.0.1所在的网卡,10 是路由表的编号
ip route add table 10 via 10.0.0.1 dev eth0
#fwmark 10 是标记,table 10 是路由表10。 标记了10的数据使用table 10路由表
ip rule add fwmark 10 table 10
#使用iptables给相应的数据打上标记
iptables -A PREROUTING -t mangle -i eth2 -s 192.168.10.1 - 192.168.10.100 -j MARK --set-mark 10;
mangle表中规则的应用顺序要高于nat、filter,但低于raw表。


示例3-策略路由3

资源:
iptables网关服务器三块网卡:
eth0:10.0.0.1,网通
eth1:20.0.0.1,电信
eth2:192.168.10.1,内网网关。
要求:
公司内网员工访问外面的网站服务使用10.0.0.1(网通)上网,其他IP使用20.0.0.1(电信)上网;
实现:
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

路由决策的位置

表与链的对应关系

转载于:https://my.oschina.net/mojiewhy/blog/3039897

Linux iptables之mangle表使用案例相关推荐

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

    原始出处  http://lansgg.blog.51cto.com/5675165/1222679 iptables之mangle表应用实现策略路由: 前面的文章已经讲解了:mangle表主要用于修 ...

  2. iptables 的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 内网的客户机通过Linux主机连入Internet,而Linux主机与Inte ...

  3. iptables的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 使用策略路由 对应的场景, 都是有多个网口, 常见的使用步骤 1. 创建路由表 ...

  4. 【5】iptables理解 - mangle表

    mangle表:可以对数据包进行修改,此表中的链与其它表中的关系如下: 数据包从网卡接口进来后,最先经过的就是mangle表中的prerouting链.此表中有五条链: iptables -t man ...

  5. Linux Netfilter mangle表注册

    Linux Netfilter的mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. mangle表在五个链的位置都有注册. 注册函 ...

  6. TCP/IP详解 第七章 防火墙和网络地址转换(3) iptables防火墙的mangle表

    mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 内网的客户机通过Linux主机连入Internet,而Linux主机与Inte ...

  7. linux iptables 数据流程详解 4表5链的关系

    目录 iptables基础 iptables和netfilter的关系: iptables传输数据包的过程 iptables的规则表和链: 规则表: 1.Filter表--三个链:INPUT.FORW ...

  8. 6、iptables之RAW表和MANGLE表

    文章目录 1.说明 2.raw表 3.Mangle表 1.说明 RAW表 和 MANGLE 表 实事求是的说 在⼯工作中 ⼀一般⽤用到的确实⽐比较少,⽬前更更多的 还是处在⼀一个 探索和实验的阶段 后 ...

  9. 10.15 iptables filter表小案例10.16/10.17/10.18 iptables nat表应用

    2019独角兽企业重金招聘Python工程师标准>>> 10.15 iptables filter表小案例 iptables 命令.语法总结 iptables-nvL //查看ipt ...

最新文章

  1. iOS Block实现探究
  2. centos6.8 安装nginx
  3. 使用内联函数的一个问题
  4. 韩国最新「美女元宇宙」引爆Reddit!最强换脸神器美女自拍一键转漫画
  5. c# 线向量生成多边形_python脚本实现abaqus前处理2D多晶粒建模(附完整源码)-Voronoi多边形的生成...
  6. SignalR ——Android实践
  7. 强化学习应用于组合优化问题_如何将强化学习应用于现实生活中的计划问题
  8. java 构造器(constructor)
  9. 真实赛车3,SPEEDRUSH TV 第3季,第3阶段(第3天),直线加速赛
  10. 蓝桥杯单片机:11届决赛
  11. 注释 向 Java 代码中添加元数据
  12. SQL FILESTREAM数据库中的事务日志备份
  13. For循环案例---九九乘法表
  14. A-古代汉语知识点整理大全
  15. 四旋翼无人机飞控系统设计(基础知识篇)
  16. matlab插值实验目的,matlab插值实验报告数学实验.doc
  17. 剑网三客户端修复连接服务器失败,剑网3客户端异常 无法打开处理解决办法
  18. learning python in the hard way习题6~10的附加题练习
  19. kubernetes高可用集群web页面部署
  20. 第九周 棚拍静物——让你的照片更有味道

热门文章

  1. 老程序员揭秘.NET 技术的人越来越少的真实原因
  2. Chrome首页被桔梗网恶意劫持的解决方法
  3. JavaScript字符串对象的方法详解
  4. 零售银行之大数据战略部署
  5. 机器学习中的精度、召回等概念
  6. 基于FPGA的超声波信号发生器设计:程序和电路原理图
  7. C++:左移和右移运算符 (> > 和 < <)
  8. 【附源码】计算机毕业设计SSM企业员工考勤管理系统
  9. Gartner最新报告:低代码应用开发平台在国内的发展
  10. SylixOS 内核工作队列