我正在调试运行 Buildroot 映像的 kvm VM 的 iptables。当我尝试设置以下 TRACE 规则时,出现错误iptables: No chain/target/match by that name
sudo iptables -t raw -A OUTPUT -p tcp --destination 192.168.1.0/24 --dport 8443 -j TRACE
如果我启用 LOG 规则,它就可以工作,并且数据包会被记录,但我需要检查哪条规则(如果有)正在丢弃包。
更新:问题发生环境的信息(虚拟机内部):
$ uname -a
Linux minikube 4.15.0 #1 SMP Sat Dec 8 00:26:02 UTC 2018 x86_64 GNU/Linux
$ cat /proc/version
Linux version 4.15.0 (jenkins@jenkins) (gcc version 7.3.0 (Buildroot 2018.05)) #1 SMP Sat Dec 8 00:26:02 UTC 2018
答案1
这里的问题是 iptables TRACE 目标需要 nf_log_ipv4(或 nf_log_ipv6)内核模块。如果该模块存在,则会自动加载。但是,minikube 的内核构建只有一组有限的 netfilter 模块,因此您在 minikube 中使用 iptables 所能做的事情仅限于现有模块提供的功能。