簡體   English   中英

如何通過 libnftables-json 添加計數器來設置?

[英]How to add counter to set via libnftables-json?

在 nftables 中,自 v0.9.5 命名集有規范計數器(對於集合中的每個元素) 我可以將它與 nft cli 或配置文件一起使用,例如:

 set my_flows_meter { 
    type ipv4_addr . ipv4_addr . inet_service . inet_service . inet_proto
    flags dynamic, timeout
    counter
}

但是我嘗試使用 libnftables-json 添加帶有計數器規范的命名集 add 在 mans 中沒有找到任何相關信息。 我試過:

 {"add": {
    "set": {
      "family": "ip",
      "name": "my_flows_meter",
      "table": "filter",
      "type": [
        "ipv4_addr",
        "ipv4_addr",
        "inet_service",
        "inet_service",
        "inet_proto"
      ],
      "handle": 2,
      "size": 65535,
      "flags": [
        "timeout"
      ],
      "counter": null
    }
  }
}

但這是行不通的。 看起來 libnftables-json 只是忽略了它,添加了 bc 集。

在版本nftables v1.0.5 (Lester Gooch #4)中, nft -j list set... ... ...似乎也打印出計數器。 但它會為每個元素打印它,這可能也是您需要的。

{
   "nftables" : [
      {
         "metainfo" : {
            "json_schema_version" : 1,
            "release_name" : "Lester Gooch #4",
            "version" : "1.0.5"
         }
      },
      {
         "set" : {
            "elem" : [
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           67
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           25
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           110
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           220
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           995
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           873
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           115
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 170088,
                        "packets" : 2585
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           53
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           22
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           5900
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           3389
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 11418,
                        "packets" : 6
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           {
                              "range" : [
                                 1714,
                                 1764
                              ]
                           }
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           4713
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           {
                              "range" : [
                                 1714,
                                 1764
                              ]
                           }
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           143
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 240,
                        "packets" : 4
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           993
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 180,
                        "packets" : 3
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           25
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           110
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           220
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           995
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           873
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           115
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 540,
                        "packets" : 9
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           53
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           22
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           5900
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           3389
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "sctp",
                           22
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           10240
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 14200,
                        "packets" : 71
                     },
                     "val" : {
                        "concat" : [
                           "udp",
                           5678
                        ]
                     }
                  }
               },
               {
                  "elem" : {
                     "counter" : {
                        "bytes" : 0,
                        "packets" : 0
                     },
                     "val" : {
                        "concat" : [
                           "tcp",
                           8291
                        ]
                     }
                  }
               }
            ],
            "family" : "inet",
            "flags" : [
               "interval"
            ],
            "handle" : 25,
            "name" : "protocols",
            "table" : "filter",
            "type" : [
               "inet_proto",
               "inet_service"
            ]
         }
      }
   ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM