netfilter
Linux 2.4内核以后提供了一个非常优秀的防火墙工具:netfilter/iptables,他免费且功能强大,可以对流入、流出的信息进行细化控制,它可以 实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。 但LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw
所谓防火墙也称之为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统。按照给定的规则,允许或者限制网络报文通过
最近有客户反馈在开启了安全策略的集群中部署产品失败,因此研究了一下 Kubernetes 的 pod 安全策略。 Netfilter 配合 iptables 使得应用可以操作内核网络栈的数据包处理规则,实现高效的网络转发和过滤。很多常见的主机防火墙程序以及 Kubernetes 的 Service 转发都是通过 iptables 来实现的
如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格。因此,如果你安装了任何定制的服务(比如web服务器、NFS和Samba),那么它们的流量很有可能被防火墙规则阻塞。所以需要在防火墙上开启必要的端口以允许流量通过
在核心中netfilter 架构里有五个hooks点,NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING、NF_IP_LOCAL_IN、NF_IP_LOCAL_OUT、NF_IP_FORWARD,这些hooks应该就是iptables使用的五个chains,但不知这些chains跟hook 点是什么关联? 以下是我的理解: 比如当执行 iptables 指令设定到了INPUT chain时,就等于将INPUT的规则设至NF_IP_LOCAL_IN这个hook 点上,并挂上相关的模组,这样当封包进入后,即可透过模组对封包进行检查过滤的动作。 比方这篇内.. 这张图: 若要讨论程式面,要翻阅 source code 会比较清楚。