44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
#!/usr/sbin/nft -f
|
|
|
|
flush ruleset
|
|
|
|
{% set sputnik_ip = (query('ldap', 'ip', 'sputnik', 'adm') | ipv4)[0] %}
|
|
table ip nat {
|
|
chain prerouting {
|
|
type nat hook prerouting priority 0; policy accept;
|
|
ip daddr {{ sputnik_ip }} dnat to 172.31.0.2
|
|
}
|
|
chain postrouting {
|
|
type nat hook postrouting priority 100; policy accept;
|
|
ip saddr 172.31.0.2 ip protocol icmp snat to {{ sputnik_ip }}
|
|
ip saddr 172.31.0.2 ip protocol tcp snat to {{ sputnik_ip }}
|
|
ip saddr 172.31.0.2 ip protocol udp snat to {{ sputnik_ip }}
|
|
}
|
|
}
|
|
|
|
{% set sputnik_ip6 = (query('ldap', 'ip', 'sputnik', 'adm') | ipv6)[0] %}
|
|
table ip6 nat {
|
|
chain prerouting {
|
|
type nat hook prerouting priority 0; policy accept;
|
|
ip6 daddr {{ sputnik_ip6 }} dnat to fd0c:700:0:8::2
|
|
}
|
|
chain postrouting {
|
|
type nat hook postrouting priority 100; policy accept;
|
|
ip6 saddr fd0c:700:0:8::2 ip6 nexthdr icmpv6 snat to {{ sputnik_ip6 }}
|
|
ip6 saddr fd0c:700:0:8::2 ip6 nexthdr tcp snat to {{ sputnik_ip6 }}
|
|
ip6 saddr fd0c:700:0:8::2 ip6 nexthdr udp snat to {{ sputnik_ip6 }}
|
|
}
|
|
}
|
|
|
|
table inet filter {
|
|
chain input {
|
|
type filter hook input priority 0;
|
|
}
|
|
chain forward {
|
|
type filter hook forward priority 0;
|
|
}
|
|
chain output {
|
|
type filter hook output priority 0;
|
|
}
|
|
}
|