ansible-role-captive-portal/templates/captive-portal-rules.nft.j2
2025-11-09 23:19:13 +01:00

25 lines
863 B
Django/Jinja

define captive_portal_interface = {{ captive_portal.interface }}
define captive_portal_http_redirect_port = {{ captive_portal.http_redirect_port }}
table inet captive_portal {
set allowed_macs {
type ether_addr;
timeout {{ captive_portal.timeout }};
}
chain forward {
type filter hook forward priority filter; policy accept;
iifname != $captive_portal_interface return
ether saddr @allowed_macs return
reject with icmpx type no-route
}
chain dstnat {
type nat hook prerouting priority dstnat; policy accept;
iifname != $captive_portal_interface return
ether saddr @allowed_macs return
tcp dport 80 redirect to :$captive_portal_http_redirect_port
}
}