works enough for now

This commit is contained in:
Benjamin Tayehanpour 2026-06-16 22:47:04 +02:00
commit c04a9a752a
12 changed files with 178 additions and 0 deletions

20
templates/vyos_nat.j2 Normal file
View file

@ -0,0 +1,20 @@
{% for r in rules %}
{% if r.kind == "dnat_wan" %}
set nat destination rule {{ r.id }} description "{{ r.service.name }}"
set nat destination rule {{ r.id }} destination port {{ r.service.public_port }}
set nat destination rule {{ r.id }} inbound-interface name {{ r.cfg.wan_interface }}
set nat destination rule {{ r.id }} protocol {{ r.service.protocol }}
set nat destination rule {{ r.id }} translation address {{ r.service.internal_ip }}
set nat destination rule {{ r.id }} translation port {{ r.service.internal_port }}
{% elif r.kind == "dnat_hairpin" %}
set nat destination rule {{ r.id }} description "{{ r.service.name }} hairpin"
set nat destination rule {{ r.id }} inbound-interface name {{ r.cfg.lan_interface }}
set nat destination rule {{ r.id }} destination address {{ r.cfg.public_ip }}
set nat destination rule {{ r.id }} destination port {{ r.service.public_port }}
set nat destination rule {{ r.id }} protocol {{ r.service.protocol }}
set nat destination rule {{ r.id }} translation address {{ r.service.internal_ip }}
set nat destination rule {{ r.id }} translation port {{ r.service.internal_port }}
{% endif %}
{% endfor %}