{ "nftables": [ { "metainfo": { "version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1 } }, { "table": { "family": "inet", "name": "t", "handle": 0 } }, { "chain": { "family": "inet", "table": "t", "name": "c", "handle": 0 } }, { "set": { "family": "inet", "name": "s1", "table": "t", "type": "ipv4_addr", "handle": 0, "flags": [ "interval" ], "elem": [ { "range": [ "10.0.0.0", "11.0.0.0" ] }, { "prefix": { "addr": "172.16.0.0", "len": 16 } } ] } }, { "set": { "family": "inet", "name": "s2", "table": "t", "type": "ipv6_addr", "handle": 0, "flags": [ "interval" ], "elem": [ { "prefix": { "addr": "fe00::", "len": 64 } }, { "range": [ "fe11::", "fe22::" ] } ] } }, { "set": { "family": "inet", "name": "s3", "table": "t", "type": "inet_proto", "handle": 0, "flags": [ "interval" ], "elem": [ { "range": [ 10, 20 ] }, { "range": [ 50, 60 ] } ] } }, { "set": { "family": "inet", "name": "s4", "table": "t", "type": "inet_service", "handle": 0, "flags": [ "interval" ], "elem": [ { "range": [ 0, 1024 ] }, { "range": [ 8080, 8082 ] }, { "range": [ 10000, 40000 ] } ] } }, { "rule": { "family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "ip", "field": "saddr" } }, "right": "@s1" } }, { "accept": null } ] } }, { "rule": { "family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "ip6", "field": "daddr" } }, "right": "@s2" } }, { "accept": null } ] } }, { "rule": { "family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "ip", "field": "protocol" } }, "right": "@s3" } }, { "accept": null } ] } }, { "rule": { "family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "ip6", "field": "nexthdr" } }, "right": "@s3" } }, { "accept": null } ] } }, { "rule": { "family": "inet", "table": "t", "chain": "c", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "payload": { "protocol": "tcp", "field": "dport" } }, "right": "@s4" } }, { "accept": null } ] } } ] }