27 lines
1.1 KiB
Django/Jinja
27 lines
1.1 KiB
Django/Jinja
#!/usr/sbin/nft -f
|
|
|
|
flush ruleset
|
|
|
|
table inet filter {
|
|
chain input {
|
|
type filter hook input priority 0;
|
|
|
|
# accept any localhost traffic
|
|
iif lo accept
|
|
|
|
# accept traffic originated from us
|
|
ct state established,related accept
|
|
|
|
# allow ICMP packets
|
|
# note that for IPv6 nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert are needed to not break connectivity
|
|
ip6 nexthdr icmpv6 icmpv6 type { echo-request, destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
|
|
ip protocol icmp icmp type { echo-request, destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
|
|
|
|
# activate the following line to accept common local services
|
|
tcp dport { 80, 443, {{ ssh_port }}, {{ gitlab_ssh_port }} } ct state new accept
|
|
|
|
# count and drop any other traffic
|
|
counter drop
|
|
}
|
|
}
|