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,选项,链名,控制类型使用大写字母,其余均为小写

iptables_第1张图片

添加新的规则

-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,具体的防火墙规则

按表,链分别设置规则,包括默认策略