Загрузка данных


#!/usr/sbin/nft -f
flush ruleset

table inet whitelist {
  chain output {
    type filter hook output priority 0; policy drop;

    # Локальный интерфейс
    oifname "lo" accept

    # Уже установленные соединения (после flush conntrack — только squid)
    ct state established,related accept

    # DNS
    udp dport 53 accept
    tcp dport 53 accept

    # SSH (для администрирования)
    tcp dport 22 accept

    # ICMP (диагностика)
    ip protocol icmp accept
    ip6 nexthdr icmpv6 accept

    # root и _apt — для обновлений системы
    meta skuid 0 tcp dport { 80, 443 } accept
    meta skuid "_apt" tcp dport { 80, 443 } accept

    # Squid — единственный, кому разрешён выход в 80/443
    meta skuid "proxy" tcp dport { 80, 443 } accept

    # NTP (на всякий случай)
    udp dport 123 accept
  }
}