iptables基础用法介绍
来源:互联网 发布:sip服务器 linux 编辑:程序博客网 时间:2024/06/07 18:06
iptables由四个表和五个链以及一些规则组成
四个表table:
filter、nat、mangle、raw
- filter表:过滤规则表,根据预定义的规则过滤符合条件的数据包
- nat表:network address translation 地址转换规则表
- mangle:修改数据标记位规则表
- Raw:关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度
优先级由高到低的顺序为:raw–>mangle–>nat–>filter
五个内置链chain:
内置链也称为钩子函数,iptables这款用户空间的软件可以在这5处地方写规则,对经过的数据包进行处理,规则一般的定义为“如果数据包头符合这样的条件,就这样处理数据包”
INPUT:处理来自外部的数据
OUTPUT:处理向外发送的数据
FORWARD:将数据转发到本机的其他网卡设备上
PREROUTING:处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址
POSTROUTING:处理即将离开本机的数据包。它会转换数据包中的源IP地址
iptables规则:
根据规则的匹配条件尝试匹配报文,对匹配成功的报文根据规则定义的处理动作作出处理
匹配条件:默认为与条件,同时满足
基本匹配: IP,端口,TCP的Flags(SYN,ACK等)
扩展匹配:通过复杂高级功能匹配
处理动作:称为target,跳转目标
内建处理动作:
ACCEPT(accept允许),
REJECT(reject强硬的拒绝),
SNAT/DNAT(地址转换使用),
MARK(打标签),
LOG(记日志)…
自定义处理动作:自定义chain,利用分类管理复杂情形规则要添加在链上,才生效;添加在自定义上不会自动生效
链chain:
内置链:每个内置链对应于一个钩子函数
自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有Hook钩子调用自定义链时,才生效
iptables命令
man 8 iptables查看帮助。
扩展用法: man iptables-extensions
iptables [-t table] {-A|-C|-D} chain rule-specificationiptables [-t table] -I chain [rulenum] rule-specificationiptables [-t table] -R chain rulenum rule-specificationiptables [-t table] -D chain rulenum iptables [-t table] -S [chain [rulenum]]iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]iptables [-t table] -N chainiptables [-t table] -X [chain]iptables [-t table] -P chain targetiptables [-t table] -E old-chain-name new-chain-namerule-specification = [matches...] [target]match = -m matchname [per-match-options]target = -j targetname [per-target-options]
-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-vv
-vvv :越多越详细
-t 指定表
-V 查看版本(version)
-h 获取帮助(help)
简单示例:
拒绝进入防火墙的所有ICMP协议数据包
iptables -I INPUT -p icmp -j REJECT
删除INPUT链的第一条规则
iptables -D INPUT 1
允许防火墙转发除ICMP协议以外的所有数据包
iptables -A FORWARD -p ! icmp -j ACCEPT #叹号取反
允许防火墙转发除ICMP协议以外的所有数据包
iptables -A FORWARD -p ! icmp -j ACCEPT #叹号取反
禁止转发来自MAC地址为00:0C:29:27:55:3F的和主机的数据包
iptables -A FORWARD -m mac --mac-source 00:0c:29:27:55:3F -j DROP
文章参考
http://netfilter.org/ iptables官方网站
http://www.linux.gov.cn/netweb/iptables.htm iptables配置手册
http://man.chinaunix.net/network/iptables-tutorial-cn-1.1.19.html iptables配置手册
http://blog.csdn.net/u010677323/article/details/78320369同学详解iptables
- iptables基础用法介绍
- Netfilter/iptables学习笔记1--基础介绍
- iptables介绍
- iptables介绍
- iptables介绍
- iptables介绍
- iptables 介绍
- iptables介绍
- iptables介绍
- iptables用法
- iptables 用法
- iptables 用法
- Iptables基础
- iptables基础
- iptables基础
- iptables基础
- IPTABLES配置方法介绍
- iptables介绍文章
- QEMU 2.10.1 编译安装
- caffe + windows +cpu +vs2013安装与minist测试(下)
- 《机器学习实战》学习笔记(二)之决策树(下)决策树可视化、存储分类器以及隐形眼镜实例
- EnhancedFor
- 流媒体通信协议HLS与DASH的对比
- iptables基础用法介绍
- cookie
- 排序算法(三)直接选择排序(Straight Select Sorting)
- JsonObject取key值
- C#高级学习第三章LINQ
- UVA 10820——Send a Table(欧拉函数)
- 任学堂---Are you OK?成病毒 电脑中招后满屏生成小米logo
- Android控件架构与控件绘制
- 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法