{ "nftables": [ { "metainfo": { "version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1 } }, { "table": { "family": "inet", "name": "x", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_dnstc", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_this_5301", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_saturn_5301", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_saturn_5302", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_saturn_5303", "handle": 0 } }, { "chain": { "family": "inet", "table": "x", "name": "nat_dns_acme", "handle": 0 } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_dnstc", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "meta": { "key": "l4proto" } }, "right": "udp" } }, { "redirect": { "port": 5300 } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_dnstc", "handle": 0, "expr": [ { "drop": null } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_this_5301", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "meta": { "key": "l4proto" } }, "right": "udp" } }, { "redirect": { "port": 5301 } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_this_5301", "handle": 0, "expr": [ { "drop": null } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5301", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "meta": { "key": "nfproto" } }, "right": "ipv4" } }, { "match": { "op": "==", "left": { "meta": { "key": "l4proto" } }, "right": "udp" } }, { "dnat": { "family": "ip", "addr": "240.0.1.2", "port": 5301 } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5301", "handle": 0, "expr": [ { "drop": null } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5302", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "meta": { "key": "nfproto" } }, "right": "ipv4" } }, { "match": { "op": "==", "left": { "meta": { "key": "l4proto" } }, "right": "udp" } }, { "dnat": { "family": "ip", "addr": "240.0.1.2", "port": 5302 } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5302", "handle": 0, "expr": [ { "drop": null } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5303", "handle": 0, "expr": [ { "match": { "op": "==", "left": { "meta": { "key": "nfproto" } }, "right": "ipv4" } }, { "match": { "op": "==", "left": { "meta": { "key": "l4proto" } }, "right": "udp" } }, { "dnat": { "family": "ip", "addr": "240.0.1.2", "port": 5303 } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_saturn_5303", "handle": 0, "expr": [ { "drop": null } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_acme", "handle": 0, "expr": [ { "vmap": { "key": { "concat": [ { "payload": { "protocol": "udp", "field": "length" } }, { "payload": { "base": "th", "offset": 160, "len": 128 } } ] }, "data": { "set": [ [ { "concat": [ { "range": [ 47, 63 ] }, "0xe373135363130333131303735353203" ] }, { "goto": { "target": "nat_dns_dnstc" } } ], [ { "concat": [ { "range": [ 62, 78 ] }, "0xe31393032383939353831343037320e" ] }, { "goto": { "target": "nat_dns_this_5301" } } ], [ { "concat": [ { "range": [ 62, 78 ] }, "0xe31363436323733373931323934300e" ] }, { "goto": { "target": "nat_dns_saturn_5301" } } ], [ { "concat": [ { "range": [ 62, 78 ] }, "0xe32393535373539353636383732310e" ] }, { "goto": { "target": "nat_dns_saturn_5302" } } ], [ { "concat": [ { "range": [ 62, 78 ] }, "0xe38353439353637323038363633390e" ] }, { "goto": { "target": "nat_dns_saturn_5303" } } ] ] } } } ] } }, { "rule": { "family": "inet", "table": "x", "chain": "nat_dns_acme", "handle": 0, "expr": [ { "drop": null } ] } } ] }