防火墙
目录
iptables nftables ufw firewalld netfiler
- netfiler 是 Linux 内核系统中负责网络处理的部分,也就是网络过滤器,它是 Linux 内核中的一个模块,负责网络数据包的过滤、转发、NAT 等功能。
- iptables 是 netfiler 的用户态工具,用于配置 netfiler 的规则。
- nftables 是 netfiler 的下一代,它是一个新的框架,用于配置 netfiler 的规则。
- ufw,firewalld 是 iptables 的一个前端工具,用于简化 iptables 的配置。
对于较新的 Linux 发行版(比如 Ubuntu22 之后),nftables 逐渐替代了 iptalbes,不过旧的 iptables 命令仍然可以使用,因为 iptables 的命令通过xtables-nft-multi
转化为了 nftables 的命令。
这一点可以通过下面的方式验证
bash
# 查看 iptables 的位置
which iptables
# /usr/sbin/iptables
ll /usr/sbin/iptables
# /usr/sbin/iptables -> /usr/sbin/xtables-nft-multi
然后 ufw(Ubuntu 默认的防火墙)和 firewalld(CentOS 默认的防火墙)是对 iptables 的一个封装,用于简化 iptables 的配置。
同时iptables和nftables有自己的前端管理工具
运行时配置和永久配置
不管是iptables还是nftables防火墙都分为运行时配置和永久配置。
运行时配置是指正应用于系统,对网络数据包进行动作的配置,当系统重启或服务重新加载配置时会丢失运行时配置;永久配置是记录在防火墙管理软件的配置文件中,当系统重启或防火墙管理软件重新加载配置文件时,从永久配置文件中读取配置信息并作为防火墙的运行时配置。
nftables命令教学
参考资料