老实说,iptables 搜索没有效率,也不好debug,要想调试,可以使用raw 表的trace功能,然后发送包,再查log来看哪里有问题
办法:
如下是对icmp协议的trace
# for IPv4 #
iptables -t raw -A OUTPUT -p icmp -j TRACE
iptables -t raw -A PREROUTING -p icmp -j TRACE
# for IPv6
ip6tables -t raw -A OUTPUT -p icmpv6 --icmpv6-type echo-request -j TRACE # ip6tables -t raw -A OUTPUT -p icmpv6 --icmpv6-type echo-reply -j TRACE
ip6tables -t raw -A PREROUTING -p icmpv6 --icmpv6-type echo-request -j TRACE
ip6tables -t raw -A PREROUTING -p icmpv6 --icmpv6-type echo-reply -j TRACE
# for IPv4 #
modprobe ipt_LOG
# for IPv6
modprobe ip6t_LOG
发包。。。
然后看log
/var/log/kern.log 或者/var/log/messages 会有记录