首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NETLINK_FIREWALL和NETLINK_NETFILTER有什么区别?

NETLINK_FIREWALL和NETLINK_NETFILTER有什么区别?
EN

Stack Overflow用户
提问于 2013-12-14 15:21:52
回答 1查看 2.2K关注 0票数 2

NETLINK_FIREWALL (和NETLINK_IP6_FW)和NETLINK_NETFILTER两种网络链接协议都用于管理Linux防火墙。

所以,有什么不同吗?如果是,哪一种网络链接协议服务于哪个目的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-14 18:37:43

代码中的快速grep显示,NETLINK_FIREWALL只在内核中发生过两次:

代码语言:javascript
复制
include/uapi/linux/netlink.h
11:#define NETLINK_FIREWALL 3   /* Unused number, formerly ip_queue     */

security/selinux/hooks.c
1184:       case NETLINK_FIREWALL:
1185:           return SECCLASS_NETLINK_FIREWALL_SOCKET;

因此,它是定义的,注释声称它未使用,并且在selinux的类型转换代码中只提到过一次。从来没有对netlink_kernel_create()的调用,因此NETLINK_FIREWALL从来没有连接起来。它什么也做不了。

NETLINK_NETFILTER确实有一个与其关联的netlink_kernel_create()调用,所以您需要查看这个接口。

已经有一段时间了,但我曾经为配置netfilter规则实现了(部分)代码,我记得是通过setsockopt()调用而不是通过netlink套接字来实现的。我不知道NETLINK_NETFILTER到底做了什么。

快速查看git日志似乎表明,NETLINK_NETFILTER用于与thinks类似于连接跟踪,而不是实际配置防火墙规则( iptables userspace命令所做的)。

如果您实际上希望创建防火墙规则(即执行iptables所做的操作),则应该查看libiptc (它是iptables源代码树的一部分)。用于配置这些规则的接口非常复杂,而且没有文档说明。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20584967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档