首页 > 代码库 > iptables
iptables
ipfw ifpwadmin
ipchains ipchains
netfilter iptables
firewall
netfilter/iptables
一,防火墙结构
1,防火墙的规则表
raw:跟踪
mangle:标记
nat:转换
filter:过滤
2,防火墙的规则链
INPUT:入站
OUTPUT:出战
FORWARD:转发
PREROUTING:路由前
POSTROUTING:路由后
3,表和链的对应关系
raw:PREROUTING OUTPUT
mangle:all
nat:PREROUTING OUTPUT POSTROUTING
filter:INOUT OUTPUT FORWARD
4,应用顺序
规则表之间的顺序
raw-mangle-nat-filter
规则链之间的顺序
入站数据流:PREROUTING INPUT 检查是否需要更改地址是否允许程序放松本机的程序
出战数据流:OUTPUT POSTROUTING 路由完成以后是否需要更改
转发数据流:PREROUTING FORWARD POSTROUTING
规则链内的匹配顺序
按顺序依次检查,匹配即停止(LOC策略例外)
若找不到相匹配的规则,则按该链的默认策略处理
5,规则的应用顺序
a,从上到下依次匹配,匹配即停止(LOG)除外
b,没有匹配项时,采用默认规则(policy规则,只有ACCEPI和DROP)
6,制定防火墙规则
iptables [ -t表名] 选项 [链名] [条件] 条件匹配 [-j控制类型]
iptables -t filter -A INPUT -p tcp -j ACCEPT
只要有数据是tcp数据我就一律放行
sbin/service iptables save
注意事项:
1,不指定表名时,默认指filter表
2,不指定链名时,默认指表内的所有链
3,除非设置链的默认策略,否则必须指定匹配条件
4,选项,链名,控制类型使用大写字母,其余均为小写
添加新的规则
-A在链的末尾追加一条规则
-I:在链的开头(或指定序号)插入一条规则
删除
-D 删除链内指定序号的规则
-F 清空防火墙
查看规则
-L:列出所有规则
-v:更详细的显示规则信息
-n:以数字形式显示地址和端口
--line-numbers 显示行号
设置默认策略
-P:为指定的链设置默认规则
-X 清空自定义的链
数据包的常见的控制类型:
ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给 下一条规则继续匹配
REDIRECT 重定向
常见的通用匹配条件
协议匹配i: -p 协议名
地址匹配:-s 源地址 -d 目标地址
接口匹配: -i 入站 -o 出战
隐含匹配条件
端口匹配: --sport源端口, --dport 目的端口
icmp 类型匹配 --icmp-type ICMP类型
常用的显示匹配条件
多端口匹配:-m multiport --sport 源端口列表
-m multiport --dport 目的端口列表
ip范围匹配:-m iprange --src-range ip范围
MAC地址匹配: -m mac --mac-source mac地址
状态匹配: -m state --state 连接状态
service iptables save 保存防火墙规则
防火墙脚本导出(备份)规则
iptables-save工具
可结合重定向输出保存到指定文件
导入(还原)规则
iptables-restore工具
可结合重定向输入指定规则来源
iptables服务
脚本位置:/etc/init.d/iptables
规则文件位置:/etc/sysconfig/iptables
1,定义基本变量便于脚本的维护,重用
2,加载必要的内核模块将频繁用到的模块载入内核
3,调整/proc参数
linux内核控制及调优
4,具体的防火墙规则
按表,链分别设置规则,包括默认策略
本文出自 “凌宇的技术博客” 博客,请务必保留此出处http://lampit.blog.51cto.com/12958178/1930901
iptables