iptables 和 nftables
iptables 是 Linux 中最常用的防火墙工具,它通过 Linux 内核中的 netfilter 模块提供的 Hook 来管理网络数据包的处理和转发。
nftables 是 iptables 的代替品,在 Debian 10、Ubuntu 22、CentOS 8 中已经由 iptables 切换到了 nftables。
iptables 的操作命令是 iptables,nftables 的操作命令是 nft。在一些 Linux 发行版中为了实现兼容,会将 iptables 命令作为一个接口链接到 iptables-nft 来使用 nftables,也可以使用 update-alternatives 命令手动将 iptables 命令切换到 iptables-legacy 来使用原版的 iptables (通过 iptables -v
可以查看当前实现: iptables v1.8.9 (nf_tables)
)。
工具链
- netfilter 是一个位于 Linux 内核层的软件框架,用于管理网络数据包。netfilter 制定了五个数据包的挂载点(Hook),分别是 PRE_ROUTING、INPUT、OUTPUT、FORWARD 与 POST_ROUTING。
- iptables 是一个运行在用户空间的应用软件,它通过 netfilter 提供的 Hook 来实现对网络数据包的处理和转发。
- nftables 是 iptables 的代替品。
- ufw/firewalld 分别是 Debian/Redhat 系中的默认防火墙配置工具前端,为防火墙提供了轻量化的配置功能,它们后端通常是 iptables。
它们之间的关系可以总结为:netfilter 是 Linux 的一个内核模块,iptables/nftables 是基于 netfilter 模块实现的防火墙应用程序,ufw/firewalld 是防火墙功能的前端工具。
防火墙的原理
netfilter 的原理如下
linux 防火墙:ufw,firewalld,iptables,netfilter
iptables 四表五链执行流程
背景:
docker container1 8080
docker container2 80
container2 -> container1
ufw deny 8080
ip:8080 可以访问
ip:80 -> ip:8080 无法访问
相关知识:
防火墙工具关系
解决步骤:
iptables 打印日志
解决方案:
标签:iptables,系统,防火墙,nftables,Linux,数据包,netfilter From: https://www.cnblogs.com/xtyuns/p/18337849