![]() | 1 lambdaq 2023-12-19 15:03:22 +08:00 这事直接去问 gpt |
2 GopherDaily 2023-12-19 15:19:20 +08:00 - iptables 是基于 netfilter 实现的,是对 netfilter 暴露的 hook 的使用 - iptables 的 chain(PREROUTING/INPUT/FORWARD/OUTPUT/POSTROUTING) 对应 netfilter 的五个钩子 - iptables 的 table 对应不同的功能,比如 nat 是改写目的地/来源地,filter 是用来过滤的 - 从结构上来看 table 由 chain 组成,chain 由 rule 组成,rule 由 match 和 target 组成 Link: https://arthurchiao.art/blog/deep-dive-into-iptables-and-netfilter-arch-zh/#3-iptables-%E8%A1%A8%E5%92%8C%E9%93%BEtables-and-chains Link: https://github.com/j2gg0s/j2gg0s/blob/main/_posts/wips-k8s%20network%3A%20kube-proxy%20%E5%92%8C%20flannel.md#iptables-%E5%9B%9E%E9%A1%BE 当然我觉得这事还是需要 google 来结果,基础好的,直接看 wiki 和 manpage , 基础薄的看别人的 blog LLM 大部分都是回答一些看上去对或者不对的内容。 |
![]() | 3 mohumohu 2023-12-19 15:20:57 +08:00 这个问题你随便找张 iptables/netfilter 的图就明白了,对于默认 chain 来说,能够适用的 table 不一样。 |
![]() | 4 old9 2023-12-19 15:55:18 +08:00 |
5 julyclyde 2023-12-19 16:17:43 +08:00 你这个“明明”是错的 所以按这个思路看正确的内容就觉得不对劲了 表-链-规则 |
6 WaterWestBolus OP 谢谢诸位 @GopherDaily @old9 大致是明白了 理解下来应该是这样:netfilter 在网络协议栈里埋了 5 个 hook ,每个 hook 都会触发对应的 chain ,但是同一个 chain 可能会存在于多个表里,触发 chain 的时候需要按预定义的顺序从各个表里捞出对应的 rule 去执行 |
7 GeruzoniAnsasu 2023-12-19 16:50:35 +08:00 ![]() |
![]() | 8 Panic 2023-12-19 16:59:57 +08:00 enum nf_ip_hook_priorities { NF_IP_PRI_FIRST = INT_MIN, NF_IP_PRI_RAW_BEFORE_DEFRAG = -450, NF_IP_PRI_CONNTRACK_DEFRAG = -400, NF_IP_PRI_RAW = -300, NF_IP_PRI_SELINUX_FIRST = -225, NF_IP_PRI_COnNTRACK= -200, NF_IP_PRI_MANGLE = -150, NF_IP_PRI_NAT_DST = -100, NF_IP_PRI_FILTER = 0, NF_IP_PRI_SECURITY = 50, NF_IP_PRI_NAT_SRC = 100, NF_IP_PRI_SELINUX_LAST = 225, NF_IP_PRI_CONNTRACK_HELPER = 300, NF_IP_PRI_CONNTRACK_COnFIRM= INT_MAX, NF_IP_PRI_LAST = INT_MAX, }; table 的设计确实不好理解, 感觉也并不是太合理, chain 才是关键. |
9 leonshaw 2023-12-19 17:03:44 +08:00 ![]() @WaterWestBolus 一个 chain 只在一个表里,虽然是可以同名的。2023 年了,换 nftables. |
![]() | 10 daxy223 2023-12-19 18:43:21 +08:00 via iPhone @GeruzoniAnsasu 这个是真好 我也准备推荐的 |
![]() | 11 jasonyang9 2023-12-19 19:37:03 +08:00 同。iptables 每次都要搞一下脑子。nftables 中表的概念弱化了 |
12 chenqh 2023-12-19 19:40:41 +08:00 感觉 iptables 真的难学, |
![]() | 13 huangmingyou 2023-12-20 09:32:07 +08:00 学 nftables 吧 |
14 WaterWestBolus OP @leonshaw 公司还在用 iptables= =积重难返 |