目录
一、软件防火墙类型
1、netfilter
位于linux内核中的包过滤功能体系;
称为linux防火墙的“内核态”;
2、iptables
位于/sbin/iptables,用来管理防火墙规则的工具;
称为linux防火墙的“用户态”。
二、iptables防火墙规则
1、防火墙的核心意义
控制不同网络之间的数据包/流量数据的访问规则/约束。
2、iptables常用
①、限制指定对象的访问频次
②、允许或拒绝指定网段/IP/PORT来源的访问
③、地址映射
三、iptables的四表五链
1、iptables的五链
① 、INPUT
处理入站数据包,从上到下依次匹配
②、OUTPUT
处理出站数据包
③、FORWARD
处理转发数据包
④、PREROUTING
在进行路由选择前处理数据包
⑤、POSTROUTING
在进行路由选择后处理数据包
2、iptables的四表
①、raw表
确定是否对该数据包镜像状态跟踪
②、mangle表
为数据包设置标记
③、nat表
修改(或映射)数据包中的源、目标IP地址或端口
④、filter表
确定是否可以放行接收到的数据包
3、管理动作
①、ACCEPT
允许通过
②、DROP
丢弃,不予回应
③、REJECT
拒绝,但是会相应
④、LOG
在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
⑤、SNAT
修改数据包的源地址
⑥、DNAT
修改数据包的目的地址
⑦、MASQUERADE
伪装成一个非固定公网IP地址
PS:一般情况下,如果设置网络型防火墙、主机型防火墙时默认设置规则为DROP,也就是丢弃,设置白名单。但是在设置之前,需要开启一些特定的端口防止无法连接服务器。
四、具体使用
1、一般表示
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]
表 链 规则 管理类型
2、管理选项
-t 指定表,默认failter
-A 在指定链末尾添加一条
-I 在指定链中插入如一条新的,未指定序号默认作为第一条
-P 指定默认规则
-D 删除
-p 指定协议/服务名称
-R 修改、替换某一条规则
-L 查看信息
-n 所有字段以数字显示(只能nL不能Ln)
-v 查看时显示详细信息
-j 指定动作
-F 删除所有规则
-X 清空自定义链的规则(恢复默认)
-Z 清空链的计数器(匹配到的数据包的大小和总和)
-S 查看链的所有规则或某个链的
-line-number 规则带编号
-s 指定源地址
--dport 需要指定协议-p