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 的相关配置

查看

iptables 的相关配置

清空删除规则

iptables 的相关配置

设置规则链的默认策略

iptables 的相关配置

获得Iptables相关选项用法的帮助信息

iptables 的相关配置

新增,删除自定义规则链

iptables 的相关配置

清空并删除自定义链

iptables 的相关配置

条件匹配

协议匹配使用参数 –p

iptables 的相关配置

地址匹配

-s 源地址匹配  -d 目标地址匹配

iptables 的相关配置

网络接口匹配

使用参数 –i 进入数据包网卡 –o 发送数据包网卡

iptables 的相关配置

隐含条件匹配

端口匹配

--sport 源端口  --dport 目标端口   :隔开端口号表示范围

iptables 的相关配置

显示条件陪陪

-m mac --mac-source 源mac地址

iptables 的相关配置

多端口匹配

多加入 –m multiport

iptables 的相关配置

多IP地址匹配

多加入 –m iprange    --src-range 源地址范围  --dst-range 目标地址范围

iptables 的相关配置

状态匹配

NEW  新连接  ESTABLISHED响应请求已建立的  RELATED 与已有连接相关的

iptables 的相关配置

数据包控制

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下