【问题标题】:Error during nfq_open()nfq_open() 期间出错
【发布时间】:2015-10-06 23:00:26
【问题描述】:

我正在尝试根据这段代码设置一个 nfq 侦听器:

main (int argc, char **argv)
{
  struct nfq_handle *h;
  struct nfq_q_handle *qh;
  struct nfnl_handle *nh;
  int fd;
  int rv;
  char buf[4096] __attribute__ ((aligned));

  printf ("opening library handle\n");
  h = nfq_open ();
  if (!h)
  {
      fprintf (stderr, "error during nfq_open()\n");
      exit (1);
  }
  ...

我有以下 iptables 规则集: NFQUEUE udp -- 0.0.0.0/0 192.168.50.0/24 udp dpt:10000 NFQUEUE num 5061

但运行程序总是给出:nfq_open() 期间出错

我的 IPtables 规则有问题吗?我使用了以下命令:

/sbin/iptables -A FORWARD --protocol udp --dport 10000 -j NFQUEUE --queue-num 5061 -d 192.168.50.0/24

谢谢。

【问题讨论】:

    标签: iptables netfilter


    【解决方案1】:

    请在要添加规则的表名“nat|filter|mangle”中添加“-t”开关。

    【讨论】:

      【解决方案2】:

      这根本不是 iptables 命令的问题。我猜你没有以 root 身份运行程序,这是使用 NFQUEUE 所必需的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-13
        • 2018-06-20
        • 2018-05-07
        • 2011-10-23
        • 1970-01-01
        • 2014-05-05
        • 2011-08-29
        相关资源
        最近更新 更多