一、防火墙介绍
Firewalls是一个重要的工具,可以配置为保护您的服务器和基础设施。防火墙的主要功能是过滤数据、重定向流量和防止网络攻击。既有基于硬件的防火墙,也有基于软件的防火墙。在这里我不会过多讨论背景,因为您可以在网上找到很多关于它的文档。
你有没有想过从头开始实现一个简单的迷你防火墙?听起来很疯狂?但借助 Linux 的强大功能,您可以做到这一点。看完本系列文章,你会发现其实很简单。
您可能曾经在 Linux 上使用过各种防火墙,例如iptables、nftables、UFW等。所有这些防火墙工具都是用户空间实用程序,它们都依赖于Netfilter. Netfilter是允许实现各种与网络相关的操作的 Linux 内核子系统。Netfilter允许您使用Linux Kernel Module. 如果您不了解 Linux 内核模块和 Netfilter 等技术,请不要担心。在本文中,让我们基于 Netfilter 从零开始编写一个 Linux 防火墙。您可以了解到以下有趣的观点:
-
Linux内核模块开发。
-
Linux内核网络编程。
-
Netfilter模块开发。
这篇文章会有点长,分为五个部分: -
Netfilter 和内核模块的背景:介绍Netfilter 和内核模块的理论。
-
制作第一个内核模块