据说内核负责网络数据的传输层、互联网层和网络访问层。然后,网络数据根据端口号传递到适当的进程。
防火墙、IPS、IDS等安全程序只是用户级程序而不是内核的一部分,如何访问不属于它们的网络数据?代理服务器怎么样?
为什么网络数据必须先通过防火墙才能进行适当的处理?
答案1
一般来说,这些安全程序包含两部分,一部分运行在内核空间,一部分运行在用户空间。该user space
部分只是与内核空间部分交互的接口。
例如,iptables 包含:
netfilter,一组内核中网络代码的钩子。它还包括将数据包传递到用户空间程序的机制。
ip_tables
,一个使用netfilter对网络数据包进行故障排除、设置规则的模块...iptables
,一个用于在 ip_tables 模块中设置规则的用户空间工具。
Netfilterip_iptables
运行在内核空间,而iptables
运行在用户空间。