#!/bin/bash set -e RULESET="table ip test1 { chain y { oif lo accept ip saddr 4.4.4.4 dnat to 1.1.1.1 ip saddr 5.5.5.5 dnat to 2.2.2.2 } }" $NFT -o -f - <<< $RULESET RULESET="table ip test2 { chain y { oif lo accept tcp dport 80 dnat to 1.1.1.1:8001 tcp dport 81 dnat to 2.2.2.2:9001 ip saddr 10.141.11.0/24 masquerade ip saddr 10.141.13.0/24 masquerade } }" $NFT -o -f - <<< $RULESET RULESET="table ip test3 { chain y { oif lo accept ip saddr 1.1.1.1 tcp sport 1024-65535 snat to 3.3.3.3 ip saddr 2.2.2.2 tcp sport 1024-65535 snat to 4.4.4.4 oifname enp2s0 snat ip to ip saddr map { 10.1.1.0/24 : 72.2.3.66-72.2.3.78 } tcp dport 8888 redirect tcp dport 9999 redirect } }" $NFT -o -f - <<< $RULESET RULESET="table ip test4 { chain y { oif lo accept ip daddr 1.1.1.1 tcp dport 80 dnat to 4.4.4.4:8000 ip daddr 2.2.2.2 tcp dport 81 dnat to 3.3.3.3:9000 tcp dport 83 redirect to :8083 tcp dport 84 redirect to :8084 tcp dport 85 redirect } }" $NFT -o -f - <<< $RULESET RULESET="table inet nat { chain prerouting { oif lo accept iifname enp2s0 ip daddr 72.2.3.66 tcp dport 53122 dnat to 10.1.1.10:22 iifname enp2s0 ip daddr 72.2.3.66 tcp dport 443 dnat to 10.1.1.52:443 iifname enp2s0 ip daddr 72.2.3.70 tcp dport 80 dnat to 10.1.1.52:80 } chain postrouting { oif lo accept ip daddr 72.2.3.66 snat to 10.2.2.2 ip daddr 72.2.3.67 snat to 10.2.3.3 } }" $NFT -o -f - <<< $RULESET