分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

iptables和netfilter

发布时间:2023-09-06 02:34责任编辑:郭大石关键词:暂无标签

1.iptables和netfilter说明


  netfilter/iptables组成Linux平台下的包过滤防火墙,iptables是用户空间的管理工具,netfilter是内核空间的包处理框架。

2.数据包处理流程


  

  首先数据包进入PREROUTING链,之后根据路由决策进入INPUT(本机)还是FORWARD(转发),进入INPUT后会继续进入OUTPUT链,最后都走到POSTROUTING链。

  另外,如果加入各种规则之后,则数据包进入某个链之后,还要顺序执行链上的规则,如果匹配某个规则,则根据匹配的规则来处理数据包(例如ACCEPT、DROP或者REJECT),如果都不匹配则使用默认的策略处理数据包。

3.表、链、规则


  理论上,只要在链上添加规则就可以了,这样每个链上就有一个规则链表,只要数据包到链上之后,顺序检查这些规则就可以了。实现中又根据规则的功能的不同,又分为了四张表,即raw、mangle、nat、filter(优先级raw > mangle > nat > filter)。最终,数据包依次进入链中进行处理,然后根据每个链上的表的优先级,依次执行每个链上的表(里面的规则)。关于表链的关系,其实这个很简单,实际使用时以表作为入口,就是根据规则的功能添加规则到特定的表中,然后再把这个规则放到链上,另外就是一个表上的规则只存在固定的几个链上,例如raw表的规则只能在PREROUTING和OUTPUT链。

  filter表   :负责包过滤功能

  nat表  :负责地址转换

  mangle表:修改数据包的TOS、TTL,和为数据包设置标记,用来实现Qos调整以及策略路由功能

  raw表  :主要用来关闭连接跟踪,即配置参数时使用-j NOTRACK

       

4.iptables工具用法


-t table ?????????指定表名,默认为"filter"表-A chain ?????????向链上追加规则-D chain ?????????从链上删除规则-L [chain] ???????列出链上的规则,这个打印的是规则列表,即把规则参数放到一个表格中-S [chain] ???????打印链上的规则,这个打印的是规则的命令行参数,例如-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT -F [chain] ???????清除链上的规则-P chain target ??设置指定链的策略,也就是默认策略-v ???????????????verbose mode,用作输出命令,表示详细输出-p proto ?????????规则指定的协议,proto可以为tcp、udp、icmp、all。-s address[/mask] 源地址[掩码]。-d address[/mask] 目的地址[掩码]。 -i input name ????匹配报文入接口-o output name ?-j target ????????规则匹配后跳转到的目标,也就是动作,因为在内核函数中,匹配某个条件后,使用goto的方式跳转到下一个流程,所以是jump target。 ?????????????????target可以为ACCEPT、DROP、REJECT、SNAT、DNAT、REDIRECT、NOTRACK、LOG ?????扩展匹配项:--src-range from[-to] ??匹配源IP的范围--dst-range from[-to] ??匹配目的IP的范围--mark value[/mask] ????匹配标记,而不是打标记,和匹配IP地址一样有掩码。 ??这些只是常用的选项,基本每条规则都要用到,主要的目的是实际用。

  例子:

    [1]iptables -P INPUT DROP              //设置链的策略

    [2]iptables -A INPUT -i eth0 -s 10.0.1.1 -j DROP     //阻止某个IP地址

    [3]iptables -t mangle -A PREROUTING !-d 10.0.1.1 -p tcp -j TPROXY --on-port 10000 --on-ip 0.0.0.0 --tproxy-mark 0x1/0x1  //对非目的地址10.0.1.1,并且标记匹配0x1/0x1的报文,透明代理到0.0.0.0:10000地址

iptables和netfilter

原文地址:https://www.cnblogs.com/iamwho/p/10470354.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved