1. iptables 与 netfilter 的区别
iptables(用户态),netfilter(内核态)通常都用来指Linux防火墙,不同的是iptables指的是管理工具,而netfilter是Linux内核中实现包过滤的结构。
2. iptables中的表与链
分为5个链:
INPUT 进站 OUTPUT 出站 FORWARD 包转发 PREOUTING 包路由之前 POSTOUTING 包路由之后
总共分为4张表
raw 跟踪机制 : 里面包括 OUTPUT PREPUTING
mangle 打标记 : 包含全部5个链
nat Ip地址转换 : 包含 PREOUTING POSTOUTING OUTPUT
filter 包过滤 : INPUT OUTPUT FORWARD
3. 管理与配置 iptables
4. iptables命令格式
iptables –t 表名 命令选项 链名 条件匹配 –j 动作
5. iptables规则
-A 在尾部添加
-D 删除某一条
-I 插入(默认是第一个)
-R 替换修改
-L list
-F 清空一个链
-N 新建链
-X 删除自定义链
-P 设置policy
-n 数字显示
-v 查看版本
-h 帮助信息
6 iptables命令范例
添加插入规则
查看
清空删除规则
设置规则链的默认策略
获得Iptables相关选项用法的帮助信息
新增,删除自定义规则链
清空并删除自定义链
条件匹配
协议匹配使用参数 –p
地址匹配
-s 源地址匹配 -d 目标地址匹配
网络接口匹配
使用参数 –i 进入数据包网卡 –o 发送数据包网卡
隐含条件匹配
端口匹配
--sport 源端口 --dport 目标端口 :隔开端口号表示范围
显示条件陪陪
-m mac --mac-source 源mac地址
多端口匹配
多加入 –m multiport
多IP地址匹配
多加入 –m iprange --src-range 源地址范围 --dst-range 目标地址范围
状态匹配
NEW 新连接 ESTABLISHED响应请求已建立的 RELATED 与已有连接相关的
数据包控制
ACCEPT允许通过 DROP 直接丢弃 REJECT 拒绝 但回复拒绝信息 LOG 记录日志
导入导出防火前规则
保存 iptables-save
将调试好的规则导入文件中 iptables-save > /etc/sysconfig/iptables
导入
iptables-restore < /etc/sysconfig/iptables
编写防火墙脚本
1. 设置网络
INET_IP='外网地址'
INET_IF='对应网卡'
LAN_IP='内网地址'
LAN_IF='对应网卡'
2.加载相关内核模块
3.开启路由转发功能
/sbin/sysctl –w net-ipv4.ip_forward=1
4.配置规则 iptables 命令在 /sbin下
本文转自 郑伟 51CTO博客,原文链接:http://blog.51cto.com/zhengweiit/380426