Скрипт базовой настройки nftables для Linux-сервера

#!/bin/sh
# - Очищаем таблицы
sudo nft flush ruleset
# - Политики по умолчанию
sudo nft add table inet filter
sudo nft add chain inet filter input \{ type filter hook input priority 0 \; policy drop \; \}
sudo nft add chain inet filter output \{ type filter hook output priority 0 \; policy drop \; \}
sudo nft add chain inet filter forward \{ type filter hook forward priority 0 \; policy drop \; \}
# - Разрешить трафик по петлевому интерфейсу
sudo nft add rule inet filter input iif lo accept
sudo nft add rule inet filter output oif lo accept
# - Разрешим передавать пакеты, относящиеся к уже установленным соединениям
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter output ct state established,related accept
# - Разрешить входящий PING
sudo nft add rule inet filter input ip protocol icmp accept
sudo nft add rule inet filter input ip6 nexthdr icmpv6 accept
# - Доступ по SSH
sudo nft add rule inet filter input tcp dport 22 accept comment \"SSH\"
# - Разрешить доступ к WEB серверу
sudo nft add rule inet filter input tcp dport { 80, 443 } accept comment \"HTTP/HTTPS\"
# - Разрешить все исходящие
sudo nft add rule inet filter output accept comment \"Разрешаем весь исходящий трафик\"
# - Сохранить настройки
sudo nft list ruleset | cat