多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ##### **Q: 如何理解Netiflter、Conntrack、NAT之间的关系?** A: Netfilter是内核的一个子系统,在内核网络中注册了五个钩子点,Conntrack、NAT等是内核模块,在钩子点处注册自己的钩子函数。数据包经过钩子点时,会依次被钩子函数进行处理。 ##### **Q: 如果在Input中添加一个-j DROP的规则,该规则是由什么函数执行的?** A:肯定是由钩子函数处理的,因为`netfilter/iptables`是一套,iptables规则肯定是由netfilter的钩子点的钩子函数读取的。不过目前不知道这个钩子函数的名字是什么。 ##### **Q: 钩子函数是如何读取iptables中的规则的?** A:每个模块的钩子函数只会读取iptables某些特定表的规则,以NAT模块的钩子函数为例,它们只会读取`nat_table`表中的规则,遍历规则的函数为` ipt_do_table()`(net/ipv4/netfilter/ip_tables.c) ##### **Q: 在线浏览Linux内核源码的地址?** A: https://elixir.bootlin.com/linux