{ "nftables": [ { "metainfo": { "version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1 } }, { "table": { "family": "ip", "name": "x", "handle": 0 } }, { "chain": { "family": "ip", "table": "x", "name": "filter_in_tcp", "handle": 0 } }, { "chain": { "family": "ip", "table": "x", "name": "filter_in_udp", "handle": 0 } }, { "chain": { "family": "ip", "table": "x", "name": "y", "handle": 0 } }, { "set": { "family": "ip", "name": "s", "table": "x", "type": "ipv4_addr", "handle": 0, "size": 65535, "flags": [ "dynamic" ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "set": { "op": "update", "elem": { "payload": { "protocol": "ip", "field": "saddr" } }, "set": "@s", "stmt": [ { "limit": { "rate": 12, "burst": 30, "per": "minute" } } ] } }, { "accept": null } ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "vmap": { "key": { "payload": { "protocol": "tcp", "field": "dport" } }, "data": { "set": [ [ 80, { "accept": null } ], [ 81, { "accept": null } ], [ 443, { "accept": null } ], [ { "range": [ 8000, 8100 ] }, { "accept": null } ], [ { "range": [ 24000, 25000 ] }, { "accept": null } ] ] } } } ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "vmap": { "key": { "meta": { "key": "l4proto" } }, "data": { "set": [ [ "tcp", { "goto": { "target": "filter_in_tcp" } } ], [ "udp", { "goto": { "target": "filter_in_udp" } } ] ] } } } ] } }, { "rule": { "family": "ip", "table": "x", "chain": "y", "handle": 0, "expr": [ { "log": null } ] } } ] }