所谓防火墙也称之为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统。按照给定的规则,允许或者限制网络报文通过。
- 硬件防⽕墙:通过硬件和软件的组合,基于硬件的防⽕墙保护整个内部网络安全。(例如 华为E9000)
- 软件防⽕墙:通过纯软件,单独使⽤软件系统来完成防⽕墙功能,保护安装它的系统。
- 大型公司都是以硬件防火墙为主,软件防火墙为辅。软件防火墙根据情况来决定是否开启,如 果服务器性能不够,可能会关闭软件防火墙。
四表五链概念
表中有链,链中有规则 iptabls用户态 netfilter 内核态

规则链内部的匹配顺序:
命令格式:
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型
控制类型 作用 控制类型必须为大写
| ACCEPT | 允许数据包通过(默认) |
| DROP | 直接丢弃数据包,不给出任何回应信息 |
| REJECT | 拒绝数据包通过,会给数据发送端一个响应信息 |
| SNAT | 修改数据包的源地址 postrouting链 |
| DNAT | 修改数据包的目的地址 prerouting 链 |
| MASQUERADE | 伪装成一个非固定公网IP地址 |
| LOG | 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。LOG只是一种辅助动作,并没有真正处理数据包 |

匹配条件:

规则配置示例
查看规则 -nL -t 指定表名进行修改 不指定时默认为filter 表


-A,在末尾追加规则。
-I,在指定位置前插入规则。如果不指定,则在首行插入
-j, 指定控制类型



删除 —D iptables -D INPUT 2

按内容删除规则
![]()
原有规则

注意:
1. -F 仅仅是清空链中的规则,并不影响 -p 设置的默认规则,默认规则需要手动进行修改
2. -p 设置了DROP后.使用-F 一定要小心!
#防止把允许远程和连接的相关规则清楚后导致无法远程连接主机,此情况如果没有保存
规则可重启主机解决
3. 如果不写表名和链名,默认清空filter表中所有链里的所有规则。

修改策略 -P

方法二:重新启动服务器

如何添加内容并修改策略
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F 清空链中的规则并不影响-P生成的规则,默认规则需要手动修改
iptables -A INPUT -s 192.168.61.20 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED RELATED -j ACCEPT
iptables -p INPUT DROP
- iptables -A INPUT ! -p icmp -j ACCEPT
- #没有-t指定表,就是指默认表filter表 # !代表条件取反,不是icmp的都放通
-
-
-
- iptables -A INPUT -s 192.168.72.10 -j REJECT #拒绝从哪个主机发数据包过来(-s指定了源地址)
-
-
-
- iptables -I INPUT -i ens33 -s 192.168.80.0/24 -j DROP #在行首插入规则,丢弃该网段从ens33
- 网卡进来的数据包



--icmp-type ICMP类型
ICMP类型可以是字符串、数字代码:
| ICMP类型 | 含义 |
|---|---|
| Echo-Request (代码为8) | 表示请求 |
| Echo- -Reply (代码为0) | 表示回显 |
| Dest ination-Unreachable (代码为3) | 表示目标不可达 |



格式:
-m mac -- -mac- source MAC地址

TCP标记匹配
--tcp-flags TCP标记


-m state --state连接状态
NEW 主机连接目标主机,在目标主机上看到的第一个想要连接的包
ESTABLISHED 主机已与目标主机进行通信,判断标准只要目标主机回应了第一个包,就 进入该状态
RELATED 主机已与目标主机进行通信,目标主机发起新的链接方式,一般与 ESTABLISHED配合使用
INVALID 无效的封包,例如数据破损的封包状态

Linux防火墙的两个组件:
1. 内核态 netfilter(保存包过滤处理的规则集)
. 2.用户态 iptables(防火墙规则管理工具)
匹配顺序
1)数据包到达防火墙时,规则表之间的优先顺序:raw >mangle > nat > filter。
2)规则链之间的匹配顺序:
3)链中的规则集:从上往下一次匹配,匹配到规则即停止,若都没有匹配到则按默认策略处理
管理选项
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]
匹配条件