shivank anchal Asked: 2020-01-10 07:32:44 +0800 CST2020-01-10 07:32:44 +0800 CST 2020-01-10 07:32:44 +0800 CST 使用 iptables,我失去了连接。刷新后,连接恢复 772 这些是我在失去连接时使用的命令。 sudo iptables -I INPUT -j NFQUEUE --queue-num 0 sudo iptables -I OUTPUT -j NFQUEUE --queue-num 0 谁能告诉我为什么? linux iptables 1 个回答 Voted Best Answer A.B 2020-01-10T09:45:44+08:002020-01-10T09:45:44+08:00 iptables关于NFQUEUE的文档告诉我们: --queue-bypass 默认情况下,如果没有用户空间程序正在侦听 NFQUEUE,则 所有要排队的数据包都将被丢弃。使用此选项时,NFQUEUE 规则的行为类似于 ACCEPT,并且数据包将移动到下一个表。 所以这意味着你应该运行一个程序接收通过这个队列发送的数据包,但是没有这样的进程在运行。 这是一个解释如何使用 NFQUEUE 的链接,包括示例代码(不能按原样使用): 到 Linux 及以后!使用 NFQUEUE 和 libnetfilter_queue 请注意,示例中使用的某些函数已弃用。 同时,如果您不想在设置此类程序或工具时断开连接但发生错误,您可以添加这样的选项--queue-bypass(但根据实现使用不同的队列可能有意义): sudo iptables -I INPUT -j NFQUEUE --queue-num 0 --queue-bypass sudo iptables -I OUTPUT -j NFQUEUE --queue-num 0 --queue-bypass 唉,这意味着您的过滤器的INPUT和OUTPUT链将被完全绕过,因为NFQUEUE将表现为ACCEPT,而NFQUEUE进程有可能通过使用判决NF_REPEAT和标记重新注入数据包以进行进一步处理,如本示例所述来自同一博客的其他链接: 构建符合 suricata 的规则集
iptables关于NFQUEUE的文档告诉我们:
所以这意味着你应该运行一个程序接收通过这个队列发送的数据包,但是没有这样的进程在运行。
这是一个解释如何使用 NFQUEUE 的链接,包括示例代码(不能按原样使用):
到 Linux 及以后!使用 NFQUEUE 和 libnetfilter_queue
请注意,示例中使用的某些函数已弃用。
同时,如果您不想在设置此类程序或工具时断开连接但发生错误,您可以添加这样的选项
--queue-bypass
(但根据实现使用不同的队列可能有意义):唉,这意味着您的过滤器的INPUT和OUTPUT链将被完全绕过,因为NFQUEUE将表现为ACCEPT,而NFQUEUE进程有可能通过使用判决NF_REPEAT和标记重新注入数据包以进行进一步处理,如本示例所述来自同一博客的其他链接:
构建符合 suricata 的规则集