-
防火墙
Iptables
策略与规则链
防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。
如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。
防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。
当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;
如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类
在进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包(POSTROUTING)。
ACCEPT(允许流量通过)、REJECT(拒绝流量通过:
拒绝流量后再回复一条
)、LOG(记录日志信息)、DROP(拒绝流量通过:
将流量丢弃而且不响应
)。
基本的
命令
参数
根据OSI七层模型的定义,iptables属于是数据链路层的服务,所以可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。另外,防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。
iptables中常用的参数以及作用
参数
|
作用
|
-P
|
设置默认策略
|
-F
|
清空规则链
|
-L
|
查看规则链
|
-A
|
在规则链的末尾加入新规则
|
-I num
|
在规则链的头部加入新规则
|
-D num
|
删除某一条规则
|
-s
|
匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
|
-d
|
匹配目标地址
|
-i 网卡名称
|
匹配从这块网卡流入的数据
|
-o 网卡名称
|
匹配从这块网卡流出的数据
|
-p
|
匹配协议,如TCP、UDP、ICMP
|
--dport num
|
匹配目标端口号
|
--sport num
|
匹配来源端口号
|
# iptables -P INPUT DROP #拒绝所有请求
# iptables -I INPUT -p icmp -j ACCEPT #-I在规则链的头部加入新规则 -p匹配协议 -j 动作 ACCEPT、DROP、REJECT、LOG
# iptables -I INPUT -p tcp --dport=22 -j ACCEPT # 放行22端口
# iptables -L
# iptables -D INPUT 1 #删除第一条规则
# iptables -F #清空所有规则
# iptables -P INPUT ACCEPT #允许所有
# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport=22 -j DROP # -s 拒绝来源192.168.10.0-255网段 访问22端口
# iptables -I INPUT -p tcp --dport=22 -j DROP #拒绝所有访问22端口
# iptables -I INPUT -p tcp --dport=20:2000 -j ACCOUNT #允许 20 ~ 2000端口访问
当把INPUT链设置为默认拒绝后,就要往里面写入允许策略了,否则所有流入的数据包都会被默认拒绝掉
# iptables-save #保存当前防火墙策略永久生效 #service iptables save 67中
Firewalld
firewall-cmd
firewall-config
zone 区域 模版
RHEL 8系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems)服务是默认的防火墙配置管理工具,也叫Linux系统的动态防火墙管理器,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。
firewalld支持动态更新技术并加入了区域(zone)的概念。简