文章目录
1. 火墙介绍
防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
1.1 iptables简介
IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter。netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。
iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。netfilter/iptables(下文中简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
- 网络地址转换(Network Address Translate)
- 数据包内容修改
- 以及数据包过滤的防火墙功能
2. 火墙管理工具切换
2.1 firewalld切换到iptables
- 关闭firewalld
systemctl disable --now firewalld.service
systemctl mask firewalld.service
- 打开iptables
dnf install iptables-services.x86_64 -y
systemctl unmask iptables.service
systemctl enable --now iptables.service
2.2 iptables切换到firewalld
- 关闭iptables
systemctl disable --now iptables.service
systemctl mask iptables.service
- 打开firewalld
dnf install firewalld -y #安装firewalld(rhel8中默认已安装)
systemctl unmask firewalld.service
systemctl enable --now firewalld.service
3. iptables的四表五链
每个规则表,其实就相当于一个内核空间的容器,按照规则集的不同用途进行划分为默认的四个表,在每个规则表中包含不同的规则链,处理数据包的不同时机分为五种链,决